Arexx CONQUERANTS
Révision datée du 18 juin 2015 à 09:13 par Troyesgeii (discussion | contributions) (→{{Bleu| Test complet}})
Sommaire
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()
{
}