Arexx CONQUERANTS : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
({{Bleu| Test complet}})
({{Bleu| Tests des défaillance}})
Ligne 144 : Ligne 144 :
  
 
==={{Bleu| Tests des défaillance}}===
 
==={{Bleu| Tests des défaillance}}===
 +
 +
Lors des différents tests, il est probable qu'on rencontre des problèmes avec les capteurs ou les leds témoins du robot Arexx.
 +
 +
Cette section détaille les différentes manipulations à effectuer dans ce cas.
 +
 +
En effet, pour les leds témoins frontales du robot ou les capteurs CNY-70 , si l'un d'entre eux se trouve en panne lors du test :
 +
 +
  - Vérifier que les deux pattes sont bien soudés et touchent bien la piste qui lui est associé(à voir sur le fichier board).
 +
 +
  - Contrôler la validité des pistes auxquelles sont reliés les leds à l'aide d'un multimètre, l'erreur peut être un court-circuit ou que la piste soit coupée.
 +
 +
  - Assurer vous du bon fonctionnement des composants reliés aux leds ou aux capteurs, que ce soit des résistances ou des transistors.
 +
 +
  - Examiner les trois connecteurs présents sur la carte, et tester la connexion des pattes avec les pistes qui leur correspondent.
 +
 +
  - Confirmer si le plan de masse n'empêche pas certaines connexions, surtout au niveau des connecteurs.
 +
 +
 +
Enfin, après avoir effectué toutes les manipulations précédentes, vous trouvez que votre capteur et/ou led ne fonctionne pas, cela peut signifier que le composant lui même est défaillant et qu'il faudra donc le remplacer.
  
 
==={{Bleu| Test complet}}===
 
==={{Bleu| Test complet}}===

Version du 18 juin 2015 à 10:34


Introduction

Présentation du projet

Le projet à réaliser consiste à faire une série de test sur une carte capteur, issue du projet Arexx qui est un robot suiveur de ligne, déjà fabriquée à l’inter semestre qui s'est déroulé en janvier 2015. Ces tests devront faire en sorte de valider le bon fonctionnement de la carte capteur, de chaque composant qui sont :

  • CNY70
  • LEDS

Pour réaliser ce projet, nous avons formé un groupe de 4 personnes :

  • ALZUBAIDI Baptiste
  • LAGOUTTE Mahmoud
  • LANDEVILLE Quentin
  • THOMAS Alexis

Planning

Diagramme de Gantt

Programmation

Tests des LEDS

void led(){  
Serial.println(" ");
Serial.println("Test des leds");  
Serial.println(" ");  
Serial.println("Appuyez sur 1 2 3 ou 4 pour tester la led de votre choix ou 5 pour retourner au menu");
Serial.println("Apre s appui, la led choisie devrait s'allumer pour 2s");  
Serial.println(" ");  
reception();  
switch (rec){  
case '1':    
  Serial.println("led gauche");
  digitalWrite(6,1);
  delay(2000);
  digitalWrite(6,0);
  break;
case '2':    
  Serial.println("led milieu gauche");
  digitalWrite(7,1);
  delay(2000);
  digitalWrite(7,0);
  break;
case '3':    
  Serial.println("led milieu droite");
  digitalWrite(5,1);
  delay(2000);
  digitalWrite(5,0);
  break;  
case '4':
  Serial.println("led droite");    
  digitalWrite(4,1);   
  delay(2000);         
  digitalWrite(4,0);  
  break;  
case '5':    
  accueil();  
default:  
  led();	   

}  
  led();

}

Tests des CNY70

void capteur(){
  Serial.println(" ");  
  Serial.println("Test des capteurs");  
  Serial.println(" ");  
  Serial.println("Appuyez sur 1 2 3 ou 4 pour tester le capteur de votre choix ou 5 pour retourner au     menu");
  Serial.println("Placez les capteurs contre une surface sombre");
  Serial.println(" ");
  reception();
  digitalWrite(0,1);
  digitalWrite(1,1);
  digitalWrite(2,1);
  digitalWrite(3,1);
  switch (rec){
  case '1':
	Serial.println("capteur gauche");
	Serial.println(" ");
	digitalWrite(1,1);
	val = analogRead(A1);
	if(val > 500)	
        {
  	Serial.println("Le capteur fonctionne");
  	}	
        else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;
  case '2':
	Serial.println("capteur milieu gauche");
	Serial.println(" ");
	val = analogRead(A0);
	if(val > 500)	
        {
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	} 
 	break;
  case '3':
	Serial.println("capteur milieu droit");
	Serial.println(" ");
	val = analogRead(A2);
	if(val > 500)	
        {
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;
  case '4':
	Serial.println("capteur droit");
	Serial.println(" ");
	val = analogRead(A3);
	if(val > 500)	
        {  	
        Serial.println("Le capteur fonctionne");
  	}	
        else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}  	
        break;
  case '5':
	accueil();
  default:
	capteur();
     }
  capteur();
}

