Tutoriel ESP32 35/55 - Moniteur de plantes, sol, température et lumière | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons créer un moniteur de plante en utilisant le microcontrôleur ESP32 du kit d'apprentissage IoT SunFounder ESP32. Ce projet combine plusieurs composants pour surveiller l'humidité du sol, la température, l'humidité et les niveaux de lumière. À la fin de ce guide, vous disposerez d'un système entièrement fonctionnel capable de gérer et d'afficher ces paramètres essentiels pour le soin des plantes. Pour une explication visuelle détaillée, n'oubliez pas de consulter la vidéo (dans la vidéo à 00:00).

Matériel Expliqué
Les principaux composants utilisés dans ce projet comprennent le microcontrôleur ESP32, le capteur DHT11, le capteur d'humidité du sol, la résistance dépendante de la lumière (LDR), et un écran LCD pour afficher les données. L'ESP32 sert de cerveau à l'ensemble, gérant le traitement des données et les tâches de contrôle. Il dispose de Wi-Fi et de Bluetooth intégrés, offrant des options de connectivité pour la surveillance à distance.
Le capteur DHT11 mesure la température et l'humidité, tandis que le capteur d'humidité du sol détecte les niveaux d'humidité dans le sol. Le LDR mesure l'intensité de la lumière ambiante, permettant d'obtenir des informations sur les conditions d'éclairage de la plante. Chaque composant joue un rôle crucial dans l'assurance de la santé de la plante en fournissant des données en temps réel.
Détails de la fiche technique
| Fabricant | SunFounder |
|---|---|
| Numéro de pièce | DHT11 |
| Tension logique/IO | 3,3 V |
| Tension d'alimentation | 5 V |
| Courant de sortie (par canal) | 20 mA |
| Courant de pointe (par canal) | 50 mA |
| Directives sur la fréquence PWM | N/A |
| Seuils logiques d'entrée | 0,3 VCC (basse), 0,7 VCC (haute) |
| Chute de tension / RDS(on)/ saturation | N/A |
| Limites thermiques | 0°C à 50°C |
| Paquet | DIP |
| Remarques / variantes | Compatible avec DHT22 |
- Assurez-vous de niveaux de tension appropriés pour chaque composant (5V pour le pilote de moteur, 3,3V pour les capteurs).
- Utilisez des résistances de tirage vers le bas pour les boutons-poussoirs afin d'éviter les entrées flottantes.
- Gardez le câblage propre pour éviter la confusion et les courts-circuits potentiels.
- Vérifiez les connexions avant d'alimenter le circuit pour éviter des dommages.
- Vérifiez le câblage du DHT11 car il est sensible aux connexions incorrectes.
Instructions de câblage

Pour câbler les composants, commencez par connecter les lignes d'alimentation et de masse. L'ESP32 doit être alimenté avec une batterie lithium, en connectant la borne positive à la ligne VCC et la terre à la ligne GND sur la plaque d'essai. La broche de données du capteur DHT11 se connecte àPIN 13, tandis que son VCC se connecte à la ligne de 3,3V et GND à la terre. Le capteur d'humidité du sol se connecte de manière similaire : sa broche de signal àPIN 14, VCC à 3,3V et GND à la terre.
Pour le LDR, connectez une broche à la ligne 3,3V et l'autre àPIN 35, avec une résistance de 10 k ohms connectée de la LDR à la terre. L'affichage LCD se connecte à la ligne de 5 V pour l'alimentation et utiliseSDAetSCLbroches connectées àPIN 21etPIN 22, respectivement. Enfin, branchez le bouton-poussoir àPIN 32avec la résistance de tirage connectée à la masse, assurant qu'elle lit bas lorsqu'elle n'est pas pressée et haut lorsqu'elle est pressée.
Exemples de code et guide étape par étape
Le cœur de notre programme commence par définir les broches pour chaque composant. Par exemple,DHTPINest assigné àPIN 13pour le capteur DHT11, pendantMOIS_PINest fixé àPIN 14pour le capteur d'humidité. Cette organisation aide à suivre quel capteur est connecté à quelle broche.
#define DHTPIN 13 // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil moisture module
#define LIGHT_PIN 35 // Photoresistor
Ensuite, nous initialisons le capteur DHT et l'écran LCD à l'intérieur dusetup()fonction. Cela est crucial car cela prépare ces composants à l'opération. Veillez à appelerdht.begin()est essentiel pour que le capteur DHT commence à lire les valeurs correctement.
void setup() {
Serial.begin(115200);
dht.begin(); // Initialize the DHT11
lcd.init(); // Initialize the LCD
lcd.backlight();
}
Dans leloop()fonction, nous lisons en continu les valeurs de température et d'humidité, les affichant sur l'écran LCD. Si le bouton est pressé, le moteur est activé pour arroser les plantes. Cette logique utilise la lecture numérique de la broche du bouton pour déterminer s'il faut allumer ou éteindre le moteur.
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(motor1A, HIGH); // Turn on water pump
} else {
digitalWrite(motor1A, LOW); // Turn off water pump
}
delay(2000);
}
Cette structure de code permet un flux clair de données et de contrôle, garantissant que le moniteur de l'usine fonctionne sans problème. Pour plus de détails, le code complet est chargé en bas de l'article.
Démonstration / Ce à quoi s'attendre
Après avoir terminé la configuration et téléchargé le code, l'écran LCD doit afficher alternativement des lectures de température et d'humidité avec des niveaux d'humidité et de lumière. Lorsque le bouton poussoir est enfoncé, la pompe à eau doit s'activer, fournissant de l'eau à la plante. Assurez-vous que toutes les connexions sont sécurisées pour éviter des problèmes tels que des entrées flottantes ou des lectures incorrectes (dans la vidéo à 05:30).
Surveiller les valeurs affichées sur l'écran LCD et le moniteur série aidera à garantir le bon fonctionnement du système. Si vous rencontrez des problèmes, vérifiez de nouveau le câblage et assurez-vous que tous les composants sont alimentés correctement.
Timestamps vidéo
- 00:00 Début
- 2:23 Introduction du projet
- 4:02 Page Docs
- 7:43 1-L293D Driver de moteur de pompe
- 14:30 2-Appuyez sur le bouton pour la pompe
- 16:35 capteur de température et d'humidité 3-DHT11
- 19:26 Capteur d'humidité 4-slild
- 21:43 Capteur 5 lumières
- 24:47 6-Senseur d'humidité du sol
- 26:01 code complet de moniteur de plantes Arduino
- 29:21 Démonstration
Common Course Links
Common Course Files
Ce dont vous pourriez avoir besoin
-
AmazonAcheter LCD1602-I2C sur Amazonamzn.to
-
eBayAchetez LCD1602-I2C sur eBayebay.us
-
AliExpressAchetez 10 pièces de LCD1602-I2C sur AliExpress.s.click.aliexpress.com
Ressources et références
-
DocumentationTutoriel ESP32 35/55 - page doc SunFounder moniteur de plantesdocs.sunfounder.com
Fichiers📁
Fichier Fritzing
-
Capteur d'humidité et de température DHT11 (3 broches)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB -
Module LCD LCD1602-I2C avec 4 fils
LCD1602-I2C.fzpz0.01 MB