Bonjour,
Voila je test un module HC-SR04 sur une arduino Uno avec une carte 4 relais.
Le but de ce montage, c'est d'allumer une lampe si le module détecte une personne a moins de 80cm par exemple.
Voici le code employé:
/* HC-SR04 */ #define trigPin 2 #define echoPin 3 #define Q1 4 #define Q2 5 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(Q1, OUTPUT); pinMode(Q2, OUTPUT); } void loop() { 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 (distance < 80) { // Si distance inférieur a 80cm digitalWrite(Q1,LOW); // Activation relais 1 digitalWrite(Q2,HIGH); // Relais 2 a zéro } else { digitalWrite(Q1,HIGH); //Relais 1 à 0 digitalWrite(Q2,LOW); //Relais 2 à 1 } delay(1000); }
Mais voila, y a un petit problème.
Le relais change d’état même si une forme se trouve dans la zone de détection.
Cela pourrait il venir que les ondes sont mal renvoyer?
J'ai tester aussi avec un module PIR et c'est pas mieux j'obtiens tout et n'importe quoi comme résultat. (c'est une autre histoire )
Voila j'attend vos commentaires.