Un système de détection d'obstacles est une technologie conçue pour identifier et localiser des objets ou des obstacles dans un environnement donné. Ces systèmes sont couramment utilisés dans divers domaines tels que l'automobile, la robotique, la surveillance, les drones, etc.
Le système que vous souhaitez créer utilise le capteur ultrasonique HC-SR04 pour détecter la distance entre l'obstacle et le capteur. L'ESP32 est utilisé comme microcontrôleur pour gérer les données du capteur et contrôler les autres composants tels que l'afficheur LCD, la LED et le buzzer.
Capteur ultrasonique HC-SR04 :
Le HC-SR04 utilise des ultrasons pour mesurer la distance. Il émet un signal ultrasonique par le transducteur (Trig), qui se réfléchit sur l'obstacle, puis revient au capteur (Echo). En mesurant le temps que prend le signal pour aller et revenir, on peut calculer la distance.
ESP32 :
L'ESP32 est programmé pour lire les signaux du capteur HC-SR04, traiter les données pour calculer la distance, et réagir en conséquence. Il utilise deux GPIOs pour le déclenchement (Trig) et la réception (Echo) du HC-SR04.
Afficheur LCD 16x2 :
L'afficheur LCD est utilisé pour afficher la distance mesurée par le capteur. L'ESP32 envoie les données au LCD via le protocole I2C (SDA et SCL). Vous devrez utiliser une bibliothèque appropriée dans votre code pour faciliter la communication.
LED :
Une LED est utilisée pour indiquer visuellement la présence d'un obstacle. Vous pouvez programmer l'ESP32 pour allumer la LED lorsque la distance mesurée est inférieure à une certaine valeur (obstacle détecté).
Buzzer :
Le buzzer peut être utilisé pour émettre un signal sonore lorsqu'un obstacle est détecté. Vous pouvez programmer l'ESP32 pour activer le buzzer lorsque la distance mesurée est inférieure à une certaine valeur.
En résumé, le processus global implique la lecture des données du capteur ultrasonique, le calcul de la distance, l'affichage de cette distance sur l'afficheur LCD, et l'activation de la LED et du buzzer en fonction de seuils prédéfinis pour signaler la présence d'un obstacle.
Carte ESP32 :
L'ESP32 est un microcontrôleur à faible consommation d'énergie, doté de fonctionnalités Wi-Fi et Bluetooth intégrées. Il est largement utilisé dans le domaine de l'IoT (Internet des Objets), du développement de projets embarqués et dans d'autres applications nécessitant une connectivité sans fil et un traitement de données sur une petite échelle.
Capteur HC-SR04 :
Le capteur ultrason HC-SR04 est un dispositif électronique utilisé pour mesurer la distance entre le capteur et un objet en utilisant des ondes ultrasonores.
Afficheur LCD I2C :
Un écran LCD qui simplifie la connexion à la carte ESP32 en utilisant le protocole I2C. Il comprend un contrôleur intégré qui réduit le nombre de broches nécessaires pour le connecter à la carte ESP32.
Il est utilisé pour afficher la distance entre le capteur ultrason HC-SR04 et un objet détecté.
Buzzer
Un buzzer est un composant électronique qui produit un son lorsqu'il est alimenté en courant électrique. Il est souvent utilisé pour émettre des signaux sonores dans divers dispositifs électroniques.
L'intégration d'un buzzer dans un système de détection d'obstacles permet d'ajouter un avertissement sonore lorsqu'un obstacle est détecté.
LED
L'utilisation d'une LED dans un système de détection d'obstacles peut fournir un indicateur visuel lorsque le capteur détecte la proximité d'un objet.
Résistance
Lorsque vous utilisez une LED dans un circuit, il est généralement nécessaire d'ajouter une résistance en série avec la LED pour limiter le courant qui la traverse. Cela protège la LED et évite qu'elle ne soit endommagée en raison d'un courant excessif.
Fils de connexion :
Pour établir les connexions physiques entre la carte ESP32, le capteur HC-SR04, l'afficheur LCD I2C, le buzzer et la LED. Assurez-vous d'avoir des fils de bonne qualité pour des connexions stables.
Plaque d'essai (Breadboard) :
On utilise le plaque d'essai pour faciliter le câblage des différents composants.
Détail des connexions :
Pour le Capteur HC-SR04 :
Connecter la broche VCC du capteur HC-SR04 à la broche 3.3V de la carte ESP32.
Connecter la broche GND du capteur HC-SR04 à la broche GND de la carte ESP32.
Connecter la broche Trig du capteur HC-SR04 à la broche GPIO 16 de la carte ESP32.
Connecter la broche Echo du capteur HC-SR04 à la broche GPIO 17 de la carte ESP32.
Pour l'écran LCD I2C :
Connecter la broche VCC de l'écran à 5V de la carte ESP32
Connecter la broche GND de l'écran à GND de la carte ESP32
Connecter la broche SDA de l'écran à la broche analogique A4 de la carte ESP32
Connecter la broche SCL de l'écran à la broche analogique A5 de la carte ESP32
Pour le buzzer
Connecter la borne (+) du buzzer à la broche GPIO23 de la carte ESP32.
Connecter la borne (-) du buzzer à la broche GND de la carte ESP32.
Pour la LED
Connectez une résistance en série avec la LED: La résistance est connectée entre la broche GPIO19 et la borne positive (anode) de la LED.
Connectez la borne négative (cathode) de chaque LED à la masse (GND) de la carte ESP32.
La programmation de la carte ESP32 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- vous devez disposer d'un environnement MicroPython installé sur votre ESP32.
2- Flashez votre ESP32 avec MicroPython en utilisant Firmware esp32-20210902-v1.17.bin.
3- Importez la bibliothèque hc-sr04 pour le capteur ultrason HC-SR04
4- Importer les bibliothèques "i2c_lcd" et "lcd_api" dédiées à l'écran LCD I2C
5- É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 |
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 i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) #initializing the I2C method for ESP32 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) sensor = HCSR04(trigger_pin=16,echo_pin=17,echo_timeout_us=1000000) redled_pin=Pin(19, Pin.OUT) buzzer_pin=Pin(23, Pin.OUT) while True: distance = sensor.distance_cm() print('distance= ',distance,' cm') if (distance<4): redled_pin.value(1) # allumer la LED buzzer_pin.value(1) # afficher un message d'alerte sur l'afficheur LCD lcd.putstr("attention!!") lcd.move_to(0,1) lcd.putstr("obstacle detecte") else: redled_pin.value(0) # allumer la LED buzzer_pin.value(0) lcd.clear() time.sleep_ms(100) |
Explication du programme
Si le capteur ultrason HC-SR04 détecte un obstacle, la carte ESP32 allume la LED, fait sonner le buzzer et affiche un message d'alerte sur l'afficheur LCD I2C. Dans le cas contraire, la carte ESP32 é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