Arexx CONQUERANTS : Différence entre versions
(→{{Bleu| Tests des défaillance}}) |
(→{{Bleu|Présentation du projet}}) |
||
Ligne 8 : | Ligne 8 : | ||
Ces tests devront faire en sorte de valider le bon fonctionnement de la carte capteur, de chaque composant qui sont : | Ces tests devront faire en sorte de valider le bon fonctionnement de la carte capteur, de chaque composant qui sont : | ||
− | * | + | * CNY-70 |
* LEDS | * LEDS | ||
Pour réaliser ce projet, nous avons formé un groupe de 4 personnes : | Pour réaliser ce projet, nous avons formé un groupe de 4 personnes : | ||
− | * ALZUBAIDI | + | * ALZUBAIDI Mahmoud |
− | * LAGOUTTE | + | * LAGOUTTE Quentin |
− | * LANDEVILLE | + | * LANDEVILLE Baptiste |
* THOMAS Alexis | * THOMAS Alexis | ||
Version du 18 juin 2015 à 09:35
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 :
- CNY-70
- LEDS
Pour réaliser ce projet, nous avons formé un groupe de 4 personnes :
- ALZUBAIDI Mahmoud
- LAGOUTTE Quentin
- LANDEVILLE Baptiste
- 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
Lors des différents tests, il est probable qu'on rencontre des problèmes avec les capteurs ou les leds témoins du robot Arexx.
Cette section détaille les différentes manipulations à effectuer dans ce cas.
En effet, pour les leds témoins frontales du robot ou les capteurs CNY-70 , si l'un d'entre eux se trouve en panne lors du test :
- Vérifier que les deux pattes sont bien soudés et touchent bien la piste qui lui est associé(à voir sur le fichier board).
- Contrôler la validité des pistes auxquelles sont reliés les leds à l'aide d'un multimètre, l'erreur peut être un court-circuit ou que la piste soit coupée.
- Assurer vous du bon fonctionnement des composants reliés aux leds ou aux capteurs, que ce soit des résistances ou des transistors.
- Examiner les trois connecteurs présents sur la carte, et tester la connexion des pattes avec les pistes qui leur correspondent.
- Confirmer si le plan de masse n'empêche pas certaines connexions, surtout au niveau des connecteurs.
Enfin, après avoir effectué toutes les manipulations précédentes, vous trouvez que votre capteur et/ou led ne fonctionne pas, cela peut signifier que le composant lui même est défaillant et qu'il faudra donc le remplacer.
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()
{
}