probleme pour robot [resolu]

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 :

#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

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)

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

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

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

#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);

}