Étape 3: Le Code
#define trigPin 3 //Sonar Triger#define echoPinL 4 //Left écho de sonar
#define echoPinF 5 //Front écho de sonar
#define echoPinR 6 //Right écho de sonar
#define echoPinB 7 //Back écho de sonar
#define vibrer 10 //Vibrate + Led pin
#define disSelect A3 //Distance pin sélecteur analogique situé
int durationL, durationF, durationR, durationB, distanceL, distanceF, entretoises, distanceB, dSelValue ;
void setup() {}
Serial.Begin (9600) ;
pinMode (trigPin, sortie) ;
pinMode (echoPinL, entrée) ;
pinMode (echoPinF, entrée) ;
pinMode (echoPinR, entrée) ;
pinMode (echoPinB, entrée) ;
pinMode (vibreur, sortie) ;
pinMode (disSelect, entrée) ;
pinMode (13, sortie) ;
digitalWrite (13, faible) ;
}
void loop() {}
dSelValue = carte (analogRead (disSelect), 0,1023,20, 400) ;
Serial.Print ("Select à Distance:") ;
Serial.println (dSelValue) ;
Triger() ;
durationL = pulseIn (echoPinL, HIGH) ;
distanceL = /29.1 (durationL/2) ;
Serial.Print ("gauche =") ;
Serial.println (distanceL) ;
Serial.Print ("Triger =") ;
Serial.println (digitalRead (trigPin)) ;
retard (200) ;
Triger() ;
durationF = pulseIn (echoPinF, HIGH) ;
distanceF = /29.1 (durationF/2) ;
Serial.Print ("Front =") ;
Serial.println (distanceF) ;
Serial.Print ("Triger =") ;
Serial.println (digitalRead (trigPin)) ;
retard (200) ;
Triger() ;
durationR = pulseIn (echoPinR, HIGH) ;
Entretoise = /29.1 (durationR/2) ;
Serial.Print ("droite =") ;
Serial.println (entretoises) ;
Serial.Print ("Triger =") ;
Serial.println (digitalRead (trigPin)) ;
retard (200) ;
Triger() ;
durationB = pulseIn (echoPinB, HIGH) ;
distanceB = /29.1 (durationB/2) ;
Serial.Print ("retour =") ;
Serial.println (distanceB) ;
Serial.Print ("Triger =") ;
Serial.println (digitalRead (trigPin)) ;
retard (200) ;
Si (distanceL < = dSelValue || distanceF < = dSelValue || entretoises < = dSelValue || distanceB < = dSelValue) {}
pour (int fois = 1; fois < = 8; fois ++) {}
Serial.println (fois) ;
digitalWrite (vibreur, élevé) ;
digitalWrite (13, HIGH) ;
retard (100) ;
digitalWrite (vibreur, faible) ;
digitalWrite (13, faible) ;
retard (100) ;
}
}
}
void triger() {}
digitalWrite (trigPin, basse) ;
digitalWrite (13, faible) ;
delayMicroseconds (1000) ;
digitalWrite (trigPin, HIGH) ;
digitalWrite (13, HIGH) ;
Serial.Print ("Triger =") ;
Serial.println (digitalRead (trigPin)) ;
delayMicroseconds (1000) ;
digitalWrite (trigPin, basse) ;
digitalWrite (13, faible) ;
}