ESP32 - vanne eau/liquide
Ce tutoriel vous explique comment contrôler les flux de liquides tels que l'eau, la bière et l'huile en utilisant un ESP32 avec MicroPython et une vanne à solénoïde. Nous aborderons :
- Comment connecter la vanne solénoïde à l'ESP32
- Comment écrire du code MicroPython pour l'ESP32 afin de contrôler la vanne d'eau.
- Comment ouvrir et fermer la vanne avec un module MOSFET au lieu d'un relais.
La vanne peut être commutée par un relais ou par un module MOSFET. Les deux peuvent seulement ouvrir la vanne (ON) ou la fermer (OFF), car une électrovanne n'a pas de réglage « à moitié ouverte ». Alors pourquoi utiliser un module MOSFET ? Il commute sans clic, il est beaucoup plus rapide, et il n'a pas de contacts métalliques qui s'usent. Vous apprendrez ici les deux façons.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de la vanne d'eau/liquide
Schéma de brochage

Une électrovanne a généralement deux raccords :
- Connectez la broche positive (+) (rouge) à l'alimentation 12 V en courant continu.
- Connectez la broche négative (-) (noire ou d'une autre couleur) à la masse de l'alimentation en courant continu.
Comment fonctionne une vanne d'eau/liquide
Normalement, la vanne reste fermée. Lorsque vous appliquez 12 V en courant continu aux deux bornes, la vanne s'ouvre, permettant à l'eau ou à d'autres fluides de s'écouler.
※ Note:
Certaines vannes possèdent un joint et nécessitent une pression particulière pour s'ouvrir lorsque une tension de 12 V DC est appliquée. Cette pression est fournie par l'écoulement du liquide. De plus, certaines vannes n'autorisent le flux du liquide que dans une seule direction.
Comment contrôler une vanne solénoïde pour l'eau et les liquides
Lorsque la vanne reçoit une alimentation de 12 V, elle s'ouvre. Pour commander la vanne avec un ESP32, vous devez utiliser un relais. L'ESP32 envoie des signaux au relais, qui contrôle ensuite la vanne. Si vous n'êtes pas familiarisé avec le fonctionnement d'un relais, sa configuration de broches ou la façon de le mettre en place, consultez le ESP32 - Relais..
Un module MOSFET peut faire le même travail. Pour comprendre ses broches et ses bornes, consultez le tutoriel ESP32 - Module MOSFET.
Relais ou module MOSFET pour la vanne d'eau/liquide
| Relais | Module MOSFET | |
|---|---|---|
| Contrôle de la vanne | ouverte ou fermée | ouverte ou fermée (pas de PWM pour une vanne) |
| Clic à la commutation | oui | non, il est silencieux |
| Temps de réaction | lent (millisecondes) | très rapide |
| Usure | les contacts s'usent avec le temps | aucune pièce mobile dans le module |
| Type de vanne | vannes AC ou DC | vannes DC uniquement |
| Alimentation de la vanne | toute tension prévue pour le relais | au moins 6 V environ |
| Isolation | oui (bobine et contacts) | oui (optocoupleur PC817) |
| À choisir pour | vannes AC, usage simple | vannes DC 12 V qui s'ouvrent et se ferment souvent, projets silencieux |
N'utilisez pas de PWM sur une électrovanne. Elle ne peut pas rester à moitié ouverte, et le PWM peut la faire bourdonner et chauffer. Pour une vanne DC 12 V, le module MOSFET est un bon interrupteur silencieux. Pour une vanne AC, utilisez le relais.
Diagramme de câblage
- Comment connecter l'ESP32 et une vanne à eau/liquide en utilisant breadboard (alimentée via un câble USB)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voici le même câblage sans plaque d'essai :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et une vanne d'eau/liquide en utilisant une plaque de prototypage (alimentée via la broche Vin)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et une vanne d'eau/liquide en utilisant la carte d'extension à bornes à vis (alimentée via un câble USB)

- Comment connecter l'ESP32 et une vanne d'eau/liquide en utilisant carte breakout à bornes à vis (alimentée via la broche Vin)

Code MicroPython pour ESP32
Ce code activera la vanne d'eau pendant cinq secondes, puis la désactivera pendant cinq secondes supplémentaires.
Étapes rapides
Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :
- Assurez-vous que Thonny IDE est installé sur votre ordinateur.
- Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
- Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
- Connectez la carte ESP32 à la vanne d'eau selon le diagramme fourni.
- Branchez la carte ESP32 sur votre ordinateur avec un câble USB.
- Ouvrez Thonny IDE sur votre ordinateur.
- Dans Thonny IDE, allez dans Outils Options.
- Dans l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
- Assurez-vous que le port correct est sélectionné. Thonny IDE détecte généralement automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sous Windows ou /dev/ttyACM0 sur Linux).
- Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre ESP32 en:
- Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, choisissez périphérique MicroPython.
- Nommez le fichier main.py.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Vérifiez le débit d'eau.
Explication du code
Vous pouvez trouver l'explication dans les commentaires du code MicroPython ESP32 fourni.
Comment contrôler la vanne d'eau/liquide avec un module MOSFET
Si vous voulez une vanne qui s'ouvre et se ferme sans clic, placez un module MOSFET à la place du relais. La vanne ne fait toujours que s'ouvrir ou se fermer, exactement comme avant.
Notez que le relais et le module MOSFET utilisent des broches différentes sur cette page. Le relais utilise GPIO16, tandis que le module MOSFET utilise GPIO18. Chaque câblage a donc son propre code.
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Pas de plaque d'essai ? Le même circuit peut être câblé sans, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Connectez les pièces comme ceci :
- ESP32 GPIO18 → broche PWM du module
- ESP32 GND → broche GND du module
- Adaptateur 12 V + (via la prise jack DC) → borne +
- Fil rouge (+) de la vanne → aussi la borne +
- Fil noir (−) de la vanne → borne LOAD
- Adaptateur 12 V − (via la prise jack DC) → borne −
La vanne a une bobine à l'intérieur, donc une diode de roue libre (flyback) est nécessaire. Placez une diode 1N4007 ou 1N5819 entre les fils de la vanne, avec la bande (cathode) sur le fil + de la vanne et l'autre extrémité sur le fil − de la vanne.
Code MicroPython ESP32
Ce code suit la même idée que le code du relais : la broche passe à HIGH pour ouvrir la vanne pendant cinq secondes, puis à LOW pour la fermer pendant cinq secondes, et cela se répète. Il n'affiche rien dans le Shell.
Une vanne doit seulement recevoir ON complet ou OFF complet, jamais de PWM. C'est pourquoi nous n'utilisons pas ici le code de variation progressive du tutoriel du module MOSFET.
Étapes rapides
- Câblez la vanne et le module MOSFET comme indiqué sur le diagramme.
- Connectez la carte ESP32 à votre ordinateur avec un câble USB.
- Ouvrez Thonny IDE et réglez l'interpréteur et le port, comme dans les étapes rapides du relais ci-dessus.
- Collez ce code dans Thonny, enregistrez-le sous le nom main.py sur l'ESP32, et cliquez sur Exécuter.
- La vanne s'ouvre pendant cinq secondes et se ferme pendant cinq secondes, mais maintenant sans clic de relais.
Astuce : le module MOSFET commute uniquement du courant continu (DC) et a besoin d'une alimentation de vanne d'au moins 6 V environ. Si votre vanne fonctionne en AC, continuez à utiliser le relais.