Tutoriel ESP32 16/55 - Mini pompe à eau utilisant l'ESP32 et le L293D | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons apprendre comment contrôler une pompe à eau de 5V en utilisant le microcontrôleur ESP32 et le driver de moteur L293D. Ce projet est une excellente introduction à l'utilisation des drivers de moteur avec des microcontrôleurs, vous permettant de contrôler des dispositifs qui nécessitent plus de courant que ce qu'un microcontrôleur peut fournir directement. À la fin de ce tutoriel, vous disposerez d'une pompe à eau fonctionnelle qui peut être activée et désactivée de manière programmatique.

L'ESP32 est un microcontrôleur puissant qui dispose de capacités Wi-Fi et Bluetooth intégrées, ce qui le rend adapté aux applications IoT. Le pilote de moteur L293D est utilisé pour contrôler la pompe à eau en gérant le courant élevé nécessaire pour faire fonctionner le moteur. Cette configuration nous permet de démarrer et d'arrêter la pompe tout en garantissant que l'ESP32 reste protégé contre une consommation de courant excessive.
Matériel expliqué
Dans ce projet, nous utilisons le microcontrôleur ESP32, qui est connu pour sa polyvalence et ses options de connectivité. Il peut fonctionner comme un Arduino tout en offrant des fonctionnalités supplémentaires telles que le Wi-Fi et le Bluetooth. Le pilote de moteur L293D agit comme une interface entre l'ESP32 et la pompe à eau, permettant de contrôler le fonctionnement de la pompe sans surcharger le microcontrôleur.
Le L293D dispose de deux ponts en H, ce qui lui permet de contrôler la direction et la vitesse du moteur. Chaque pont en H peut entraîner un moteur dans chaque direction, ce qui le rend adapté aux applications nécessitant un contrôle du moteur. Dans ce cas, nous aurons seulement besoin d'activer la pompe pour qu'elle fonctionne dans une seule direction.
Détails de la fiche technique
| Fabricant | Texas Instruments |
|---|---|
| Numéro de pièce | L293D |
| Tension logique/IO | 4,5 - 36 V |
| Tension d'alimentation | 4,5 - 36 V |
| Courant de sortie (par canal) | 600 mA |
| Courant de crête (par canal) | 1,2 A |
| Directives de fréquence PWM | 1 kHz - 10 kHz |
| Seuils logiques d'entrée | 2 V (haut), 0,8 V (bas) |
| Chute de tension / RDS(on)/ saturation | 1,5 V (max) |
| Limites thermiques | +150 °C (max) |
| Colis | DIP-16 |
| Notes / variantes | Comprend des diodes intégrées pour la protection des charges inductives. |
- Assurez une dissipation de chaleur adéquate pour un fonctionnement continu.
- Utilisez des condensateurs découplés pour une alimentation stable.
- Soyez prudent avec la tension d'entrée pour éviter tout dommage.
- Implémentez le PWM pour le contrôle de la vitesse si nécessaire.
- Vérifiez le câblage pour éviter les courts-circuits, surtout avec les charges inductives.
Instructions de câblage

Pour câbler l'ESP32 et le pilote de moteur L293D avec la pompe à eau, suivez ces étapes avec attention. Tout d'abord, connectez l'alimentation au L293D. Connectez la broche 1 (broche d'activation pour le moteur A) et la broche 8 (Vcc2) à la source de tension positive (5V). Connectez la broche 4 (masse) à la masse de votre circuit.
Ensuite, connectez l'ESP32 au L293D. Connectez la broche GPIO 13 de l'ESP32 à la broche 2 (entrée 1) du L293D, et la broche GPIO 14 à la broche 7 (entrée 2). Enfin, connectez la pompe à eau à la broche 3 (sortie 1) et à la broche 6 (sortie 2) du L293D. Assurez-vous que toutes les connexions de masse sont reliées ensemble pour un fonctionnement correct. Si vous suivez ces instructions, votre câblage devrait être simple et fonctionnel.
Exemples de code et guide étape par étape
Dans le code, nous définissons les connexions de broche pour le contrôle du moteur. Les identifiantsmotor1Aetmotor2Acorrespondent aux broches GPIO 13 et 14 sur l'ESP32, respectivement. Ces broches contrôleront la pompe à eau via le driver L293D.
#define motor1A 13
#define motor2A 14
void setup() {
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
Dans lesetup()fonction, nous initialisons les broches de contrôle du moteur en tant que sorties. Cela garantit que nous pouvons envoyer des signaux au driver L293D pour contrôler la pompe. Leloop()la fonction puis contrôle le fonctionnement de la pompe.
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}
Dans leloop()fonction, nous fixonsmotor1Aà HAUT etmotor2Atrop bas pour démarrer la pompe. Après un court délai, nous arrêtons la pompe en mettant les deux broches à l'état bas. Ce cycle se répète indéfiniment, permettant à la pompe de fonctionner pendant une brève période puis de s'arrêter.
Démonstration / À quoi s'attendre
Une fois que vous avez terminé le câblage et téléchargé le code, vous devriez voir la pompe à eau s'activer et se désactiver en cycle. La pompe fonctionnera pendant une courte durée, puis s'arrêtera, créant un motif marche-arrêt. Assurez-vous que votre alimentation est adéquate pour les besoins de la pompe afin d'éviter tout problème (dans la vidéo à 09:30).
Horodatages vidéo
- 00:00 Début
- 1:50 Introduction au Projet
- 3:17 Pourquoi avons-nous besoin du L293D avec Arduino ?
- 5:47 Câblage pour la pompe à eau expliqué
- 10:01 Code Arduino expliqué
- 12:21 Sélectionner le port COM pour l'ESp32 sur Arduino IDE
- 14:03 Démonstration du fonctionnement de la pompe
- 15:25 Démonstration avec de l'eau
#define motor1A 13
#define motor2A 14
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin as an output.
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
// Rotate
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
// Stop
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}
Common Course Links
Common Course Files
Ressources et références
-
DocumentationTutoriel ESP32 16/55 - Documentation du moteur SunFounderdocs.sunfounder.com
Fichiers📁
Fiche technique (pdf)
-
L293d_Quadruple_half_bridge_fiche_technique
l293d_Quadruple_half_bridge_datasheet.pdf0.34 MB