HC-SR04
Introduction
Le HC-SR04 est un module ultrason permettant l'évaluation d'une distance de 2cm à 400cm. La mesure est réalisée "sans contact" et dispose d'une précision de 3mm dans les conditions optimales. Le module inclus un émetteur et un récepteur ultrason ainsi qu'une électronique de contrôle. Le fonctionnement de ce module s'apparente à celui d'un sonar de sous marin et sa mise en oeuvre est relativement simple.
principe de fonctionnement
- Le module émet une onde sonar composée d'une série de 8 impulsions à 40 kHz.
Un son à 40 KHz est inaudible pour l'oreille humaine capable de percevoir des sons entre 16Hz et 16KHz (cfr Wikipédia). - En utilisant la broche Trig, vous envoyez un signal pour activer le déclenchement de l'impulsion sonar.
- Si le signal revient... la sortie passe au niveau haut durant toute la période où l'onde voyage vers l'objet et revient après avoir été réfléchit par se dernier.
Note: L'avantage d'utiliser un son plus aigu est qu'il est directionnel (se propage en ligne droite) alors que les basses fréquences transitent plutôt par la matière. C'est pour cette raison que l'on entend que les basses lorsques les voisins font la fiesta!
Brancher
Le programme
Voici un programme d'exemple dont nous avons traduit les commentaire pour le rendre plus facile à comprendre.
/* Senseur de distance Ultrason HC-SR04: VCC sur Arduino 5v GND sur Arduino GND Echo sur Arduino broche 7 Trig sur Arduino broche 8 Ce sketch/croquis est originaire de Virtualmix: http://goo.gl/kJ8Gl Il a été modifié par Winkle ink ici: http://winkleink.blogspot.com.au/2012/05/arduino-hc-sr04-ultrasonic-distance.html Puis modifié par ScottC le 10 Nov 2012: http://arduinobasics.blogspot.com/ Finalement traduit par MCHobby.be pour le tutoriel: http://wiki.mchobby.be/index.php?title=HC-SR04 */ #define echoPin 7 // broche Echo #define trigPin 8 // broche Trigger (declenchement) #define LEDPin 13 // LED de la carte Ardiono (branché sur la broche 13) int maximumRange = 200; // distance Maximale acceptée (en cm) int minimumRange = 0; // distance Minimale acceptée (en cm) long duration, distance; // Durée utilisé pour calculer la distance void setup() { // Activer la communication série Serial.begin (9600); // Activer les broches pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(LEDPin, OUTPUT); // activer la LED sur la carte (si nécessaire) } // Partie du code continuellement exécuté // Son but est d'effectuer un cycle de détection pour déterminer // la distance de l'objet le plus proche (par réverbération de // l'onde sur ce dernier) // void loop() { // Envoi une impulsion de 10 micro seconde sur la broche "trigger" digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Attend que la broche Echo passe au niveau HAUT // retourne la durée duration = pulseIn(echoPin, HIGH); //Calculer la distance (en cm, basé sur la vitesse du son). distance = duration/58.2; // Si la distance mesurée est HORS des valeurs acceptables if (distance >= maximumRange || distance <= minimumRange){ /* Envoyer une valeur négative sur la liaison série. Activer la LED pour indiquer que l'erreur */ Serial.println("-1"); digitalWrite(LEDPin, HIGH); } else { /* Envoyer la distance vers l'ordinateur via liaison série. Eteindre la LED pour indiquer une lecture correcte. */ Serial.println(distance); digitalWrite(LEDPin, LOW); } //Attendre 50ms avant d'effectuer la lecture suivante. delay(50); }
Comment tester
Ouvrez le moniteur série dans Arduino IDE (régler le débit sur 9600 Baud)... vous devriez voir défiler le résultat des différentes mesures (en Centimètre).
Où Acheter
- senseur HC-SR04 est disponible chez MC Hobby.
- Arduino Uno
- Breadboard
- Fils pour Breadboard
- Assortiment de fils multi-fonctionnel (bien pratique pour effectuer rapidement un montage de test)
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.