Le robinet automatique connecté a pour objectif de distribuer de l'eau sans contact manuel afin d'améliorer l'hygiène, d'économiser l'eau et d'automatiser le système d'arrosage ou de distribution. Il détecte la présence d'une main ou d'un objet à proximité et active automatiquement une pompe à eau. Grâce à l'ESP8266 NodeMCU, le système peut également être connecté à Internet pour permettre une surveillance ou un contrôle à distance.
Principe de fonctionnement
1- Le capteur HC-SR04 émet des ultrasons et mesure la distance entre le capteur et un objet.
2- Lorsque la distance détectée est inférieure à une valeur prédéfinie (par exemple 10 cm), le capteur envoie l'information à l'ESP8266.
3- L'ESP8266 traite cette information et active le module relais.
4- Le relais ferme son contact électrique et alimente la pompe à eau 12 V.
5- La pompe aspire l'eau du réservoir en verre et l'envoie à travers le tuyau plastique. L'eau sort automatiquement par le robinet.
6- Lorsque la main est retirée, la distance devient supérieure au seuil fixé. L'ESP8266 désactive le relais, la pompe s'arrête et l'écoulement de l'eau cesse.
1- Carte ESP8266 NodeMCU

L'ESP8266 NodeMCU est une carte de développement basée sur un microcontrôleur doté d'une connexion Wi-Fi intégrée. Il constitue le cerveau du système : il reçoit les informations du capteur HC-SR04, traite les données et commande le relais pour activer ou désactiver la pompe à eau. Sa connectivité Wi-Fi permet également de contrôler ou surveiller le système à distance.
2. Capteur ultrasonique HC-SR04

Le capteur HC-SR04 est un capteur de distance qui fonctionne grâce aux ultrasons. Il émet des ondes sonores à haute fréquence et mesure le temps nécessaire pour que l'écho revienne après avoir rencontré un obstacle. Il permet ainsi de détecter la présence d'une main ou d'un objet devant le robinet et de mesurer sa distance.
3. Module relais

Le module relais est un interrupteur commandé électroniquement. Il permet à l'ESP8266, qui fonctionne avec une faible tension, de contrôler la pompe à eau alimentée en 12 V. Lorsque le relais reçoit un signal de commande, il ouvre ou ferme le circuit électrique de la pompe.
4. Pompe à eau de 12 V

La pompe à eau est un dispositif électromécanique qui aspire l'eau du réservoir et la pousse vers la sortie du robinet. Elle fonctionne sous une tension de 12 volts et s'active uniquement lorsque le relais reçoit l'ordre de l'ESP8266.
5. Câbles de Connexion (Jumper Wires)

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

La plaque d’essai (breadboard) facilite le montage du circuit sans soudure. Elle permet de réaliser rapidement les connexions, de tester le fonctionnement du système et de modifier le câblage si nécessaire avant une intégration définitive.


