Bonjour
En ce moment je crée un projet de barrière pour continuer à progresser sur Arduino.
Le problème: lorsque qu'un objet s'approche du capteur ultrason donc quand la distance est inférieure à ma variable seuil alors il se déroule une série d'action comme le buzzer d'où vient le problème. Je voudrais que le buzzer sonne qu'une fois que quand l'objet s'approche et pas tous le temps même si la distance est inferieur au seuil.
voici mon programme:
#include <Servo.h>
const int Seuil=30;
long duree, distance;
Servo moteur;
#define trigg 3
#define echo 4
#define ledrouge 5
#define ledjaune 6
#define ledverte 7
#define buzzer 11
void setup() {
pinMode(trigg, OUTPUT);
pinMode(echo, INPUT);
pinMode(ledrouge, OUTPUT);
pinMode(ledjaune, OUTPUT);
pinMode(ledverte, OUTPUT);
pinMode(buzzer, OUTPUT);
digitalWrite(ledrouge,HIGH);
digitalWrite(ledjaune,LOW);
digitalWrite(ledverte,LOW);
moteur.write(0);
moteur.attach(9);
}
void loop() {
digitalWrite(trigg,LOW);
delayMicroseconds(2);
digitalWrite(trigg, HIGH);
delayMicroseconds(10);
digitalWrite(trigg, LOW);
duree = pulseIn(echo, HIGH);
distance = duree * 340 / (2 * 10000);
if (distance<=Seuil){
delay(300);
tone(buzzer,900,100);
digitalWrite(ledrouge,LOW);
delay(1000);
digitalWrite(ledjaune,HIGH);
delay(100);
moteur.write(90);
delay(1000);
digitalWrite(ledjaune,LOW);
delay(1000);
digitalWrite(ledverte,HIGH);
tone(buzzer,900,100);
}
else
{
digitalWrite(ledjaune,LOW);
digitalWrite(ledverte,LOW);
delay(100);
digitalWrite(ledrouge,HIGH);
moteur.write(0);
}
delay(1000);
}