Bonsoir,
Aujourd'hui j'ai essayé de simuler un détecteur recul avec un capteur ultrason + Led + Buzzer, le but est est d'allumer la Led et déclencher le buzzer avec un intervalle proportionnelle a la distance d'un obstacle , le seul soucis que j'ai rencontré c'est en cas ou est loin de l'obstacle le delai est grand forcement grand ( je l'ai limité a 1,5 s) et si pendant ce temps on s'approche beaucoup plus de l'obstacle, le capteur ne le détecte pas à cause de l’arrêt de la boucle due à au delai.
voici mon code :
//
#define trig 10
#define echo 12
long lectureecho;
long cm;
int y;
int delai;
int led=2;
int buzzer= 6;
void setup() {
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
Serial.begin(9600);
pinMode(led,OUTPUT);
pinMode(buzzer,OUTPUT);
}
void loop() {
digitalWrite(trig,1);
delayMicroseconds(10);
digitalWrite(trig,0);
lectureecho=pulseIn(echo,1);
cm = lectureecho / 58;
Serial.print("Distancem : ");
Serial.println(cm);
y=map(cm,0,1000,20,1500);
delai=constrain(y,0,1500);
digitalWrite(led,1);
digitalWrite(buzzer,0);
delay(delai);
digitalWrite(led,0);
digitalWrite(buzzer,1);
delay(delai);
}
Donc est ce qu'il y a meilleur méthode de faire ça , genre garder un intervalle d'une seconde entre 2 détection de la distance ?
Merci pour votre partage