Arexx SIMONIN : Différence entre versions
(18 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Projets Tutorés S2]] | [[Catégorie:Projets Tutorés S2]] | ||
− | + | <!-- [[Image:urcasimonin.jpeg]] | |
− | + | ||
={{Rouge|Projet tutorés}}= | ={{Rouge|Projet tutorés}}= | ||
Ligne 17 : | Ligne 17 : | ||
* SIMONIN Mathieu | * SIMONIN Mathieu | ||
− | Le projet consiste à créer un robot suiveur de ligne, pour se faire | + | Le projet consiste à créer un robot suiveur de ligne, pour se faire, on doit suivre un cahier des charges précis. |
+ | |||
+ | *Créer deux algorithmes permettant de tester le bon fonctionnement des capteurs et des LEDs. | ||
+ | |||
+ | *Possibilité de modification de la carte d'adaptation. | ||
+ | |||
+ | *Fabrication de la carte gestion. | ||
+ | |||
+ | *Réalisation des programmes permettant le fonctionnement de la carte gestion. | ||
+ | |||
+ | *Suite à des imprévus, nous avons dû abandonner la fabrication de la carte gestion et des programmes correspondant. | ||
+ | |||
Après analyse du besoin, des solutions techniques apparaissent pour répondre à ces besoins. | Après analyse du besoin, des solutions techniques apparaissent pour répondre à ces besoins. | ||
Ligne 53 : | Ligne 64 : | ||
==={{Bleu|Tests des leds}}=== | ==={{Bleu|Tests des leds}}=== | ||
− | + | Lors de ce test, nous avons essayé de déterminer si une led s'allume ou non. Si non, nous essayons de déterminer la cause de ce problème. | |
<source lang=c> | <source lang=c> | ||
Ligne 66 : | Ligne 77 : | ||
// On fait clignoter les leds (si elles fonctionnent) | // On fait clignoter les leds (si elles fonctionnent) | ||
− | for (i = 0; i < 5; i++) | + | for (i = 0; i < 5; i++){ |
digitalWrite(0, 1); | digitalWrite(0, 1); | ||
Ligne 160 : | Ligne 171 : | ||
Serial.println("Pour depanner la led gauche, veuillez:"); | Serial.println("Pour depanner la led gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne."); | Serial.println( "Verifier que le capteur fonctionne."); | ||
Ligne 182 : | Ligne 191 : | ||
Serial.println("Pour depanner la led milieu gauche, veuillez:"); | Serial.println("Pour depanner la led milieu gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne.)"); | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
Ligne 204 : | Ligne 211 : | ||
Serial.println("Pour depanner la led milieu droite, veuillez:"); | Serial.println("Pour depanner la led milieu droite, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne.)"); | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
Ligne 216 : | Ligne 221 : | ||
} else { | } else { | ||
− | + | Serial.println("La led milieu droit fonctionne normalement"); | |
} | } | ||
Ligne 226 : | Ligne 231 : | ||
Serial.println("Pour depanner la led droite, veuillez:"); | Serial.println("Pour depanner la led droite, veuillez:"); | ||
− | Serial.println( " | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne."); | Serial.println( "Verifier que le capteur fonctionne."); | ||
Ligne 249 : | Ligne 252 : | ||
[[Image:Capturetestsleds.PNG]] | [[Image:Capturetestsleds.PNG]] | ||
+ | |||
==={{Bleu|Tests des récepteurs des capteurs}}=== | ==={{Bleu|Tests des récepteurs des capteurs}}=== | ||
− | + | Lors de ce test, nous avons essayé de déterminer si un capteur fonctionne ou pas. Si le capteur ne fonctionne pas, nous essayons de déterminer la cause de ce dysfonctionnement. | |
<source lang=c> | <source lang=c> | ||
Ligne 285 : | Ligne 289 : | ||
Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 315 : | Ligne 319 : | ||
Serial.println("le recepteur du cote droit ne fonctionne pas"); | Serial.println("le recepteur du cote droit ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 345 : | Ligne 349 : | ||
Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 375 : | Ligne 379 : | ||
Serial.println("Le recepteur milieu droit ne fonctionne pas"); | Serial.println("Le recepteur milieu droit ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupe."); | Serial.println("Verifier que la piste ne soit pas coupe."); | ||
Ligne 394 : | Ligne 398 : | ||
</source> | </source> | ||
− | + | [[Image:Capturetetscapteurssimonin.PNG]] | |
− | ==={{Bleu| | + | ==={{Bleu|Organisation du programme}}=== |
<source lang=c> | <source lang=c> | ||
− | // | + | // on définie les variables globales |
− | void menu | + | int choixtest; // variable globale utilisée à 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. | + | 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 |
− | |||
− | |||
− | |||
− | |||
} | } | ||
Ligne 455 : | Ligne 455 : | ||
</source> | </source> | ||
− | ==={{Bleu| | + | |
+ | ==={{Bleu|Fonction menu}}=== | ||
<source lang=c> | <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("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 recepteurs 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; | |
} | } | ||
Ligne 629 : | Ligne 632 : | ||
// On fait clignoter les leds (si elles fonctionnent) | // On fait clignoter les leds (si elles fonctionnent) | ||
− | for (i = 0; i < 5; i++) | + | for (i = 0; i < 5; i++){ |
digitalWrite(0, 1); | digitalWrite(0, 1); | ||
Ligne 723 : | Ligne 726 : | ||
Serial.println("Pour depanner la led gauche, veuillez:"); | Serial.println("Pour depanner la led gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne."); | Serial.println( "Verifier que le capteur fonctionne."); | ||
Ligne 745 : | Ligne 746 : | ||
Serial.println("Pour depanner la led milieu gauche, veuillez:"); | Serial.println("Pour depanner la led milieu gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne.)"); | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
Ligne 767 : | Ligne 766 : | ||
Serial.println("Pour depanner la led milieu droite, veuillez:"); | Serial.println("Pour depanner la led milieu droite, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne.)"); | Serial.println( "Verifier que le capteur fonctionne.)"); | ||
Ligne 779 : | Ligne 776 : | ||
} else { | } else { | ||
− | + | Serial.println("La led milieu droit fonctionne normalement"); | |
} | } | ||
Ligne 789 : | Ligne 786 : | ||
Serial.println("Pour depanner la led droite, veuillez:"); | Serial.println("Pour depanner la led droite, veuillez:"); | ||
− | Serial.println( " | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que le capteur fonctionne."); | Serial.println( "Verifier que le capteur fonctionne."); | ||
Ligne 831 : | Ligne 826 : | ||
delay(3000); | delay(3000); | ||
− | Serial.println("Diriger l'appareil vers les capteurs, le clignotement va commencer dans | + | Serial.println("Diriger l'appareil vers les capteurs, le clignotement va commencer dans 10 secondes: "); |
− | delay( | + | delay(10000); |
// On fait clignoter les emetteurs IR (si elles fonctionnent) | // On fait clignoter les emetteurs IR (si elles fonctionnent) | ||
Ligne 931 : | Ligne 926 : | ||
Serial.println("Pour depanner l emetteur gauche, veuillez:"); | Serial.println("Pour depanner l emetteur gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que l emetteur n'est pas endommage."); | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
Ligne 951 : | Ligne 944 : | ||
Serial.println("Pour depanner l emetteur milieu gauche, veuillez:"); | Serial.println("Pour depanner l emetteur milieu gauche, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que l emetteur n'est pas endommage"); | Serial.println( "Verifier que l emetteur n'est pas endommage"); | ||
Ligne 971 : | Ligne 962 : | ||
Serial.println("Pour depanner l emetteur milieu droite, veuillez:"); | Serial.println("Pour depanner l emetteur milieu droite, veuillez:"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que l emetteur n'est pas endommage."); | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
Ligne 991 : | Ligne 980 : | ||
Serial.println("Pour depanner l'emetteur droit, veuillez:"); | Serial.println("Pour depanner l'emetteur droit, veuillez:"); | ||
− | Serial.println( " | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println( "Verifier que la piste ne soit pas coupee."); | Serial.println( "Verifier que la piste ne soit pas coupee."); | ||
Serial.println( "Verifier qu'il n'y est pas de court circuit."); | Serial.println( "Verifier qu'il n'y est pas de court circuit."); | ||
− | |||
− | |||
Serial.println( "Verifier que l emetteur n'est pas endommage."); | Serial.println( "Verifier que l emetteur n'est pas endommage."); | ||
Ligne 1 043 : | Ligne 1 030 : | ||
Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | Serial.println("Le recepteur du cote gauche ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 1 073 : | Ligne 1 060 : | ||
Serial.println("le recepteur du cote droit ne fonctionne pas"); | Serial.println("le recepteur du cote droit ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 1 103 : | Ligne 1 090 : | ||
Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | Serial.println("Le recepteur milieu gauche ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 1 133 : | Ligne 1 120 : | ||
Serial.println("Le recepteur milieu droit ne fonctionne pas"); | Serial.println("Le recepteur milieu droit ne fonctionne pas"); | ||
− | Serial.println(" | + | Serial.println( "Verifier la coherence ou la qualite des resistances et transistors."); |
Serial.println("Verifier que la piste ne soit pas coupee."); | Serial.println("Verifier que la piste ne soit pas coupee."); | ||
Ligne 1 155 : | Ligne 1 142 : | ||
Avec une carte quelque peu défaillante, nous constatons que nos programmes marchent. Malheureusement seulement un des 4 capteurs et 2 des 4 leds fonctionnent. | Avec une carte quelque peu défaillante, nous constatons que nos programmes marchent. Malheureusement seulement un des 4 capteurs et 2 des 4 leds fonctionnent. | ||
− | [[Image:Capturesimonincarte.PNG]] | + | [[Image:Capturesimonincarte.PNG]]--> |