Tests des défaillance

Lors des différents tests, il est probable qu'on rencontre des problèmes avec les capteurs ou les leds témoins du robot Arexx.

Cette section détaille les différentes manipulations à effectuer dans ce cas.

En effet, pour les leds témoins frontales du robot ou les capteurs CNY-70 , si l'un d'entre eux se trouve en panne lors du test :

  - Vérifier que les deux pattes sont bien soudés et touchent bien la piste qui lui est associé(à voir sur le fichier board).
  - Contrôler la validité des pistes auxquelles sont reliés les leds à l'aide d'un multimètre, l'erreur peut être un court-circuit ou que la piste soit coupée.
  - Assurer vous du bon fonctionnement des composants reliés aux leds ou aux capteurs, que ce soit des résistances ou des transistors.
  - Examiner les trois connecteurs présents sur la carte, et tester la connexion des pattes avec les pistes qui leur correspondent.
  - Confirmer si le plan de masse n'empêche pas certaines connexions, surtout au niveau des connecteurs.


Enfin, après avoir effectué toutes les manipulations précédentes, vous trouvez que votre capteur et/ou led ne fonctionne pas, cela peut signifier que le composant lui même est défaillant et qu'il faudra donc le remplacer.

Test complet

int rec;
int val;

void setup() {
  for(int i=0;i<7;i++){
	pinMode(i,OUTPUT);
  }
  DDRC = 0x00;
  Serial.begin(9600);
	accueil();
}

void reception(){
  while(Serial.available() == 0);
  if (Serial.available() > 0){
	rec = Serial.read();
  }
}

void accueil(){
  boolean flagaccueil = true;
  Serial.println(" ");
  Serial.println("Tests de la carte capteur");
  Serial.println(" ");
  Serial.println("Appuyez sur 0 pour les tests des leds");
  Serial.println("Appuyez sur 1 pour les test des capteurs");
  Serial.println(" ");
  reception();
  if((rec == '0')&&(flagaccueil == true)){
	led();
	flagaccueil = false;
  }
  if((rec == '1')&&(flagaccueil == true)){
	capteur();
	flagaccueil = false;
  }
  else {

	accueil();
  }  
}

void led(){
  Serial.println(" ");
  Serial.println("Test des leds");
  Serial.println(" ");
	Serial.println("Appuyez sur 1 2 3 ou 4 pour tester la led de votre choix ou 5 pour retourner au menu");
  	Serial.println("Apre s appui, la led choisie devrait s'allumer pour 2s");
  	Serial.println(" ");
    	reception();
    	switch (rec){
    	case '1':
      	Serial.println("led gauche");
      	digitalWrite(6,1);
      	delay(2000);
      	digitalWrite(6,0);
      	break;
    	case '2':
      	Serial.println("led milieu gauche");
      	digitalWrite(7,1);
      	delay(2000);
      	digitalWrite(7,0);
      	break;
    	case '3':
      	Serial.println("led milieu droite");
      	digitalWrite(5,1);
      	delay(2000);
      	digitalWrite(5,0);
      	break;
    	case '4':
      	Serial.println("led droite");
      	digitalWrite(4,1);
      	delay(2000);
      	digitalWrite(4,0);
      	break;
    	case '5':
      	accueil();
    	default:
      	led();	 
    	}
    	led();

}

void capteur(){
  Serial.println(" ");
  Serial.println("Test des capteurs");
  Serial.println(" ");
  Serial.println("Appuyez sur 1 2 3 ou 4 pour tester le capteur de votre choix ou 5 pour retourner au menu");
  Serial.println("Placez les capteurs contre une surface sombre");
  Serial.println(" ");
  reception();
  digitalWrite(0,1);
  digitalWrite(1,1);
  digitalWrite(2,1);
  digitalWrite(3,1);
  switch (rec){
  case '1':
	Serial.println("capteur gauche");
	Serial.println(" ");
	digitalWrite(1,1);
	val = analogRead(A1);
	if(val > 500)
	{
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;

  case '2':
	Serial.println("capteur milieu gauche");
	Serial.println(" ");
	val = analogRead(A0);
	if(val > 500)
	{
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;

  case '3':
	Serial.println("capteur milieu droit");
	Serial.println(" ");
	val = analogRead(A2);
	if(val > 500)
	{
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;

  case '4':
	Serial.println("capteur droit");
	Serial.println(" ");
	val = analogRead(A3);
	if(val > 500)
	{
  	Serial.println("Le capteur fonctionne");
  	}
	else {
  	Serial.println("Le capteur a un dysfonctionnement");
  	}
  	break;

  case '5':
	accueil();
  default:
	capteur();   
  }
  capteur();
}

void loop()
{
}