Arexx SIMONIN : Différence entre versions
(26 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: | + | <!-- [[Image:urcasimonin.jpeg]] |
− | |||
− | === Présentation === | + | ={{Rouge|Projet tutorés}}= |
+ | |||
+ | ==={{Bleu|Présentation}}=== | ||
Nous avons composé un groupe de 4 personnes, formé de : | Nous avons composé un groupe de 4 personnes, formé de : | ||
Ligne 16 : | 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. | ||
− | On aboutit alors à | + | On aboutit alors à la création de deux cartes. |
* La carte capteur pour l’analyse de la piste sur laquelle le robot évolue. | * La carte capteur pour l’analyse de la piste sur laquelle le robot évolue. | ||
Ligne 26 : | Ligne 38 : | ||
* Une carte « gestion » pour commander le moteur et la réaction du robot afin de rester sur la piste. | * Une carte « gestion » pour commander le moteur et la réaction du robot afin de rester sur la piste. | ||
− | Pour créer une carte électronique la première étape est de | + | Pour créer une carte électronique la première étape est de réaliser un schéma électrique. |
[[Image:captureschematic.PNG]] | [[Image:captureschematic.PNG]] | ||
Ligne 45 : | Ligne 57 : | ||
[[Image:cartecapteurfrerson.jpg]] | [[Image:cartecapteurfrerson.jpg]] | ||
− | === Diagramme de Gantt === | + | ==={{Bleu|Diagramme de Gantt}}=== |
Nous nous sommes repartis équitablement le travail, à l'aide d'un diagramme de Gantt. | Nous nous sommes repartis équitablement le travail, à l'aide d'un diagramme de Gantt. | ||
− | Abderrahmane et Mathieu se sont chargés du dossier, quand Adrien et Maxime s'occupaient des tests. En revanche | + | Abderrahmane et Mathieu se sont chargés du dossier, quand Adrien et Maxime s'occupaient des tests. En revanche l'élaboration des programmes a été réalisé par le groupe tout entier. |
[[Image:ganttprojettut.PNG]] | [[Image:ganttprojettut.PNG]] | ||
− | === 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 65 : | 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 159 : | 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 181 : | 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 203 : | 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 215 : | Ligne 221 : | ||
} else { | } else { | ||
− | + | Serial.println("La led milieu droit fonctionne normalement"); | |
} | } | ||
Ligne 225 : | 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 247 : | Ligne 251 : | ||
</source> | </source> | ||
− | + | [[Image:Capturetestsleds.PNG]] | |
+ | ==={{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 283 : | 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 313 : | 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 343 : | 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 373 : | 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 392 : | Ligne 398 : | ||
</source> | </source> | ||
− | + | [[Image:Capturetetscapteurssimonin.PNG]] | |
− | === | + | ==={{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 453 : | Ligne 455 : | ||
</source> | </source> | ||
− | === | + | |
+ | ==={{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 509 : | Ligne 514 : | ||
</source> | </source> | ||
− | === Programme final === | + | ==={{Bleu|Programme final}}=== |
<source lang=c> | <source lang=c> | ||
Ligne 627 : | 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 721 : | 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 743 : | 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 765 : | 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 777 : | Ligne 776 : | ||
} else { | } else { | ||
− | + | Serial.println("La led milieu droit fonctionne normalement"); | |
} | } | ||
Ligne 787 : | 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 829 : | 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 929 : | 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 949 : | 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 969 : | 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 989 : | 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 041 : | 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 071 : | 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 101 : | 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 131 : | 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 153 : | 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]]--> |