Bonjour,
Je voudrais faire une alarme avec un détecteur à ultrason. (uniquement pour les vacances)
Dès que quelqu'un est détecté un buzzer s'active. Un bouton permet de désactiver l'alarme après qu'elle se soit déclanchée pendant 30 minutes (que j'ai simplifié à 10 secondes ici).
Le code est compilé mais ce que je veux faire ne marche pas.
Pourriez-vous m'aider ?
Le problème est dans le code.
#define trigPin 2
#define echoPin 3
// Define variables:
long duration;
int distance;
int bouton = 0;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
// Calculate the distance:
distance= duration*0.034/2;
Serial.print("Distance = ");
Serial.print(distance);
Serial.println(" cm");
delay(50);
if (distance < 20) { //je mettrai à 400 cm mais là j'ai simplifié
digitalWrite(13, HIGH);//ceci doit mettre en marche un buzzer
}
else {
digitalWrite(13, LOW);
}
bouton = digitalRead(4);
if (bouton == LOW); {
digitalWrite(13, LOW);
delay(10000); //j'aurais aimé que ceci suspende l'alarme pendant dix secondes
}
}