Ce projet a pour objectif de concevoir et de réaliser une poubelle intelligente en utilisant une carte ESP32, un capteur à ultrasons HC-SR04, un servomoteur SG-90 et une structure en carton.
L'objectif principal est d'automatiser l'ouverture et la fermeture du couvercle de la poubelle afin de limiter le contact direct avec celle-ci, améliorant ainsi l'hygiène et le confort d'utilisation. Ce projet permet également de mettre en pratique les notions de programmation embarquée, d'interfaçage de capteurs et de commande d'actionneurs à l'aide de la carte ESP32.
Fonctionnement du projet
Le système repose sur un capteur à ultrasons HC-SR04 placé sur la partie supérieure de la poubelle. Ce capteur mesure en permanence la distance entre la poubelle et un objet situé devant elle.
Lorsqu'une main ou un objet est détecté à une distance prédéfinie (par exemple inférieure à 20 cm), la carte ESP32 traite l'information reçue et commande le servomoteur SG-90 pour ouvrir automatiquement le couvercle de la poubelle.
Le couvercle reste ouvert pendant quelques secondes afin de permettre le dépôt des déchets. Après ce délai, et si aucun nouvel objet n'est détecté, l'ESP32 ordonne au servomoteur de refermer le couvercle.
La structure de la poubelle est réalisée en carton, offrant une solution légère, économique et facile à fabriquer pour la réalisation d'un prototype pédagogique.
1- Carte ESP32

La carte ESP32 est le cœur du système. Elle exécute le programme qui contrôle le fonctionnement de la poubelle intelligente. Elle reçoit les informations du capteur à ultrasons et commande le servomoteur pour ouvrir ou fermer le couvercle selon la présence d'un utilisateur.
2. Capteur ultrasonique HC-SR04

Le HC-SR04 est utilisé pour détecter la présence d'une main ou d'un objet devant la poubelle. Il mesure la distance en émettant une onde ultrasonique puis en calculant le temps de retour de l'écho.
3. Servomoteur

Le servomoteur SG90 est un petit moteur capable de tourner avec précision selon un angle déterminé. Il reçoit des commandes de la carte ESP32 pour effectuer un mouvement de rotation.
Dans ce projet, il est utilisé pour ouvrir et fermer automatiquement le couvercle de la poubelle.
4. Câbles de Connexion (Jumper Wires)

Les fils de connexion permettent de relier les différents composants entre eux.
5. Plaque d'essai

La plaque d’essai (breadboard) permet de réaliser des montages électroniques sans soudure.


1- Connexion du capteur HC-SR04 à la carte ESP32
| Capteur HC-SR04 | Carte ESP32 |
|---|---|
| VCC | 3V3 |
| GND | GND |
| Trig | GPIO 23 |
| Echo | GPIO 22 |
2- Connexion du servomoteur à la carte ESP32
| Servomoteur | Carte ESP32 |
|---|---|
| Fil rouge (+) | 5V |
| Fil marron (-) | GND |
| Fil jaune (S) | GPIO 21 |
Ce programme Micropython réalise un système d’ouverture automatique de couvercle à l’aide d’un capteur à ultrasons HC-SR04 et d’un servomoteur.
Vous devez importer cette bibliothèque hc-sr04 pour utiliser la capteur 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# ========================================================== # Importation des bibliothèques nécessaires # ========================================================== import machine from machine import Pin, SoftI2C from hcsr04 import HCSR04 # Bibliothèque du capteur ultrason HC-SR04 import time # Gestion des temporisations from servo import Servo # Bibliothèque de commande du servomoteur # ========================================================== # Initialisation du capteur à ultrasons HC-SR04 # trigger_pin : broche d'émission # echo_pin : broche de réception # echo_timeout_us : délai maximal d'attente de l'écho # ========================================================== sensor = HCSR04( trigger_pin=23, echo_pin=22, echo_timeout_us=1000000 ) # ========================================================== # Initialisation du servomoteur connecté à la broche GPIO21 # Le couvercle de la poubelle est initialement fermé (0°) # ========================================================== servo_motor = Servo(pin=21) servo_motor.move(0) # ========================================================== # Boucle principale # ========================================================== while True: # ------------------------------------------------------ # Mesure de la distance entre le capteur HC-SR04 # et l'objet placé devant la poubelle # ------------------------------------------------------ distance = sensor.distance_cm() # Affichage de la distance mesurée (à activer si nécessaire) # print("Distance =", distance, "cm") # ------------------------------------------------------ # Si un objet est détecté à moins de 5 cm, # le servomoteur ouvre le couvercle (90°) # ------------------------------------------------------ if distance < 5: # Ouverture du couvercle servo_motor.move(90) # Maintien du couvercle ouvert pendant 3 secondes time.sleep_ms(3000) else: # -------------------------------------------------- # Aucun objet détecté : # fermeture du couvercle (position 0°) # -------------------------------------------------- servo_motor.move(0) # ------------------------------------------------------ # Petite temporisation avant la prochaine mesure # afin d'éviter des lectures trop rapides # ------------------------------------------------------ time.sleep_ms(500) |
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
Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info