Go Down

Topic: Pilotage + evitement d'obstacle = Pb (Read 533 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


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy