Tutoriel ESP32 35/55 - Moniteur de plantes, sol, température et lumière | Kit d'apprentissage IoT ESP32 de SunFounder

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).

ESP32-25_schéma_moiteur_de_plante

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.

photoresistance
Module DHT11
Module DHT11

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

ESP32-25_plant_moitor_wiring

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

Images

DHT11 Module
DHT11 Module
5V DC water pump
5V DC water pump
soil_mositure_module
soil_mositure_module
photoresistor
photoresistor
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
ESP32-25_plant_moitor_wiring
836-ESP32 Tutorial 35/55- Arduino code for plant monitor
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Fichiers📁

Fichier Fritzing