1- Connexion du capteur HC-SR04 à la carte ESP8266 NodeMCU
| Capteur HC-SR04 | ESP8266 NodeMCU |
|---|---|
| VCC | 5V |
| GND | GND |
| Trig | D1 |
| Echo | D2 |
2- Connexion du module relais à la carte ESP8266 NodeMCU
| Module relais | ESP8266 NodeMCU |
|---|---|
| Broche positive (+) | 3V |
| Broche négative (-) | GND |
| Broche (S) | D4 |
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 en MicroPython permet de commander automatiquement une pompe à eau à l'aide d'un capteur à ultrasons HC-SR04 et d'un microcontrôleur ESP8266.
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 |
# ========================================================== # 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 # ========================================================== # Initialisation du capteur à ultrasons HC-SR04 # trigger_pin : broche qui envoie l'onde ultrasonore # echo_pin : broche qui reçoit l'écho réfléchi # echo_timeout_us : temps maximal d'attente de l'écho # ========================================================== sensor = HCSR04( trigger_pin=5, echo_pin=4, echo_timeout_us=1000000 ) # ========================================================== # Initialisation du module relais commandant la pompe à eau # GPIO2 : sortie numérique reliée à l'entrée du relais # Au démarrage, la pompe est arrêtée (relais désactivé) # ========================================================== relay_pump = Pin(2, Pin.OUT) # ========================================================== # Boucle principale du système # ========================================================== while True: # ------------------------------------------------------ # Mesure de la distance entre le capteur HC-SR04 # et la main de l'utilisateur placée devant le robinet # ------------------------------------------------------ distance = sensor.distance_cm() # Affichage de la distance mesurée (optionnel) # Permet de vérifier le bon fonctionnement du capteur # print("Distance =", distance, "cm") # ------------------------------------------------------ # Si une main est détectée à moins de 6 cm, # l'ESP8266 active le relais afin de démarrer # la pompe à eau et faire couler l'eau. # ------------------------------------------------------ if distance < 6: relay_pump.value(1) # Activation du relais → pompe ON else: # -------------------------------------------------- # Aucune main détectée : # arrêt de la pompe à eau pour économiser l'eau. # -------------------------------------------------- relay_pump.value(0) # Désactivation du relais → pompe OFF # ------------------------------------------------------ # Temporisation de 500 ms avant la prochaine mesure. # Cette pause évite des lectures trop fréquentes # et stabilise le fonctionnement du système. # ------------------------------------------------------ time.sleep_ms(500) |
Explication du programme
Au début du programme, les bibliothèques nécessaires sont importées. La bibliothèque machine permet d'accéder aux ressources matérielles de l'ESP8266, tandis que la bibliothèque hcsr04 est utilisée pour communiquer avec le capteur à ultrasons HC-SR04. La bibliothèque time sert à gérer les temporisations entre les différentes mesures effectuées par le système.
Ensuite, le capteur HC-SR04 est initialisé. Il est connecté à deux broches de l'ESP8266 : une broche d'émission (Trigger) qui envoie les ultrasons et une broche de réception (Echo) qui reçoit le signal réfléchi par un obstacle. Grâce à ce fonctionnement, le capteur est capable de mesurer avec précision la distance entre lui et un objet placé devant lui, comme la main d'un utilisateur.
Le programme configure également la broche GPIO2 comme une sortie numérique reliée à un module relais. Ce relais joue le rôle d'interrupteur électronique permettant de commander la pompe à eau alimentée en 12 V. Lorsque le relais est activé, la pompe reçoit l'alimentation électrique et commence à faire circuler l'eau. Lorsqu'il est désactivé, la pompe s'arrête.
Après l'initialisation, le programme entre dans une boucle infinie qui s'exécute continuellement tant que l'ESP8266 est sous tension. À chaque cycle, le capteur HC-SR04 mesure la distance entre lui et l'objet situé devant le robinet. La valeur mesurée est enregistrée dans une variable appelée distance.
Le programme compare ensuite cette distance à une valeur seuil fixée à 6 cm. Si la distance mesurée est inférieure à 6 cm, cela signifie qu'une main est détectée à proximité du robinet. Dans ce cas, l'ESP8266 active le relais, ce qui met en marche la pompe à eau. L'eau est alors pompée depuis le réservoir et s'écoule à travers le tuyau jusqu'à la sortie du robinet.
Lorsque la main est retirée et que la distance devient supérieure ou égale à 6 cm, le programme désactive le relais. La pompe cesse alors de fonctionner et l'écoulement de l'eau s'arrête automatiquement. Cette méthode permet d'éviter le gaspillage d'eau et d'améliorer l'hygiène en supprimant tout contact avec le robinet.
Enfin, une temporisation de 500 millisecondes est introduite à la fin de chaque cycle. Cette pause permet de stabiliser les mesures du capteur, d'éviter des lectures trop rapides et d'assurer un fonctionnement fiable du système.
En résumé, ce programme utilise le capteur HC-SR04 pour détecter la présence d'une main à proximité du robinet. L'ESP8266 traite les mesures de distance et commande un relais qui active ou désactive la pompe à eau selon la présence ou l'absence de l'utilisateur. Le système offre ainsi une distribution d'eau automatique, hygiénique et économique.
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