Ligne 1 : |
Ligne 1 : |
| {{MCH-Aider}} | | {{MCH-Aider}} |
− |
| |
− | {{traduction}}
| |
| | | |
| == Introduction == | | == Introduction == |
Ligne 9 : |
Ligne 7 : |
| | | |
| === principe de fonctionnement === | | === principe de fonctionnement === |
− | [[Fichier:HC-SR04-10.jpg|640px]] | + | [[Fichier:HC-SR04-10.jpg|480px]] |
| | | |
| # Le module émet une onde sonar composée d'une série de 8 impulsions à 40 kHz.<br />Un son à 40 KHz est inaudible pour l'oreille humaine capable de percevoir [http://fr.wikipedia.org/wiki/Audition_humaine des sons entre 16Hz et 16KHz] (cfr Wikipédia). | | # Le module émet une onde sonar composée d'une série de 8 impulsions à 40 kHz.<br />Un son à 40 KHz est inaudible pour l'oreille humaine capable de percevoir [http://fr.wikipedia.org/wiki/Audition_humaine des sons entre 16Hz et 16KHz] (cfr Wikipédia). |
Ligne 16 : |
Ligne 14 : |
| | | |
| {{underline|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! | | {{underline|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 == | | == Brancher == |
| | | |
Ligne 23 : |
Ligne 22 : |
| Voici un programme d'exemple dont nous avons traduit les commentaire pour le rendre plus facile à comprendre. | | Voici un programme d'exemple dont nous avons traduit les commentaire pour le rendre plus facile à comprendre. |
| | | |
− | <nowiki>/* | + | <nowiki>/* Senseur de distance Ultrason HC-SR04: |
− | HC-SR04 Ping distance sensor:
| + | VCC sur Arduino 5v |
− | VCC to arduino 5v | + | GND sur Arduino GND |
− | GND to arduino GND | + | Echo sur Arduino broche 7 |
− | Echo to Arduino pin 7 | + | Trig sur Arduino broche 8 |
− | Trig to Arduino pin 8 | |
| | | |
− | This sketch originates from Virtualmix: http://goo.gl/kJ8Gl | + | Ce sketch/croquis est originaire de Virtualmix: http://goo.gl/kJ8Gl |
− | Has been modified by Winkle ink here: | + | Il a été modifié par Winkle ink ici: |
− | http://winkleink.blogspot.com.au/2012/05/arduino-hc-sr04-ultrasonic-distance.html
| + | http://winkleink.blogspot.com.au/2012/05/arduino-hc-sr04-ultrasonic-distance.html |
− | And modified further by ScottC here: http://arduinobasics.blogspot.com/ | + | Puis modifié par ScottC le 10 Nov 2012: |
− | on 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 // Echo Pin | + | #define echoPin 7 // broche Echo |
− | #define trigPin 8 // Trigger Pin | + | #define trigPin 8 // broche Trigger (declenchement) |
− | #define LEDPin 13 // Onboard LED | + | #define LEDPin 13 // LED de la carte Ardiono (branché sur la broche 13) |
| | | |
− | int maximumRange = 200; // Maximum range needed | + | int maximumRange = 200; // distance Maximale acceptée (en cm) |
− | int minimumRange = 0; // Minimum range needed | + | int minimumRange = 0; // distance Minimale acceptée (en cm) |
− | long duration, distance; // Duration used to calculate distance | + | long duration, distance; // Durée utilisé pour calculer la distance |
| | | |
| void setup() { | | void setup() { |
| + | // Activer la communication série |
| Serial.begin (9600); | | Serial.begin (9600); |
| + | // Activer les broches |
| pinMode(trigPin, OUTPUT); | | pinMode(trigPin, OUTPUT); |
| pinMode(echoPin, INPUT); | | pinMode(echoPin, INPUT); |
− | pinMode(LEDPin, OUTPUT); // Use LED indicator (if required) | + | 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() { | | void loop() { |
− | /* The following trigPin/echoPin cycle is used to determine the | + | // Envoi une impulsion de 10 micro seconde sur la broche "trigger" |
− | distance of the nearest object by bouncing soundwaves off of it. */
| |
| digitalWrite(trigPin, LOW); | | digitalWrite(trigPin, LOW); |
| delayMicroseconds(2); | | delayMicroseconds(2); |
Ligne 63 : |
Ligne 69 : |
| | | |
| digitalWrite(trigPin, LOW); | | digitalWrite(trigPin, LOW); |
| + | |
| + | // Attend que la broche Echo passe au niveau HAUT |
| + | // retourne la durée |
| duration = pulseIn(echoPin, HIGH); | | duration = pulseIn(echoPin, HIGH); |
| | | |
− | //Calculate the distance (in cm) based on the speed of sound. | + | //Calculer la distance (en cm, basé sur la vitesse du son). |
| distance = duration/58.2; | | distance = duration/58.2; |
| | | |
| + | // Si la distance mesurée est HORS des valeurs acceptables |
| if (distance >= maximumRange || distance <= minimumRange){ | | if (distance >= maximumRange || distance <= minimumRange){ |
− | /* Send a negative number to computer and Turn LED ON
| + | /* Envoyer une valeur négative sur la liaison série. |
− | to indicate "out of range" */
| + | Activer la LED pour indiquer que l'erreur */ |
− | Serial.println("-1");
| + | Serial.println("-1"); |
− | digitalWrite(LEDPin, HIGH);
| + | digitalWrite(LEDPin, HIGH); |
| } | | } |
| else { | | else { |
− | /* Send the distance to the computer using Serial protocol, and
| + | /* Envoyer la distance vers l'ordinateur via liaison série. |
− | turn LED OFF to indicate successful reading. */
| + | Eteindre la LED pour indiquer une lecture correcte. */ |
− | Serial.println(distance);
| + | Serial.println(distance); |
− | digitalWrite(LEDPin, LOW);
| + | digitalWrite(LEDPin, LOW); |
| } | | } |
| | | |
− | //Delay 50ms before next reading. | + | //Attendre 50ms avant d'effectuer la lecture suivante. |
| delay(50); | | delay(50); |
| }</nowiki> | | }</nowiki> |
| + | |
| + | == 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). |
| + | |
| + | <!-- [[Fichier:HC-SR04-20.jpg|480px]] --> |
| | | |
| == Où Acheter == | | == Où Acheter == |
− | * Le {{pl|561|senseur HC-SR04}} est disponible chez MC Hobby. | + | * {{pl|561|senseur HC-SR04}} est disponible chez MC Hobby. |
| + | * {{pl|10|Arduino Uno}} |
| + | * {{pl|53|Breadboard}} |
| + | * {{pl|34|Fils pour Breadboard}} |
| + | * {{pl|82|Assortiment de fils multi-fonctionnel}} (bien pratique pour effectuer rapidement un montage de test) |
| | | |
| <hr /> | | <hr /> |
| {{MCH-Accord}} | | {{MCH-Accord}} |