Ce projet a pour objectif de concevoir un robinet d'eau automatique sans contact à l'aide d'une carte ESP32. Le système permet de distribuer automatiquement de l'eau lorsqu'une main ou un récipient est détecté à proximité du capteur. Cette automatisation améliore l'hygiène, réduit le gaspillage d'eau et offre une solution pratique pour les habitations, les écoles, les laboratoires et les espaces publics.
Fonctionnement du projet
Le système utilise un capteur ultrasonique HC-SR04 pour mesurer en permanence la distance entre le capteur et un objet placé devant lui. Lorsque la main d'un utilisateur ou un récipient est détecté à une distance inférieure à la valeur définie dans le programme, le capteur envoie cette information à la carte ESP32.
L'ESP32 analyse les données reçues et active le module relais. Le relais fonctionne comme un interrupteur électronique permettant de commander la pompe à eau 12 V sans alimenter directement celle-ci à partir de la carte ESP32.
Une fois la pompe activée, l'eau est aspirée depuis le bocal en verre puis transportée à travers le tuyau plastique jusqu'à la sortie du robinet. L'eau s'écoule automatiquement tant que la présence de l'objet est détectée.
Lorsque la main ou le récipient est retiré, le capteur HC-SR04 ne détecte plus d'objet à proximité. L'ESP32 désactive alors le relais, ce qui coupe l'alimentation de la pompe. L'écoulement de l'eau s'arrête immédiatement.
Ainsi, le système assure une distribution d'eau automatique, rapide et hygiénique, sans qu'il soit nécessaire de toucher le robinet.
1- Carte ESP32

La carte ESP32 est l'unité de commande du système. Elle exécute le programme, reçoit les informations du capteur HC-SR04 et contrôle le module relais afin d'activer ou de désactiver la pompe à eau selon la distance détectée.
2. Capteur ultrasonique HC-SR04

Le HC-SR04 est un capteur de distance qui fonctionne à l'aide d'ondes ultrasoniques. Il détecte la présence d'une main ou d'un récipient devant le robinet et transmet les mesures à la carte ESP32.
3. Module relais

Le module relais agit comme un interrupteur électronique commandé par l'ESP32. Il permet de contrôler en toute sécurité l'alimentation de la pompe à eau 12 V à partir d'un signal de faible puissance fourni par la carte.
4. Pompe à eau de 12 V

La pompe à eau 12 V est chargée de faire circuler l'eau depuis le réservoir jusqu'à la sortie du robinet. Elle démarre lorsque le relais est activé et s'arrête lorsque le relais est désactivé.
5. Câbles de Connexion (Jumper Wires)

Les fils de connexion permettent de relier les différents composants entre eux.


1- Connexion du capteur HC-SR04 à la carte ESP32
| Capteur HC-SR04 | Carte ESP32 |
|---|---|
| VCC | 5V |
| GND | GND |
| Trig | GPIO 23 |
| Echo | GPIO 22 |
2- Connexion du module relais à la carte ESP32
| Module relais | Carte ESP32 |
|---|---|
| Broche positive (+) | 3V |
| Broche négative (-) | GND |
| Broche (S) | GPIO 21 |
3- Connexion de la pompe à eau
| Fil rouge (+) | Broche NO (Module relais) |
| Fil noir (-) | Borne négative (de deux plies de 3.7V) |
4- Connexion de deux piles de 3.7V au module relais
| deux piles | Module relais |
|---|---|
| Fil rouge (+) | Broche COM |
Ce programme MicroPython met en œuvre un système automatique basé sur un capteur à ultrasons HC-SR04 et un relais permettant de commander une pompe à eau, généralement dans des projets d’aut un robinet automatique.
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 68 69 |
# ========================================================== # PROJET : Système automatique avec capteur ultrason HC-SR04 # et relais pour commande de pompe # ========================================================== # ========================================================== # Importation des bibliothèques nécessaires # ========================================================== import machine # Accès aux broches GPIO de la carte ESP32 from hcsr04 import HCSR04 # Bibliothèque du capteur ultrason HC-SR04 import time # Gestion des délais et temporisations # ========================================================== # INITIALISATION DU CAPTEUR ULTRASON HC-SR04 # ========================================================== # trigger_pin : envoie l’impulsion ultrasonique # echo_pin : reçoit le signal réfléchi # echo_timeout_us : temps max d’attente de réponse (sécurité) sensor = HCSR04( trigger_pin=23, echo_pin=22, echo_timeout_us=1000000 ) # ========================================================== # INITIALISATION DU RELAIS (commande pompe à eau) # ========================================================== # Le relais est connecté à la broche GPIO21 # Il permet de commander une pompe 12V en toute sécurité relay_pump = Pin(21, Pin.OUT) # ========================================================== # BOUCLE PRINCIPALE (fonctionnement en continu) # ========================================================== while True: # ====================================================== # MESURE DE LA DISTANCE # ====================================================== # Le capteur mesure la distance entre lui et un objet # placé devant (main, récipient, etc.) distance = sensor.distance_cm() # Affichage de la distance (utile pour tests) # print("Distance =", distance, "cm") # ====================================================== # DÉTECTION D'UN OBJET PROCHE # ====================================================== # Si un objet est détecté à moins de 5.5 cm, # on active le relais pour démarrer la pompe if distance < 5.5 and distance > 0: # Activation du relais → pompe ON relay_pump.value(1) else: # ================================================== # AUCUN OBJET DÉTECTÉ # ================================================== # Désactivation du relais → pompe OFF relay_pump.value(0) # ====================================================== # PAUSE ENTRE DEUX MESURES # ====================================================== # Permet d’éviter des lectures trop rapides et instables time.sleep_ms(500) |
Explication du programme
Tout d’abord, le programme commence par l’importation des bibliothèques nécessaires. La bibliothèque machine permet de contrôler les broches GPIO de la carte ESP32. La classe Pin est utilisée pour définir les broches en entrée ou en sortie. La bibliothèque hcsr04 est utilisée pour piloter le capteur ultrasonique HC-SR04, tandis que la bibliothèque time permet d’ajouter des temporisations afin de stabiliser le fonctionnement du système.
Ensuite, le capteur HC-SR04 est initialisé. Il est configuré avec deux broches principales : une broche de déclenchement (trigger_pin) qui envoie une onde ultrasonique, et une broche de réception (echo_pin) qui récupère le signal réfléchi après avoir touché un obstacle. Le paramètre echo_timeout_us définit un temps maximum d’attente du signal afin d’éviter que le programme ne se bloque si aucun écho n’est reçu. Grâce à cette configuration, le capteur peut mesurer la distance entre lui et un objet placé devant.
Après cela, une broche de sortie est configurée pour contrôler un relais connecté à la broche GPIO21. Ce relais joue le rôle d’un interrupteur électronique permettant de commander une pompe à eau 12V. Il assure également l’isolation entre la partie basse tension (ESP32) et la partie haute tension ou plus puissante (pompe).
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