Étape 2: Écriture d’un Code
int echoPin = 9 ;
int a = 3 ;
int b = 2 ;
int c = 5 ;
int d = 4 ;
distance du flotteur ;
float pingTime ;
float speedOfSound = 347.22 ;
float lDistance ;
float rDistance ;
void setup() {}
Serial.Begin(9600) ;
pinMode(trigPin,OUTPUT) ;
pinMode(a,OUTPUT) ;
pinMode(b,OUTPUT) ;
pinMode(c,OUTPUT) ;
pinMode(d,OUTPUT) ;
pinMode(echoPin,INPUT) ;
}
flotteur Measure]
{
digitalWrite(trigPin,LOW) ;
delayMicroseconds(2000) ;
digitalWrite(trigPin,HIGH) ;
delayMicroseconds(10) ;
digitalWrite(trigPin,LOW) ;
pingTime=pulseIn(echoPin,HIGH) ;
distance =(speedOfSound*pingTime)/20000 ; //in cm
le sentier ;
}
mémoire Sub {}
digitalWrite(a,HIGH) ;
digitalWrite(b,LOW) ;
digitalWrite(c,HIGH) ;
digitalWrite(d,LOW) ;
Delay(500) ;
stopp() ;
}
void backward() {}
digitalWrite(b,HIGH) ;
digitalWrite(a,LOW) ;
digitalWrite(d,HIGH) ;
digitalWrite(c,LOW) ;
Delay(1000) ;
stopp() ;
}
left() Sub {}
digitalWrite(a,HIGH) ;
digitalWrite(b,LOW) ;
digitalWrite(d,HIGH) ;
digitalWrite(c,LOW) ;
Delay(570) ;
stopp() ;
}
right() Sub {}
digitalWrite(b,HIGH) ;
digitalWrite(a,LOW) ;
digitalWrite(c,HIGH) ;
digitalWrite(d,LOW) ;
Delay(1000) ;
stopp() ;
}
void stopp() {}
digitalWrite(a,LOW) ;
digitalWrite(b,LOW) ;
digitalWrite(c,LOW) ;
digitalWrite(d,LOW) ;
Serial.println("stopp") ;
}
void loop() {}
mesurer la distance
digitalWrite(trigPin,LOW) ;
delayMicroseconds(2000) ;
digitalWrite(trigPin,HIGH) ;
delayMicroseconds(10) ;
digitalWrite(trigPin,LOW) ;
pingTime=pulseIn(echoPin,HIGH) ;
distance =(speedOfSound*pingTime)/20000 ; //in cm
if(distance>20) {}
mémoire ;
Serial.println ("aucune obstackle") ;
}
Si (distance < = 20) {}
stopp() ;
Serial.println ("vérification de gauche") ;
Left() ;
Delay(250) ;
lDistance = Measure [] ;
Serial.println ("droit de vérification") ;
Right() ;
Delay(250) ;
rDistance=meaSure() ;
Si (rDistance > lDistance & & rDistance > 20) {}
mémoire ;
Serial.println ("aller de l’avant dans la bonne voie") ;
}
Si (rDistance < = lDistance & & lDistance > 20) {}
Right() ;
Delay(250) ;
mémoire ;
Serial.println ("aller de l’avant à gauche le sentier") ;
}
else {}
Serial.println ("dans la grotte") ;
Serial.println ("Going Back et contrôlé à nouveau") ;
Backward() ;
stopp() ;
Left() ;
Delay(250) ;
lDistance=meaSure() ;
Right() ;
Delay(250) ;
rDistance=meaSure() ;
Si (rDistance > lDistance & & rDistance > 20) {}
mémoire ;
}
Si (rDistance < = lDistance & & lDistance > 20) {}
Right() ;
Delay(250) ;
mémoire ;
}
}
}
}