Go Down

Topic: Pilotage + evitement d'obstacle = Pb (Read 498 times) previous topic - next topic

Lolo

Bonjour,
Voici mon code loop() qui fonctionne, il permet a mon robot d'etre piloté via la liaison série :
Code: [Select]
void loop()
{  
// Si le port série reçoit une valeur
 if (Serial.available())
 {
   // Mise a jour de la variable 'ValeurSerial'
   int ValeurSerial = Serial.read();
// Si obstacle --> procédure d'évitement


// *------------------*  DEBUT DU PILOTAGE A DISTANCE  *------------------*


switch (ValeurSerial) {
case 'Z':
     LedState = 'HIGH';
       MotorState = 'Forward';
break;
case 'S':
     LedState = 'LOW';
       MotorState = 'Back';
break;
case 'Q':
     LedState = 'CLIGNOL';
       MotorState = 'Left';
break;
case 'D':
     LedState = 'CLIGNOL';
       MotorState = 'Right';
break;
case 'G':
     LedState = 'LOW';
       MotorState = 'Stop';
break;    
     }
// *------------------*  FIN DU PILOTAGE A DISTANCE  *------------------*

switch (LedState) {
case 'HIGH':

break;
case 'LOW':

break;
case 'CLIGNOL':

break;
}


switch (MotorState) {
case 'Forward':
GoForward();
break;
case 'Back':
GoBackward();
break;
case 'Left':
GoLeft();
break;
case 'Right':
GoRight();
break;
case 'Stop':
GoStop();
break;
 }


}  // FIN LIAISON SERIE


}  // FIN LOOP


Le problème, c'est que je n'arrive pas a y "caser" le code ci-dessous qui me permettrait de lui faire éviter des obstacles :
Code: [Select]
int ProxM = ProximSensorM();
int ProxL = ProximSensorL();
int ProxR = ProximSensorR();

if (ProxM == 0){
           GoBackward();
           delay(500);
           GoRight();
           delay(1000);
}else if (ProxL == 0) {
           GoBackward();
           delay(500);
           GoRight();
           delay(1000);
}else if (ProxR == 0)  {
           GoBackward();
           delay(500);
           GoLeft();
           delay(1000);
} else {
// ACTION DE PILOTAGE A DISTANCE
}


J'ai essayé de l'introduire partout : en début de loop, juste avant "GoForward()"... partout ! Mais ça ne fonctionne pas, quand je l'insère le robot n'avance plus du tout  :'(
Comment y remédier ? Ma procédure d'évitement d'obstacle avec 3 capteurs IR est elle correcte ?
Merci

fdufnews

Moi je placerais le switch de la première partie à la place du commentaire ACTION DE PILOTAGE A DISTANCE

Lolo


Go Up