Étape 7: De Code
#define trigPin 7
#define echoPin 6 #define led 13 #define led2 12 #define led3 11 #define led4 10 #define led5 9 #define led6 8 #define buzzer 3
int sound = 250;
void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(led, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(buzzer, OUTPUT); pinMode(A0, INPUT);
}
void loop() { int sensorValue = analogRead(A0); long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration / 2) / 29.1;
if (sensorValue >= 20) {
Si (distance < = 30) {digitalWrite (led, HIGH); sonore = 0 ; if (distance <= 30) { digitalWrite(led, HIGH); sound = 0; } else { digitalWrite(led, LOW); } if (distance < 25) { digitalWrite(led2, HIGH); sound = 0; } else { digitalWrite(led2, LOW); } if (distance < 20) { digitalWrite(led3, HIGH); sound = 0; } else { digitalWrite(led3, LOW); } if (distance < 15) { digitalWrite(led4, HIGH); sound = 0; } else { digitalWrite(led4, LOW); } if (distance < 10) { digitalWrite(led5, HIGH); sound = 290; } else { digitalWrite(led5, LOW); } if (distance < 5) { digitalWrite(led6, HIGH); sound = 300; } else { digitalWrite(led6, LOW); } else {digitalWrite (led, faible) ; if (distance > 30 || distance <= 0) { Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone(buzzer, sound); Si (distance < 25) {digitalWrite (led2, HIGH); sonore = 0 ; } else {digitalWrite (led2, faible) ; delay(500); } else { digitalWrite(led, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); digitalWrite(led5, LOW); digitalWrite(led6, LOW); noTone(buzzer); } } Si (distance < 20) {digitalWrite (DEL3, HIGH); sonore = 0 ;else {digitalWrite (DEL3, faible) ;Si (distance 15 <) {digitalWrite (led4, HIGH); sonore = 0 ;else {digitalWrite (led4, faible) ;Si (distance < 10) {digitalWrite (DEL5, HIGH); sonore = 290 ;else {digitalWrite (DEL5, faible) ;Si (distance 5 <) {digitalWrite (led6, HIGH); sonore = 300 ;else {digitalWrite (led6, faible) ;
Si (distance 30 > || distance < = 0) {Serial.println ("out of range"); noTone(buzzer) ;
Delay(500) ;else {digitalWrite (led, faible) digitalWrite (led2, basse) digitalWrite (DEL3, basse); digitalWrite (led4, basse); digitalWrite (DEL5, basse); digitalWrite (led6, basse); noTone(buzzer) ;