L’objectif de ce tutoriel est d’apprendre à mesurer la distance entre un obstacle et le capteur ultrasons HC-SR04, puis à afficher la valeur mesurée sur un écran LCD I2C à l’aide de la carte ESP8266 NodeMCU.
Ce projet permet de comprendre le principe de fonctionnement du capteur à ultrasons, de manipuler les signaux de déclenchement (Trigger) et de réception (Echo), ainsi que de maîtriser la communication I2C pour l’affichage des données.
Ce tutoriel permet d’apprendre à :
- comprendre le principe de fonctionnement du capteur à ultrasons HC-SR04.
- programmer la carte ESP8266 NodeMCU en MicroPython pour générer et lire des signaux numériques.
- calculer la distance à partir du temps mesuré entre Trigger et Echo.
- utiliser un écran LCD I2C pour afficher des informations de manière claire et ergonomique.
- réaliser un montage électronique simple et pratique applicable à des projets de robotique, domotique ou détection d’obstacles.
Le capteur HC-SR04 est un capteur à ultrasons utilisé pour mesurer des distances sans contact. Il fonctionne selon le principe de l’écho ultrasonore, semblable à celui utilisé par les chauves-souris pour se repérer dans l’espace.
Le module HC-SR04 est composé de deux transducteurs ultrasoniques :
Un émetteur (Trigger) : envoie une onde ultrasonore à une fréquence d’environ 40 kHz.
Un récepteur (Echo) : capte l’onde réfléchie par un obstacle situé en face du capteur.
Principe de mesure
1- La carte ESP8266 envoie une impulsion électrique d’environ 10 microsecondes sur la broche Trigger du capteur.
2- Cette impulsion déclenche l’émission d’un train d’ondes ultrasonores (8 impulsions à 40 kHz).
3- Lorsque ces ondes rencontrent un obstacle, elles sont réfléchies vers le capteur.
4- Le récepteur capte l’écho et renvoie un signal électrique sur la broche Echo pendant toute la durée du trajet aller-retour du son.
5- Le microcontrôleur mesure la durée du signal Echo (en microsecondes) et calcule la distance à partir de cette durée.
1. Carte ESP8266 NodeMCU
La NodeMCU est une carte de développement qui :
a) commande le capteur HC-SR04 (envoyer le signal Trigger et lire le signal Echo).
b) calculer la distance mesurée.
c) Envoie la valeur à l’écran LCD I2C pour affichage.
2. Capteur à ultrasons HC-SR04
Ce capteur sert à mesurer la distance entre lui et un obstacle sans contact.
Il envoie une onde ultrasonore et mesure le temps nécessaire à son retour après réflexion.
Ses deux transducteurs (émetteur et récepteur) permettent une détection précise jusqu’à environ 4 mètres.
3. Écran LCD I2C (20x4)
L’écran LCD affiche les informations en temps réel (par exemple, la distance mesurée).
Le module I2C intégré permet de réduire le nombre de broches nécessaires à seulement deux fils de communication :
4. Plaque d’essai (breadboard)
La breadboard permet de réaliser les connexions entre la carte, le capteur et l’écran LCD sans soudure.
Elle est idéale pour les tests et les montages temporaires.
5. Câbles de connexion (jumpers)
Les fils mâle-mâle ou mâle-femelle servent à relier les composants entre eux :
- entre la carte NodeMCU et le capteur HC-SR04,
- entre la carte et l’écran LCD I2C.
Pour le Capteur HC-SR04 :
Connecter la broche VCC du capteur HC-SR04 à la broche 3V de la carte ESP8266
Connecter la broche GND du capteur HC-SR04 à la broche GND de la carte ESP8266
Connecter la broche Trig du capteur HC-SR04 à la broche D5 (GPIO14) de la carte ESP8266
Connecter la broche Echo du capteur HC-SR04 à la broche D6 (GPIO12) de la carte ESP8266
Pour l'Afficheur LCD I2C :
- Connecter la broche VCC de l'afficheur à 5V de la carte ESP8266
- Connecter la broche GND de l'afficheur à GND de la carte ESP8266
- Connecter la broche SDA de l'afficheur à la broche D2 (GPIO4) de la carte ESP8266
- Connecter la broche SCL de l'afficheur à la broche D1 (GPIO5) de la carte ESP8266
Pour programmer la carte ESP8266 avec MicroPython afin de mesurer la distance entre le capteur HC-SR04 et un objet et l'afficher sur l'écran LCD I2C, vous devez importer ces bibliothèques:
- "i2c_lcd" et "lcd_api" dédiées à l'écran LCD I2C
-"hc-sr04" dédiées au capteur ultrason HC-SR04
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import machine from machine import Pin, SoftI2C from lcd_api import LcdApi from i2c_lcd import I2cLcd from hcsr04 import HCSR04 import time I2C_ADDR = 0x27 totalRows = 2 totalColumns = 16 # Configure I2C for LCD screen i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=10000) lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) # Configure HC-SR04 pins sensor = HCSR04(trigger_pin=14,echo_pin=12,echo_timeout_us=1000000) while True: #calculate distance between the HC-SR04 sensor and an object distance = sensor.distance_cm() print('distance= ',distance,' cm') # show distance on LCD I2C display lcd.putstr("distance= ") lcd.putstr(str(int(distance))) lcd.putstr(" cm") time.sleep_ms(2000) lcd.clear() |
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info