I am trying to get my arduino uno Boebot to get out of a Maze but am unable here is my code if you have any idea or code plz message me.
(Code tags added by Moderator)
#include <Servo.h>
Servo left;
Servo right;
Servo sensor;
float val = 0;
float vald = 0;
float valc = 0;
float valg = 0;
float dist=0;
float distd=0;
float distc=0;
float distg=0;
void setup()
{
left.attach(9); //pin
right.attach(8); //pin
sensor.attach(10);
Serial.begin(115200);
}
void loop()
{
sensor.write(85);//le mettre a l'avant
left.write(2000);
right.write(1000);
sonar();
val = pulseIn(11,HIGH);
dist= val/2/29 ;
Serial.println ("dist");
Serial.println (dist);
Serial.println ("VAL");
Serial.println (val);
if(dist <13 && dist > 0)
{
//tourne 180
right.write(2000);
left.write(2000); //2000 ou 1000
delay(1100); //2fois le delay de 90 degres
//arret
right.write(1500);
left.write(1500); delay(1000);
//capteur droit
sright();
sonar();
vald = pulseIn(11,HIGH);
distd= vald/2/29 ;
//capteur centre
scenter(); //le mettre a l'avant
sonar();
valc = pulseIn(11,HIGH);
distc= valc/2/29 ;
//capteur gauche
sgauche(); //le mettre gauche
sonar();
valg = pulseIn(11,HIGH);
distg= valg/2/29 ;
Serial.println ("distc");
Serial.println (distc);
Serial.println ("distd");
Serial.println (distd);
Serial.println ("distg");
Serial.println (distg);
if (distd>13||distg>13)
{
if(distd>distc&&distd>distg)
{//90 droite
tournedroite();
}
if(distg>distc&&distg>distd)
{//90 a gauche
tournegauche();
}
}
else
{//devant
sensor.write(70);//le mettre a l'avant
avance();
}
}
else
{
right.write(1000); //1000 ou 2000
left.write(2000); //2000 ou 1000
}
}
void sonar()
{
pinMode(11,OUTPUT);
digitalWrite(11,HIGH);
delayMicroseconds(5);
digitalWrite(11,LOW);
pinMode(11,INPUT);
}
void sgauche()
{
sensor.write(170);
delay(1000);
}
void scenter()
{
sensor.write(85);
delay(1000);
}
void sright ()
{
sensor.write(0);
delay(1000);
}
void avance()
{
left.write(2000);
right.write(1000);
delay(1000);
}
void tournedroite()
{
left.write(2000);
right.write(1500);
delay(1100);
}
void recule()
{
left.write(1000);
right.write(2000);
delay(1000);
}
void tournegauche()
{
left.write(1500);
right.write(1000);
delay(1100);
}