hi
I want to make a maze solver robot, i completed the mechanical and electronical parts but i have somme problems with the code and i need help its actualy works but not perfectly
here is my code if you have any suggestions please help me
thank you
#define VITESSE 343
int emetteur[3]={8,10,12};//le trig et l'echo de l'ultrason
int recepteur[3]={9,11,13};
unsigned long temps[3];
float distance[3];// la distance mesurée par l'ultrason
const int enable1=3;//PIN qui sert a controle la vitesse
const int in1=2;// deux PIN pour la direction
const int in2=4;
const int enable2=5;
const int in3=6;
const int in4=7;
void setup(){
pinMode(in1,OUTPUT);// on definit tous les PIN des moteurs
pinMode(in2,OUTPUT);// comme des sorties
pinMode(enable2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(enable1,OUTPUT);
for (int i=0;i<3;i++){
pinMode(emetteur*,OUTPUT);// le trig comme sortie*
_ pinMode(recepteur*,INPUT);// l'echo comme entrée*_
* }*
Serial.begin(9600);// l'objet Seri
}
void loop(){
lecture();
compare();
}
void compare(){
if (distance[0]>17 && distance[1]>8 && distance[2]>8){
* forward();*
* }*
* else if(distance[0]>17 && distance[1]<=distance[2]){*
* gauche();*
* }*
* else if(distance[0]>17 &&distance[2]<=distance[1]){*
* droite();*
* }*
else if (distance[0]<=17 && (distance[2]<distance[1])){
* droite_complet();
_}*_
else if (distance[0]<=17 && (distance[2]>distance[1])){
* gauche_complet();
_}_
else {
Stop();
_}_
_}_
void lecture(){ // fonction de lecture des données
_ digitalWrite(emetteur[0],HIGH);_
_ delayMicroseconds(10);_
_ digitalWrite(emetteur[0],LOW);_
_ temps[0]=pulseIn(recepteur[0],HIGH,10000);_
_ distance[0]=(temps[0]/2000000.0)VITESSE100;_
_ if (distance[0]==0){_
_ distance[0]=50;_
_ }_
_ Serial.print(distance[0]);_
_ Serial.print(" ");_
_ digitalWrite(emetteur[1],HIGH);_
_ delayMicroseconds(10);_
_ digitalWrite(emetteur[1],LOW);_
_ temps[1]=pulseIn(recepteur[1],HIGH,10000);_
_ distance[1]=(temps[1]/2000000.0)VITESSE100;_
_ if (distance[1]==0){_
_ distance[1]=50;_
_ }_
_ Serial.print(distance[1]);_
_ Serial.print(" ");_
_ digitalWrite(emetteur[2],HIGH);_
_ delayMicroseconds(10);_
_ digitalWrite(emetteur[2],LOW);_
_ temps[2]=pulseIn(recepteur[2],HIGH,10000);_
_ distance[2]=(temps[2]/2000000.0)VITESSE100;_
_ if (distance[2]==0){_
_ distance[2]=60;_
_ }_
_ Serial.print(distance[2]);_
_ Serial.print(" ");_
_ Serial.println("");_
_}_
void forward(){
_ digitalWrite(in1,HIGH);_
_ digitalWrite(in2,LOW);_
_ analogWrite(enable1,90);_
_ digitalWrite(in3,HIGH);_
_ digitalWrite(in4,LOW);_
_ analogWrite(enable2,120);_
_}_
void droite(){
_ digitalWrite(in1,HIGH);_
_ digitalWrite(in2,LOW);_
_ analogWrite(enable1,80);_
_ digitalWrite(in3,HIGH);_
_ digitalWrite(in4,LOW);_
_ analogWrite(enable2,180);*_
* }*
* void droite_complet(){
_ digitalWrite(in1,LOW);_
_ digitalWrite(in2,HIGH);_
_ analogWrite(enable1,160);_
_ digitalWrite(in3,HIGH);_
_ digitalWrite(in4,LOW);_
_ analogWrite(enable2,160);_
_ delay(500);_
_ }_
void gauche_complet(){
digitalWrite(in1,HIGH);
_ digitalWrite(in2,LOW);_
_ analogWrite(enable1,160);_
_ digitalWrite(in3,LOW);_
_ digitalWrite(in4,HIGH);_
_ analogWrite(enable2,160);_
_ delay(500);*_
* }*
* void gauche(){*
* digitalWrite(in1,HIGH);*
* digitalWrite(in2,LOW);*
* analogWrite(enable1,130);*
* digitalWrite(in3,HIGH);*
* digitalWrite(in4,LOW);*
* analogWrite(enable2,100);*
* }*
* void Stop(){*
* digitalWrite(in1,HIGH);*
* digitalWrite(in2,HIGH);*
* analogWrite(enable1,0);*
* digitalWrite(in3,HIGH);*
* digitalWrite(in4,HIGH);*
* analogWrite(enable2,0);*
* }*