Code Arduino et vidéo pour le capteur de distance ultrasonique HC-SR04
Dans ce tutoriel, nous verrons comment utiliser le capteur de distance ultrasonique HC-SR04 avec un Arduino. Le HC-SR04 est un moyen économique et efficace de mesurer des distances à l'aide d'ondes ultrasonores. En envoyant un signal et en mesurant le temps que met l'écho à revenir, nous pouvons calculer avec précision la distance jusqu'à un objet.

Ce projet consiste à configurer le capteur avec un Arduino et à écrire un programme simple pour lire et afficher les mesures de distance. Le programme utilisera la bibliothèque NewPing pour simplifier la communication avec le capteur. Si vous souhaitez une référence visuelle ou des précisions supplémentaires sur certaines étapes, consultez la vidéo (dans la vidéo à 00:00).
Le matériel expliqué
Le capteur ultrasonique HC-SR04 se compose de deux composants principaux : un émetteur et un récepteur. L'émetteur envoie des impulsions ultrasonores à une fréquence supérieure à la plage d'audition humaine, tandis que le récepteur écoute l'écho de ces impulsions après avoir rebondi sur un objet. En calculant le temps écoulé entre l'envoi de l'impulsion et la réception de l'écho, on peut déterminer la distance jusqu'à l'objet.
Le capteur possède deux broches essentielles : la broche de déclenchement et la broche d'écho. La broche de déclenchement sert à lancer la mesure en envoyant une brève impulsion à l'état haut, tandis que la broche d'écho reçoit le signal réfléchi et mesure le temps que met l'écho pour revenir.
Détails de la fiche technique
| Fabricant | HC-SR04 |
|---|---|
| Numéro de pièce | HC-SR04 |
| Tension logique/E/S | 5 V |
| Tension d'alimentation | 5 V |
| Courant de sortie (par canal) | 15 mA |
| Courant de crête (par canal) | 20 mA |
| Directives sur la fréquence PWM | Sans objet |
| Seuils logiques d'entrée | 0.3 V (bas), 0.7 V (haut) |
| Chute de tension / RDS(on)/ saturation | Sans objet |
| Limites thermiques | 0 °C à 70 °C |
| Paquet | Module |
| Notes / variantes | Portée maximale 400 cm |
- Assurez-vous d'une alimentation électrique adéquate (5 V).
- Maintenez le capteur propre pour des mesures précises.
- Utilisez la broche de déclenchement pour lancer les mesures.
- Ne dépassez pas la distance maximale pour des résultats fiables.
- Maintenez un chemin dégagé pour que les ondes ultrasonores puissent être réfléchies.
- Utilisez des condensateurs de découplage près des broches d'alimentation.
- Faites attention au bruit ambiant qui pourrait perturber les mesures.
- Testez différentes distances pour vous familiariser avec le capteur.
Instructions de câblage


Pour câbler le capteur ultrasonique HC-SR04 à votre Arduino, suivez ces étapes :
- Connectez le
VCCbroche du HC-SR04 à la broche 5V de l'Arduino. - Connectez le
GNDbroche du HC-SR04 à une broche de masse sur l'Arduino. - Connectez le
TRIGla broche du HC-SR04 (qui est généralement bleue) à la broche numérique 12 de l'Arduino. - Connectez le
ECHObroche du HC-SR04 (qui est généralement verte) à la broche numérique 11 de l'Arduino.
Assurez-vous que les connexions sont bien fixées afin d’éviter des mesures intermittentes. Si vous utilisez une configuration différente ou un câblage alternatif, reportez-vous à la vidéo pour des indications supplémentaires (dans la vidéo à 00:00).
Exemples de code et guide pas à pas
Le code suivant initialise la bibliothèque NewPing et configure les broches pour le capteur HC-SR04. Les principaux éléments comprennent la définition des broches de déclenchement et d'écho, ainsi que la distance maximale.
#define TRIGGER_PIN 12 // Trigger pin
#define ECHO_PIN 11 // Echo pin
#define MAX_DISTANCE 200 // Max distance in cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPingDans cet extrait, leTRIGGER_PINetECHO_PINsont configurés sur les broches numériques 12 et 11, respectivement. LeMAX_DISTANCEest défini comme 200 cm, ce qui correspond à la distance maximale que vous souhaitez mesurer.
Ensuite, nous avons la fonction setup où le moniteur série est initialisé pour afficher les résultats :
void setup() {
Serial.begin(115200); // Initialize serial monitor
}Ce code ouvre la communication série à une vitesse de 115200 bauds, ce qui nous permet de voir les mesures de distance dans le moniteur série.
Enfin, la fonction loop mesure la distance et vérifie si elle est inférieure ou égale à 12 cm :
void loop() {
delay(50); // Wait between pings
int distance = sonar.ping_cm(); // Measure distance
if(distance <=12){ // Check distance
Serial.println("Very close"); // Print if very close
}
}Dans leloop(), nous introduisons un délai de 50 millisecondes pour contrôler la fréquence des mesures. La distance est mesurée et, si elle est inférieure ou égale à 12 cm, le moniteur série affiche «Très proche».
Pour le code complet, veuillez vous référer à la section de chargement située sous l'article.
Démonstration / À quoi s'attendre
Lorsque vous exécutez le programme, l'Arduino mesurera en continu la distance jusqu'à l'objet le plus proche. Il doit afficher la distance en centimètres et vous avertir avec « Très proche » lorsqu'un objet est détecté à moins de 12 cm. Si l'objet est trop près, vous pouvez obtenir des mesures inexactes ou aucune mesure, comme indiqué dans la vidéo (dans la vidéo à 10:00).
Assurez-vous que le capteur est correctement positionné et qu'aucun obstacle ne bloque les ondes ultrasonores. Si tout est correctement configuré, vous devriez voir des mesures cohérentes affichées dans le moniteur série.
Horodatages vidéo
- 00:00- Introduction au HC-SR04
- 01:30- Câblage du capteur
- 03:00- Aperçu du code
- 05:00- Exécution du programme
- 07:30- Mesurer les distances
Ce dont vous pourriez avoir besoin
-
eBay
-
BanggoodAchetez le capteur ultrason HC-SR04 sur Banggoodbanggood.com
Ressources et références
-
ExterneBibliothèque ultrasonique HC-SR04 du site officiel d'Arduinoplayground.arduino.cc
Fichiers📁
Aucun fichier disponible.