Pages: [1]   Go Down
Author Topic: probleme pour robot [resolu]  (Read 315 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: February 20, 2013, 12:48:06 pm by ugo1999 » Logged

france
Offline Offline
God Member
*****
Karma: 15
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Christian

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci je teste si sa marche je vous laisse des photos smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1968
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

 }

Logged

Pages: [1]   Go Up
Jump to: