Arexx SIMONIN : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
+ | |||
[[Catégorie:Projets Tutorés S2]] | [[Catégorie:Projets Tutorés S2]] | ||
− | + | ||
+ | = Projets tutorés = | ||
+ | === Présentation === | ||
+ | === Diagramme de Gantt === | ||
+ | === Tests des leds === | ||
+ | <source lang=c> | ||
+ | ///////////////////////////////////////////////////Sous programme permettant de tester les leds///////////////////////////////////////////////////////////////// | ||
+ | void testled () { | ||
+ | |||
+ | // on determine les variables locales nécessaire a la sous fonction | ||
+ | int gauche = '0'; int droit = '0'; int milieugauche = '0'; int milieudroit = '0'; int i = 0; | ||
+ | |||
+ | // On fait clignoter les leds (si elles fonctionnent) | ||
+ | |||
+ | for (i = 0; i < 5; i++) | ||
+ | digitalWrite(0, 1); | ||
+ | digitalWrite(1, 1); | ||
+ | digitalWrite(2, 1); | ||
+ | digitalWrite(3, 1); | ||
+ | delay(500); | ||
+ | digitalWrite(0, 0); | ||
+ | digitalWrite(1, 0); | ||
+ | digitalWrite(2, 0); | ||
+ | digitalWrite(3, 0); | ||
+ | delay(500); | ||
+ | } | ||
+ | |||
+ | //On demande si la led gauche clignote | ||
+ | |||
+ | Serial.println("La led gauche clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | gauche = Serial.read(); | ||
+ | } | ||
+ | } while (gauche == '0'); | ||
+ | |||
+ | //On demande si la led du milieu gauche clignote | ||
+ | |||
+ | Serial.println("La led du milieu gauche clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | milieugauche = Serial.read(); | ||
+ | } | ||
+ | } while (milieugauche == '0'); | ||
+ | |||
+ | //On demande si la led du milieu droit clignote | ||
+ | |||
+ | Serial.println("La led du milieu droit clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | milieudroit = Serial.read(); | ||
+ | } | ||
+ | } while (milieudroit == '0'); | ||
+ | |||
+ | //On demande si la led droite clignote | ||
+ | |||
+ | Serial.println("La led droite clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | droit = Serial.read(); | ||
+ | } | ||
+ | } while (droit == '0'); | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (gauche == '2') { | ||
+ | Serial.println("Pour depanner la led gauche, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R1 et R5 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T2 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("La led Gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (milieugauche == '2') { | ||
+ | Serial.println("Pour depanner la led milieu gauche, veuillez:"); | ||
+ | Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T4 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
+ | } else { | ||
+ | Serial.println("La led milieu Gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (milieudroit == '2') { | ||
+ | Serial.println("Pour depanner la led milieu droite, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T6 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
+ | } else { | ||
+ | Seial.println("La led milieu droit fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (droit == '2') { | ||
+ | Serial.println("Pour depanner la led droite, veuillez:"); | ||
+ | Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T5 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("La led droite fonctionne normalement"); | ||
+ | } | ||
+ | delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu | ||
+ | } | ||
+ | </source> | ||
+ | === Tests des récepteurs des capteurs === | ||
+ | <source lang=c> | ||
+ | ////////////////////////Sous programme permettant de tester la valeur que fournit le capteur///////////////////////////////////////// | ||
+ | |||
+ | void testrecepteur () { | ||
+ | |||
+ | // on definie les variables locales | ||
+ | int cotegauche1 , cotegauche2 , cotedroit1 , cotedroit2, cotemilieudroit1, cotemilieudroit2, cotemilieugauche1, cotemilieugauche2; | ||
+ | |||
+ | // On donne les consignes | ||
+ | |||
+ | Serial.println(" Vous allez tester que les recepteurs des capteurs fonctionnent"); | ||
+ | delay(3000); | ||
+ | Serial.println("Pour cela, veuillez POSER la la carte avec les capteurs en direction du support le plus proche possible"); | ||
+ | delay(3000); | ||
+ | |||
+ | // test du cote gauche | ||
+ | |||
+ | digitalWrite(4, HIGH); | ||
+ | cotegauche1 = analogRead(A3); | ||
+ | delay(100); | ||
+ | cotegauche2 = analogRead(A3); | ||
+ | if (cotegauche1 == cotegauche2) { | ||
+ | Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R3 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur du cote gauche fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du cote droit | ||
+ | |||
+ | digitalWrite(6, HIGH); | ||
+ | cotedroit1 = analogRead(A1); | ||
+ | delay(100); | ||
+ | cotedroit2 = analogRead(A1); | ||
+ | if (cotedroit1 == cotedroit2) { | ||
+ | Serial.println("le recepteur du cote droit ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R11 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("le recepteur du cote droit fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du milieu gauche | ||
+ | |||
+ | digitalWrite(5, HIGH); | ||
+ | cotemilieugauche1 = analogRead(A4); | ||
+ | delay(100); | ||
+ | cotemilieugauche2 = analogRead(A4); | ||
+ | if (cotemilieugauche1 == cotemilieugauche2) { | ||
+ | Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R8 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur milieu gauche fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du milieu droit | ||
+ | |||
+ | digitalWrite(7, HIGH); | ||
+ | cotemilieudroit1 = analogRead(A2); | ||
+ | delay(100); | ||
+ | cotemilieudroit2 = analogRead(A2); | ||
+ | if (cotemilieudroit1 == cotemilieudroit2) { | ||
+ | Serial.println("Le recepteur milieu droit ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R12 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur milieu droit fonctionne"); | ||
+ | } | ||
+ | delay(10000); // On laisse 10 seconde a l'utilisateur avant de retourner au menu | ||
+ | } | ||
+ | </source> | ||
+ | === Fonction menu === | ||
+ | <source lang=c> | ||
+ | //////////////////////////////////////////////sous programme s'occupant du menu//////////////////////////////////////////////////////////// | ||
+ | |||
+ | void menu () { | ||
+ | |||
+ | // on definit les variables locales | ||
+ | int choix = 0; | ||
+ | |||
+ | Serial.println("Bonjour,vous allez effectuer un programme permettant de tester une carte capteur."); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("Avant de lancer une procedure de test, veuillez vous assurer de:"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("-bien connecter la carte capteur a la carte d'adaptation"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("-puis connecter la carte d adaptation a la carte arduino"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println(""); | ||
+ | |||
+ | Serial.println("Veuillez choisir le test que vous voulez effectuer:"); | ||
+ | delay(1000); | ||
+ | |||
+ | Serial.println("-Le test des Leds : appuyez sur 1"); | ||
+ | Serial.println("-Le test des emetteurs des capteurs : appuyez sur 2"); | ||
+ | Serial.println("-Le test des resecpteurs des capteurs : appuyez sur 3"); | ||
+ | delay(3000); | ||
+ | |||
+ | // on attend de lire une valeur | ||
+ | |||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | choix = Serial.read(); | ||
+ | } | ||
+ | } while (choix == '0'); | ||
+ | choixtest = choix; | ||
+ | } | ||
+ | </source> | ||
+ | === Organisation du programme === | ||
+ | <source lang=c> | ||
+ | // on définie les variables globales | ||
+ | int choixtest; // variable globale utilisé à l fois dans le void setup et dans le void menu | ||
+ | |||
+ | void setup() { | ||
+ | |||
+ | // on définie les sorties | ||
+ | pinMode(0, OUTPUT); // Led milieu droit | ||
+ | pinMode(1, OUTPUT); // Led milieu gauche | ||
+ | pinMode(2, OUTPUT); // Led cote gauche | ||
+ | pinMode(3, OUTPUT); // Led cote droit | ||
+ | |||
+ | pinMode(4, OUTPUT); // emetteur IR cote gauche | ||
+ | pinMode(5, OUTPUT); // emetteur IR milieu gauche | ||
+ | pinMode(6, OUTPUT); // emetteur IR cote droit | ||
+ | pinMode(7, OUTPUT); // emetteur IR milieu droit | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | |||
+ | void loop() { | ||
+ | menu (); // On effectue dans tous les cas la fonction menu pour savoir ce que veut tester l'utilisateur | ||
+ | switch (choixtest) { // Ensuite la variable choixtest contient la réponse de l’utilisateur | ||
+ | case 1: testled (); // On va donc exécuter le programme de test correspondant. | ||
+ | break; | ||
+ | case 2: testemetteur (); | ||
+ | break; | ||
+ | case 3: testrecepteur (); | ||
+ | break; | ||
+ | } // Une fois le programme choisit effectuer, le programme reviendra automatiquement au menu | ||
+ | } | ||
+ | </source> | ||
+ | === Programme final === | ||
+ | <source lang=c> | ||
+ | // on définie les variables globales | ||
+ | int choixtest; // variable globale utilisé à l fois dans le void setup et dans le void menu | ||
+ | |||
+ | void setup() { | ||
+ | |||
+ | // on définie les sorties | ||
+ | pinMode(0, OUTPUT); // Led milieu droit | ||
+ | pinMode(1, OUTPUT); // Led milieu gauche | ||
+ | pinMode(2, OUTPUT); // Led cote gauche | ||
+ | pinMode(3, OUTPUT); // Led cote droit | ||
+ | |||
+ | pinMode(4, OUTPUT); // emetteur IR cote gauche | ||
+ | pinMode(5, OUTPUT); // emetteur IR milieu gauche | ||
+ | pinMode(6, OUTPUT); // emetteur IR cote droit | ||
+ | pinMode(7, OUTPUT); // emetteur IR milieu droit | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | |||
+ | void loop() { | ||
+ | menu (); // On effectue dans tous les cas la fonction menu pour savoir ce que veut tester l'utilisateur | ||
+ | switch (choixtest) { // Ensuite la variable choixtest contient la réponse de l’utilisateur | ||
+ | case 1: testled (); // On va donc exécuter le programme de test correspondant. | ||
+ | break; | ||
+ | case 2: testemetteur (); | ||
+ | break; | ||
+ | case 3: testrecepteur (); | ||
+ | break; | ||
+ | } // Une fois le programme choisit effectuer, le programme reviendra automatiquement au menu | ||
+ | } | ||
+ | |||
+ | //////////////////////////////////////////////sous programme s'occupant du menu//////////////////////////////////////////////////////////// | ||
+ | |||
+ | void menu () { | ||
+ | |||
+ | // on definit les variables locales | ||
+ | int choix = 0; | ||
+ | |||
+ | Serial.println("Bonjour,vous allez effectuer un programme permettant de tester une carte capteur."); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("Avant de lancer une procedure de test, veuillez vous assurer de:"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("-bien connecter la carte capteur a la carte d'adaptation"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println("-puis connecter la carte d adaptation a la carte arduino"); | ||
+ | delay(3000); | ||
+ | |||
+ | Serial.println(""); | ||
+ | |||
+ | Serial.println("Veuillez choisir le test que vous voulez effectuer:"); | ||
+ | delay(1000); | ||
+ | |||
+ | Serial.println("-Le test des Leds : appuyez sur 1"); | ||
+ | Serial.println("-Le test des emetteurs des capteurs : appuyez sur 2"); | ||
+ | Serial.println("-Le test des resecpteurs des capteurs : appuyez sur 3"); | ||
+ | delay(3000); | ||
+ | |||
+ | // on attend de lire une valeur | ||
+ | |||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | choix = Serial.read(); | ||
+ | } | ||
+ | } while (choix == '0'); | ||
+ | choixtest = choix; | ||
+ | } | ||
+ | |||
+ | ///////////////////////////////////////////////////Sous programme permettant de tester les leds///////////////////////////////////////////////////////////////// | ||
+ | void testled () { | ||
+ | |||
+ | // on determine les variables locales nécessaire a la sous fonction | ||
+ | int gauche = '0'; int droit = '0'; int milieugauche = '0'; int milieudroit = '0'; int i = 0; | ||
+ | |||
+ | // On fait clignoter les leds (si elles fonctionnent) | ||
+ | |||
+ | for (i = 0; i < 5; i++) | ||
+ | digitalWrite(0, 1); | ||
+ | digitalWrite(1, 1); | ||
+ | digitalWrite(2, 1); | ||
+ | digitalWrite(3, 1); | ||
+ | delay(500); | ||
+ | digitalWrite(0, 0); | ||
+ | digitalWrite(1, 0); | ||
+ | digitalWrite(2, 0); | ||
+ | digitalWrite(3, 0); | ||
+ | delay(500); | ||
+ | } | ||
+ | |||
+ | //On demande si la led gauche clignote | ||
+ | |||
+ | Serial.println("La led gauche clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | gauche = Serial.read(); | ||
+ | } | ||
+ | } while (gauche == '0'); | ||
+ | |||
+ | //On demande si la led du milieu gauche clignote | ||
+ | |||
+ | Serial.println("La led du milieu gauche clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | milieugauche = Serial.read(); | ||
+ | } | ||
+ | } while (milieugauche == '0'); | ||
+ | |||
+ | //On demande si la led du milieu droit clignote | ||
+ | |||
+ | Serial.println("La led du milieu droit clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | milieudroit = Serial.read(); | ||
+ | } | ||
+ | } while (milieudroit == '0'); | ||
+ | |||
+ | //On demande si la led droite clignote | ||
+ | |||
+ | Serial.println("La led droite clignote t-elle ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | droit = Serial.read(); | ||
+ | } | ||
+ | } while (droit == '0'); | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (gauche == '2') { | ||
+ | Serial.println("Pour depanner la led gauche, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R1 et R5 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T2 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("La led Gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (milieugauche == '2') { | ||
+ | Serial.println("Pour depanner la led milieu gauche, veuillez:"); | ||
+ | Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T4 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
+ | } else { | ||
+ | Serial.println("La led milieu Gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (milieudroit == '2') { | ||
+ | Serial.println("Pour depanner la led milieu droite, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T6 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
+ | } else { | ||
+ | Seial.println("La led milieu droit fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | //On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (droit == '2') { | ||
+ | Serial.println("Pour depanner la led droite, veuillez:"); | ||
+ | Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T5 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("La led droite fonctionne normalement"); | ||
+ | } | ||
+ | delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu | ||
+ | } | ||
+ | |||
+ | //////////////////////////////////////Sous programme permettant de tester les emmeteurs des capteurs://////////////////////////////////////////////////////// | ||
+ | |||
+ | void testemetteur () { | ||
+ | |||
+ | // on determine les variables locales nécessaire a la sous fonction | ||
+ | int emetgauche = '0'; int emetdroit = '0'; int emetmilieugauche = '0'; int emetmilieudroit = '0'; int i = 0; | ||
+ | |||
+ | // On donne les instructions | ||
+ | |||
+ | Serial.println("Vous allez tester le fonctionnement des emetteurs des capteurs: "); | ||
+ | delay(3000); | ||
+ | Serial.println("Pour cela, veuillez vous munir d'un telephone portable disposant d'un appareil photo "); | ||
+ | delay(3000); | ||
+ | Serial.println("car ils detectent les emissions Infra Rouge des emetteurs "); | ||
+ | delay(3000); | ||
+ | Serial.println("Diriger l'appareil vers les capteurs, le clignotement va commencer dans 5sec: "); | ||
+ | delay(5000); | ||
+ | |||
+ | // On fait clignoter les emetteurs IR (si elles fonctionnent) | ||
+ | for (i = 0; i < 5; i++) { | ||
+ | digitalWrite(4, 1); | ||
+ | digitalWrite(5, 1); | ||
+ | digitalWrite(6, 1); | ||
+ | digitalWrite(7, 1); | ||
+ | delay(500); | ||
+ | digitalWrite(4, 0); | ||
+ | digitalWrite(5, 0); | ||
+ | digitalWrite(6, 0); | ||
+ | digitalWrite(7, 0); | ||
+ | delay(500); | ||
+ | } | ||
+ | |||
+ | //On demande si l emetteur du capteur gauche clignote | ||
+ | |||
+ | Serial.println("L emetteur gauche clignote t-il ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | emetgauche = Serial.read(); | ||
+ | } | ||
+ | } while (emetgauche == '0'); | ||
+ | |||
+ | //On demande si l emetteur du capteur milieu gauche clignote | ||
+ | |||
+ | Serial.println("L emetteur milieu gauche clignote t-il? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | emetmilieugauche = Serial.read(); | ||
+ | } | ||
+ | } while (emetmilieugauche == '0'); | ||
+ | |||
+ | //On demande si l emetteur du capteur milieu droit clignote | ||
+ | |||
+ | Serial.println("L emetteur milieu droit clignote t-il ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | emetmilieudroit = Serial.read(); | ||
+ | } | ||
+ | } while (emetmilieudroit == '0'); | ||
+ | |||
+ | //On demande si l emetteur du capteur droit clignote | ||
+ | |||
+ | Serial.println("L emetteur droit clignote t-il ? "); | ||
+ | Serial.println("tapez 1 pour oui et 2 pour non "); | ||
+ | do { | ||
+ | if (Serial.available() > 0) { | ||
+ | emetdroit = Serial.read(); | ||
+ | } | ||
+ | } while (emetdroit == '0'); | ||
+ | |||
+ | //On fait un test pour savoir quelle emetteur ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme | ||
+ | |||
+ | if (emetgauche == '2') { | ||
+ | Serial.println("Pour depanner l emetteur gauche, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R2 et R4 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T1 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
+ | } else { | ||
+ | Serial.println("L emetteur gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | if (emetmilieugauche == '2') { | ||
+ | Serial.println("Pour depanner l emetteur milieu gauche, veuillez:"); | ||
+ | Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T4 ne soit pas endommagé."); | ||
+ | Serial.println( "Verifier que l emetteur n'est pas endommage"); | ||
+ | } else { | ||
+ | Serial.println("L emetteur milieu Gauche fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | if (emetmilieudroit == '2') { | ||
+ | Serial.println("Pour depanner l emetteur milieu droite, veuillez:"); | ||
+ | Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T6 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
+ | } else { | ||
+ | Serial.println("L emetteur milieu droit fonctionne normalement"); | ||
+ | } | ||
+ | |||
+ | if (emetdroit == '2') { | ||
+ | Serial.println("Pour depanner l'emetteur droit, veuillez:"); | ||
+ | Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner ."); | ||
+ | Serial.println( "Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println( "Verifier que le transistor T5 ne soit pas endommage."); | ||
+ | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
+ | } else { | ||
+ | Serial.println("L emetteur droit fonctionne normalement"); | ||
+ | } | ||
+ | delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu | ||
+ | } | ||
+ | |||
+ | ////////////////////////Sous programme permettant de tester la valeur que fournit le capteur///////////////////////////////////////// | ||
+ | |||
+ | void testrecepteur () { | ||
+ | |||
+ | // on definie les variables locales | ||
+ | int cotegauche1 , cotegauche2 , cotedroit1 , cotedroit2, cotemilieudroit1, cotemilieudroit2, cotemilieugauche1, cotemilieugauche2; | ||
+ | |||
+ | // On donne les consignes | ||
+ | |||
+ | Serial.println(" Vous allez tester que les recepteurs des capteurs fonctionnent"); | ||
+ | delay(3000); | ||
+ | Serial.println("Pour cela, veuillez POSER la la carte avec les capteurs en direction du support le plus proche possible"); | ||
+ | delay(3000); | ||
+ | |||
+ | // test du cote gauche | ||
+ | |||
+ | digitalWrite(4, HIGH); | ||
+ | cotegauche1 = analogRead(A3); | ||
+ | delay(100); | ||
+ | cotegauche2 = analogRead(A3); | ||
+ | if (cotegauche1 == cotegauche2) { | ||
+ | Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R3 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur du cote gauche fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du cote droit | ||
+ | |||
+ | digitalWrite(6, HIGH); | ||
+ | cotedroit1 = analogRead(A1); | ||
+ | delay(100); | ||
+ | cotedroit2 = analogRead(A1); | ||
+ | if (cotedroit1 == cotedroit2) { | ||
+ | Serial.println("le recepteur du cote droit ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R11 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("le recepteur du cote droit fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du milieu gauche | ||
+ | |||
+ | digitalWrite(5, HIGH); | ||
+ | cotemilieugauche1 = analogRead(A4); | ||
+ | delay(100); | ||
+ | cotemilieugauche2 = analogRead(A4); | ||
+ | if (cotemilieugauche1 == cotemilieugauche2) { | ||
+ | Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R8 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur milieu gauche fonctionne"); | ||
+ | } | ||
+ | delay(2000); | ||
+ | |||
+ | // test du milieu droit | ||
+ | |||
+ | digitalWrite(7, HIGH); | ||
+ | cotemilieudroit1 = analogRead(A2); | ||
+ | delay(100); | ||
+ | cotemilieudroit2 = analogRead(A2); | ||
+ | if (cotemilieudroit1 == cotemilieudroit2) { | ||
+ | Serial.println("Le recepteur milieu droit ne fonctionne pas"); | ||
+ | Serial.println("verifier que la resistance R12 soit bien dimensionner."); | ||
+ | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
+ | Serial.println("Verifier qu'il n'y est pas de court circuit."); | ||
+ | Serial.println("Verifier que le capteur fonctionne."); | ||
+ | } else { | ||
+ | Serial.println("Le recepteur milieu droit fonctionne"); | ||
+ | } | ||
+ | delay(10000); // On laisse 10 seconde a l'utilisateur avant de retourner au menu | ||
+ | } | ||
+ | </source> |
Version du 17 juin 2015 à 09:41
Sommaire
Projets tutorés
Présentation
Diagramme de Gantt
Tests des leds
///////////////////////////////////////////////////Sous programme permettant de tester les leds/////////////////////////////////////////////////////////////////
void testled () {
// on determine les variables locales nécessaire a la sous fonction
int gauche = '0'; int droit = '0'; int milieugauche = '0'; int milieudroit = '0'; int i = 0;
// On fait clignoter les leds (si elles fonctionnent)
for (i = 0; i < 5; i++)
digitalWrite(0, 1);
digitalWrite(1, 1);
digitalWrite(2, 1);
digitalWrite(3, 1);
delay(500);
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0);
delay(500);
}
//On demande si la led gauche clignote
Serial.println("La led gauche clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
gauche = Serial.read();
}
} while (gauche == '0');
//On demande si la led du milieu gauche clignote
Serial.println("La led du milieu gauche clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
milieugauche = Serial.read();
}
} while (milieugauche == '0');
//On demande si la led du milieu droit clignote
Serial.println("La led du milieu droit clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
milieudroit = Serial.read();
}
} while (milieudroit == '0');
//On demande si la led droite clignote
Serial.println("La led droite clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
droit = Serial.read();
}
} while (droit == '0');
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (gauche == '2') {
Serial.println("Pour depanner la led gauche, veuillez:");
Serial.println("verifier que la resistance R1 et R5 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T2 ne soit pas endommagé.");
Serial.println( "Verifier que le capteur fonctionne.");
} else {
Serial.println("La led Gauche fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (milieugauche == '2') {
Serial.println("Pour depanner la led milieu gauche, veuillez:");
Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T4 ne soit pas endommagé.");
Serial.println( "Verifier que le capteur fonctionne.)");
} else {
Serial.println("La led milieu Gauche fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (milieudroit == '2') {
Serial.println("Pour depanner la led milieu droite, veuillez:");
Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T6 ne soit pas endommage.");
Serial.println( "Verifier que le capteur fonctionne.)");
} else {
Seial.println("La led milieu droit fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (droit == '2') {
Serial.println("Pour depanner la led droite, veuillez:");
Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T5 ne soit pas endommage.");
Serial.println( "Verifier que le capteur fonctionne.");
} else {
Serial.println("La led droite fonctionne normalement");
}
delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu
}
Tests des récepteurs des capteurs
////////////////////////Sous programme permettant de tester la valeur que fournit le capteur/////////////////////////////////////////
void testrecepteur () {
// on definie les variables locales
int cotegauche1 , cotegauche2 , cotedroit1 , cotedroit2, cotemilieudroit1, cotemilieudroit2, cotemilieugauche1, cotemilieugauche2;
// On donne les consignes
Serial.println(" Vous allez tester que les recepteurs des capteurs fonctionnent");
delay(3000);
Serial.println("Pour cela, veuillez POSER la la carte avec les capteurs en direction du support le plus proche possible");
delay(3000);
// test du cote gauche
digitalWrite(4, HIGH);
cotegauche1 = analogRead(A3);
delay(100);
cotegauche2 = analogRead(A3);
if (cotegauche1 == cotegauche2) {
Serial.println("Le recepteur du cote gauche ne fonctionne pas");
Serial.println("verifier que la resistance R3 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur du cote gauche fonctionne");
}
delay(2000);
// test du cote droit
digitalWrite(6, HIGH);
cotedroit1 = analogRead(A1);
delay(100);
cotedroit2 = analogRead(A1);
if (cotedroit1 == cotedroit2) {
Serial.println("le recepteur du cote droit ne fonctionne pas");
Serial.println("verifier que la resistance R11 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("le recepteur du cote droit fonctionne");
}
delay(2000);
// test du milieu gauche
digitalWrite(5, HIGH);
cotemilieugauche1 = analogRead(A4);
delay(100);
cotemilieugauche2 = analogRead(A4);
if (cotemilieugauche1 == cotemilieugauche2) {
Serial.println("Le recepteur milieu gauche ne fonctionne pas");
Serial.println("verifier que la resistance R8 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur milieu gauche fonctionne");
}
delay(2000);
// test du milieu droit
digitalWrite(7, HIGH);
cotemilieudroit1 = analogRead(A2);
delay(100);
cotemilieudroit2 = analogRead(A2);
if (cotemilieudroit1 == cotemilieudroit2) {
Serial.println("Le recepteur milieu droit ne fonctionne pas");
Serial.println("verifier que la resistance R12 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur milieu droit fonctionne");
}
delay(10000); // On laisse 10 seconde a l'utilisateur avant de retourner au menu
}
//////////////////////////////////////////////sous programme s'occupant du menu////////////////////////////////////////////////////////////
void menu () {
// on definit les variables locales
int choix = 0;
Serial.println("Bonjour,vous allez effectuer un programme permettant de tester une carte capteur.");
delay(3000);
Serial.println("Avant de lancer une procedure de test, veuillez vous assurer de:");
delay(3000);
Serial.println("-bien connecter la carte capteur a la carte d'adaptation");
delay(3000);
Serial.println("-puis connecter la carte d adaptation a la carte arduino");
delay(3000);
Serial.println("");
Serial.println("Veuillez choisir le test que vous voulez effectuer:");
delay(1000);
Serial.println("-Le test des Leds : appuyez sur 1");
Serial.println("-Le test des emetteurs des capteurs : appuyez sur 2");
Serial.println("-Le test des resecpteurs des capteurs : appuyez sur 3");
delay(3000);
// on attend de lire une valeur
do {
if (Serial.available() > 0) {
choix = Serial.read();
}
} while (choix == '0');
choixtest = choix;
}
Organisation du programme
// on définie les variables globales
int choixtest; // variable globale utilisé à l fois dans le void setup et dans le void menu
void setup() {
// on définie les sorties
pinMode(0, OUTPUT); // Led milieu droit
pinMode(1, OUTPUT); // Led milieu gauche
pinMode(2, OUTPUT); // Led cote gauche
pinMode(3, OUTPUT); // Led cote droit
pinMode(4, OUTPUT); // emetteur IR cote gauche
pinMode(5, OUTPUT); // emetteur IR milieu gauche
pinMode(6, OUTPUT); // emetteur IR cote droit
pinMode(7, OUTPUT); // emetteur IR milieu droit
Serial.begin(9600);
}
void loop() {
menu (); // On effectue dans tous les cas la fonction menu pour savoir ce que veut tester l'utilisateur
switch (choixtest) { // Ensuite la variable choixtest contient la réponse de l’utilisateur
case 1: testled (); // On va donc exécuter le programme de test correspondant.
break;
case 2: testemetteur ();
break;
case 3: testrecepteur ();
break;
} // Une fois le programme choisit effectuer, le programme reviendra automatiquement au menu
}
Programme final
// on définie les variables globales
int choixtest; // variable globale utilisé à l fois dans le void setup et dans le void menu
void setup() {
// on définie les sorties
pinMode(0, OUTPUT); // Led milieu droit
pinMode(1, OUTPUT); // Led milieu gauche
pinMode(2, OUTPUT); // Led cote gauche
pinMode(3, OUTPUT); // Led cote droit
pinMode(4, OUTPUT); // emetteur IR cote gauche
pinMode(5, OUTPUT); // emetteur IR milieu gauche
pinMode(6, OUTPUT); // emetteur IR cote droit
pinMode(7, OUTPUT); // emetteur IR milieu droit
Serial.begin(9600);
}
void loop() {
menu (); // On effectue dans tous les cas la fonction menu pour savoir ce que veut tester l'utilisateur
switch (choixtest) { // Ensuite la variable choixtest contient la réponse de l’utilisateur
case 1: testled (); // On va donc exécuter le programme de test correspondant.
break;
case 2: testemetteur ();
break;
case 3: testrecepteur ();
break;
} // Une fois le programme choisit effectuer, le programme reviendra automatiquement au menu
}
//////////////////////////////////////////////sous programme s'occupant du menu////////////////////////////////////////////////////////////
void menu () {
// on definit les variables locales
int choix = 0;
Serial.println("Bonjour,vous allez effectuer un programme permettant de tester une carte capteur.");
delay(3000);
Serial.println("Avant de lancer une procedure de test, veuillez vous assurer de:");
delay(3000);
Serial.println("-bien connecter la carte capteur a la carte d'adaptation");
delay(3000);
Serial.println("-puis connecter la carte d adaptation a la carte arduino");
delay(3000);
Serial.println("");
Serial.println("Veuillez choisir le test que vous voulez effectuer:");
delay(1000);
Serial.println("-Le test des Leds : appuyez sur 1");
Serial.println("-Le test des emetteurs des capteurs : appuyez sur 2");
Serial.println("-Le test des resecpteurs des capteurs : appuyez sur 3");
delay(3000);
// on attend de lire une valeur
do {
if (Serial.available() > 0) {
choix = Serial.read();
}
} while (choix == '0');
choixtest = choix;
}
///////////////////////////////////////////////////Sous programme permettant de tester les leds/////////////////////////////////////////////////////////////////
void testled () {
// on determine les variables locales nécessaire a la sous fonction
int gauche = '0'; int droit = '0'; int milieugauche = '0'; int milieudroit = '0'; int i = 0;
// On fait clignoter les leds (si elles fonctionnent)
for (i = 0; i < 5; i++)
digitalWrite(0, 1);
digitalWrite(1, 1);
digitalWrite(2, 1);
digitalWrite(3, 1);
delay(500);
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0);
delay(500);
}
//On demande si la led gauche clignote
Serial.println("La led gauche clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
gauche = Serial.read();
}
} while (gauche == '0');
//On demande si la led du milieu gauche clignote
Serial.println("La led du milieu gauche clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
milieugauche = Serial.read();
}
} while (milieugauche == '0');
//On demande si la led du milieu droit clignote
Serial.println("La led du milieu droit clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
milieudroit = Serial.read();
}
} while (milieudroit == '0');
//On demande si la led droite clignote
Serial.println("La led droite clignote t-elle ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
droit = Serial.read();
}
} while (droit == '0');
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (gauche == '2') {
Serial.println("Pour depanner la led gauche, veuillez:");
Serial.println("verifier que la resistance R1 et R5 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T2 ne soit pas endommagé.");
Serial.println( "Verifier que le capteur fonctionne.");
} else {
Serial.println("La led Gauche fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (milieugauche == '2') {
Serial.println("Pour depanner la led milieu gauche, veuillez:");
Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T4 ne soit pas endommagé.");
Serial.println( "Verifier que le capteur fonctionne.)");
} else {
Serial.println("La led milieu Gauche fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (milieudroit == '2') {
Serial.println("Pour depanner la led milieu droite, veuillez:");
Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T6 ne soit pas endommage.");
Serial.println( "Verifier que le capteur fonctionne.)");
} else {
Seial.println("La led milieu droit fonctionne normalement");
}
//On fait un test pour savoir quelle led ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (droit == '2') {
Serial.println("Pour depanner la led droite, veuillez:");
Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T5 ne soit pas endommage.");
Serial.println( "Verifier que le capteur fonctionne.");
} else {
Serial.println("La led droite fonctionne normalement");
}
delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu
}
//////////////////////////////////////Sous programme permettant de tester les emmeteurs des capteurs:////////////////////////////////////////////////////////
void testemetteur () {
// on determine les variables locales nécessaire a la sous fonction
int emetgauche = '0'; int emetdroit = '0'; int emetmilieugauche = '0'; int emetmilieudroit = '0'; int i = 0;
// On donne les instructions
Serial.println("Vous allez tester le fonctionnement des emetteurs des capteurs: ");
delay(3000);
Serial.println("Pour cela, veuillez vous munir d'un telephone portable disposant d'un appareil photo ");
delay(3000);
Serial.println("car ils detectent les emissions Infra Rouge des emetteurs ");
delay(3000);
Serial.println("Diriger l'appareil vers les capteurs, le clignotement va commencer dans 5sec: ");
delay(5000);
// On fait clignoter les emetteurs IR (si elles fonctionnent)
for (i = 0; i < 5; i++) {
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
delay(500);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
delay(500);
}
//On demande si l emetteur du capteur gauche clignote
Serial.println("L emetteur gauche clignote t-il ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
emetgauche = Serial.read();
}
} while (emetgauche == '0');
//On demande si l emetteur du capteur milieu gauche clignote
Serial.println("L emetteur milieu gauche clignote t-il? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
emetmilieugauche = Serial.read();
}
} while (emetmilieugauche == '0');
//On demande si l emetteur du capteur milieu droit clignote
Serial.println("L emetteur milieu droit clignote t-il ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
emetmilieudroit = Serial.read();
}
} while (emetmilieudroit == '0');
//On demande si l emetteur du capteur droit clignote
Serial.println("L emetteur droit clignote t-il ? ");
Serial.println("tapez 1 pour oui et 2 pour non ");
do {
if (Serial.available() > 0) {
emetdroit = Serial.read();
}
} while (emetdroit == '0');
//On fait un test pour savoir quelle emetteur ne fonctionne pas et ainsi reporter la fiche de dépannage à l'utilisateur pu programme
if (emetgauche == '2') {
Serial.println("Pour depanner l emetteur gauche, veuillez:");
Serial.println("verifier que la resistance R2 et R4 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T1 ne soit pas endommagé.");
Serial.println( "Verifier que l emetteur n'est pas endommage.");
} else {
Serial.println("L emetteur gauche fonctionne normalement");
}
if (emetmilieugauche == '2') {
Serial.println("Pour depanner l emetteur milieu gauche, veuillez:");
Serial.println("verifier que la résistance R7 et R10 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T4 ne soit pas endommagé.");
Serial.println( "Verifier que l emetteur n'est pas endommage");
} else {
Serial.println("L emetteur milieu Gauche fonctionne normalement");
}
if (emetmilieudroit == '2') {
Serial.println("Pour depanner l emetteur milieu droite, veuillez:");
Serial.println("verifier que la resistance R14 et R16 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T6 ne soit pas endommage.");
Serial.println( "Verifier que l emetteur n'est pas endommage.");
} else {
Serial.println("L emetteur milieu droit fonctionne normalement");
}
if (emetdroit == '2') {
Serial.println("Pour depanner l'emetteur droit, veuillez:");
Serial.println( "verifier que la resistance R13 et R15 ne soit pas endommage ou si elles sont bien dimensionner .");
Serial.println( "Verifier que la piste ne soit pas coupe.");
Serial.println( "Verifier qu'il n'y est pas de court circuit.");
Serial.println( "Verifier que le transistor T5 ne soit pas endommage.");
Serial.println( "Verifier que l emetteur n'est pas endommage.");
} else {
Serial.println("L emetteur droit fonctionne normalement");
}
delay(10000); //On laisse 10 secondes a l utilisateur avant de retourner au menu
}
////////////////////////Sous programme permettant de tester la valeur que fournit le capteur/////////////////////////////////////////
void testrecepteur () {
// on definie les variables locales
int cotegauche1 , cotegauche2 , cotedroit1 , cotedroit2, cotemilieudroit1, cotemilieudroit2, cotemilieugauche1, cotemilieugauche2;
// On donne les consignes
Serial.println(" Vous allez tester que les recepteurs des capteurs fonctionnent");
delay(3000);
Serial.println("Pour cela, veuillez POSER la la carte avec les capteurs en direction du support le plus proche possible");
delay(3000);
// test du cote gauche
digitalWrite(4, HIGH);
cotegauche1 = analogRead(A3);
delay(100);
cotegauche2 = analogRead(A3);
if (cotegauche1 == cotegauche2) {
Serial.println("Le recepteur du cote gauche ne fonctionne pas");
Serial.println("verifier que la resistance R3 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur du cote gauche fonctionne");
}
delay(2000);
// test du cote droit
digitalWrite(6, HIGH);
cotedroit1 = analogRead(A1);
delay(100);
cotedroit2 = analogRead(A1);
if (cotedroit1 == cotedroit2) {
Serial.println("le recepteur du cote droit ne fonctionne pas");
Serial.println("verifier que la resistance R11 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("le recepteur du cote droit fonctionne");
}
delay(2000);
// test du milieu gauche
digitalWrite(5, HIGH);
cotemilieugauche1 = analogRead(A4);
delay(100);
cotemilieugauche2 = analogRead(A4);
if (cotemilieugauche1 == cotemilieugauche2) {
Serial.println("Le recepteur milieu gauche ne fonctionne pas");
Serial.println("verifier que la resistance R8 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur milieu gauche fonctionne");
}
delay(2000);
// test du milieu droit
digitalWrite(7, HIGH);
cotemilieudroit1 = analogRead(A2);
delay(100);
cotemilieudroit2 = analogRead(A2);
if (cotemilieudroit1 == cotemilieudroit2) {
Serial.println("Le recepteur milieu droit ne fonctionne pas");
Serial.println("verifier que la resistance R12 soit bien dimensionner.");
Serial.println("Verifier que la piste ne soit pas coupe.");
Serial.println("Verifier qu'il n'y est pas de court circuit.");
Serial.println("Verifier que le capteur fonctionne.");
} else {
Serial.println("Le recepteur milieu droit fonctionne");
}
delay(10000); // On laisse 10 seconde a l'utilisateur avant de retourner au menu
}