Arexx CONQUERANTS : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
({{Bleu| Tests des CNY70}})
({{Bleu| Test complet}})
Ligne 146 : Ligne 146 :
  
 
==={{Bleu| Test complet}}===
 
==={{Bleu| Test complet}}===
 +
<source lang=c>
 +
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()
 +
{
 +
}
 +
 +
</source>

Version du 18 juin 2015 à 10:13


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

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()
{
}