Go Down

Topic: probleme pour robot [resolu] (Read 348 times) previous topic - next topic

ugo1999

Feb 16, 2013, 03:56 pm Last Edit: Feb 20, 2013, 06:48 pm by ugo1999 Reason: 1
bonjour,
je fait appel a vous car je n'arrive pas a m'etre au point mon code:
en faite je veut faire un robot qui dispose d'un interrupteur a l'avant qui se ferme lorsque il rencontre un mur
j'utilise 2 servos sur les cotés et une roulette pour faire avancer le robot
voici le code :
Quote

#include <Servo.h>  

Servo servo1,servo2;  
 
 

int btn=(12);

void setup()  
{  
 servo1.attach(9);
servo2.attach(10);
pinMode (btn,INPUT);
}  

void loop()  
{
   servo1.write(0);
 servo2.write(180);
if (digitalRead(btn==LOW));
{
servo1.write(180);
servo2.write(0);
delay(3000); } }


mais qu'and le robot rencontre le mur il continue a avancer comme une bourrique !!
merci de votre aide
ugo

Christian_R

Un bug ici : digitalRead(btn==LOW)

btn est défini comme étant un integer (numéro de pin 12)
C'est un problème de parenthèses : digitalRead(btn)
Christian

ugo1999

merci je teste si sa marche je vous laisse des photos :)

ugo1999

non toujours pas il refuse de faire demi tour,
pourriez vous me donner un schema pour brancher l'interrupteur svp et me donner le code apres le changement que je voit mon erreur svp

infobarquee

bonjour,
déjà ton bouton est NO ou non?
teste ca

Quote

#include <Servo.h>

Servo servo1,servo2;
const int btn = 12;

void setup()

   servo1.attach(9);
   servo2.attach(10);
   pinMode (btn,INPUT);


void loop()
{
int boutonEtat = digitalRead(btn);
if (boutonEtat == LOW)
{
servo1.write(180);
servo2.write(0);
delay(3000);
}
else
    servo1.write(0);
  servo2.write(180);

}


Go Up