Pages: [1]   Go Down
Author Topic: Pilotage + evitement d'obstacle = Pb  (Read 425 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 38
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Voici mon code loop() qui fonctionne, il permet a mon robot d'etre piloté via la liaison série :
Code:
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:
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
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3031
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Newbie
*
Karma: 0
Posts: 38
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci, ça amrche smiley-wink
Logged

Pages: [1]   Go Up
Jump to: