Concevoir un système de détection d’obstacles à l’aide de la carte ESP8266 NodeMCU et du capteur à ultrasons HC-SR04.
Ce système permet de mesurer la distance entre le capteur et un obstacle et d’alerter l’utilisateur grâce à une LED et un buzzer lorsque l’obstacle se trouve à une distance critique.
L’objectif est de comprendre :
- le principe de fonctionnement du capteur HC-SR04
- la connexion entre le capteur, la LED, le buzzer et la carte ESP8266 NodeMCU
- le développement d’un programme MicroPython capable de mesurer la distance et d’activer les signaux d’alerte
- l’utilisation pratique d’un tel système dans des applications de robotique ou de sécurité
Ce système de détection d’obstacles utilise la carte ESP8266 NodeMCU comme unité de commande principale.
Il combine le capteur à ultrasons HC-SR04 pour mesurer la distance, une LED et un buzzer pour signaler la présence d’un obstacle, ainsi qu’un écran LCD I2C pour afficher les mesures en temps réel.
Étapes de fonctionnement du système :
1- Émission du signal ultrasonore :
Le capteur HC-SR04 est commandé par la broche TRIG pilotée par la carte ESP8266 NodeMCU.
Lorsque la carte envoie une impulsion électrique, le capteur émet un train d’ondes ultrasonores (inaudibles pour l’oreille humaine).
2- Réflexion du signal sur l’obstacle :
Ces ondes se propagent dans l’air et sont réfléchies lorsqu’elles rencontrent un obstacle.
3- Réception du signal réfléchi :
La broche ECHO du capteur reçoit le signal de retour.
Le capteur mesure le temps total écoulé entre l’envoi et la réception de l’onde.
4- Calcul de la distance :
La carte ESP8266 NodeMCU calcule la distance entre le capteur et l’obstacle
5- Détection de proximité et alerte :
Si la distance mesurée est supérieure au seuil de sécurité, la LED reste éteinte et le buzzer est silencieux.
Si la distance devient inférieure au seuil défini (par exemple < 3 cm), la LED s’allume , le buzzer émet un signal sonore pour avertir de la présence d’un obstacle proche et un message d'alerte est affiché sur l'écran LCD.
1. Carte ESP8266 NodeMCU
C’est l’unité de commande principale du système.
Elle envoie les impulsions au capteur HC-SR04, reçoit les données de mesure, calcule la distance, et contrôle la LED, le buzzer et l’écran LCD.
2. Capteur à ultrasons HC-SR04
Ce capteur mesure la distance entre le capteur et un obstacle.
Il émet un signal ultrasonore via sa broche TRIG et mesure le temps de retour du signal via la broche ECHO.
3. LED (Light Emitting Diode)
La LED indique la présence d’un obstacle par un signal lumineux.
Elle s’allume lorsque la distance mesurée est inférieure à un seuil défini.
4. Buzzer
Le buzzer fournit une alerte sonore lorsqu’un obstacle est détecté à proximité.
Il émet un son lorsque la distance mesurée devient inférieure au seuil fixé.
5. Écran LCD I2C (16x2)
L'écran LCD affiche la distance mesurée entre le capteur et l’obstacle en temps réel.
6. Câbles de connexion (fils Dupont)
Les câbles de connexion permettent les connexions entre les composants, la breadboard et la carte ESP8266.
7. Breadboard (plaque d’essai)
La plaque d'essai sert à assembler facilement les composants sans soudure.
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 la LED
- Connectez la borne positive (anode) de la LED à la broche D0 (GPIO16) de la carte ESP8266.
- Connectez la borne négative (cathode) de chaque LED à la masse (GND) de la carte ESP32.
Pour le buzzer
- Connecter la borne (+) du buzzer à la broche D3 (GPIO0) de la carte ESP32.
- Connecter la borne (-) du buzzer à la broche GND de la carte ESP32.
La programmation de la carte ESP8266 avec MicroPython pour commander un système de détection d'obstacles avec HC-SR04, LED et buzzer peut être effectuée en utilisant le langage MicroPython.
Pour ce faire:
1- Importez la bibliothèque hc-sr04 pour le capteur ultrason HC-SR04
2- Importer les bibliothèques "i2c_lcd" et "lcd_api" dédiées à l'écran LCD I2C
3- Écrivez le code suivant :
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import machine from machine import Pin, SoftI2C from lcd_api import LcdApi from i2c_lcd import I2cLcd from hcsr04 import HCSR04 import time # Configure I2C for LCD screen I2C_ADDR = 0x27 totalRows = 4 totalColumns = 20 i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=10000) #initializing the I2C method for ESP8266 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) # Configure HC-SR04 pins sensor = HCSR04(trigger_pin=14,echo_pin=12,echo_timeout_us=1000000) # Configure buzzer and led pins redled_pin=Pin(16, Pin.OUT) buzzer_pin=Pin(0, Pin.OUT) while True: #calculate distance between the HC-SR04 sensor and an obstacle distance = sensor.distance_cm() print('distance= ',distance,' cm') # Check if obstacle is detected if (distance<3): # detect an obstacle # Activate buzzer and LED redled_pin.value(1) buzzer_pin.value(1) # show alert message on LCD I2C display lcd.move_to(1,0) lcd.putstr("attention!!") lcd.move_to(1,1) lcd.putstr("Obstacle detected") else: # Disable buzzer and LED redled_pin.value(0) buzzer_pin.value(0) lcd.clear() time.sleep_ms(100) |
Si le capteur ultrason HC-SR04 détecte un obstacle, la carte ESP8266 allume la LED, fait sonner le buzzer et affiche un message d'alerte sur l'afficheur LCD I2C.
Dans le cas contraire, la carte ESP826 éteint le LED, arrête le buzzer et efface le message d'alerte.
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