Arduino Nano ESP32 - Capteur de pluie

Le capteur de pluie est capable de détecter et de mesurer le niveau de pluie/neige. Le capteur de pluie fournit deux sorties : une sortie numérique (BAS/HAUT) et une sortie analogique.

Dans ce tutoriel, nous apprendrons à utiliser un Arduino Nano ESP32 et un capteur de pluie pour détecter et mesurer la pluie. Plus précisément, nous aborderons les points suivants :

capteur de pluie esp32

Ensuite, vous pouvez modifier le code pour activer un moteur ou une alerte lorsqu'il détecte de la pluie ou de la neige.

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×Rain Sensor
1×Breadboard
1×Jumper Wires
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de pluie

Le capteur de pluie peut être utilisé pour détecter la présence de pluie ou mesurer le niveau d'eau déposé par la pluie. Le capteur de pluie offre deux options via une broche de sortie numérique et une broche de sortie analogique.

Le capteur de pluie comprend deux parties :

  • Le tapis de détection
  • Le module électronique
Schéma de brochage du capteur de pluie
image source: diyables.io

Le tapis de détection

Le tapis de détection est placé à l'extérieur et peut être exposé à la pluie ou à la neige (par exemple, sur le toit). Le tapis de détection comporte une série de pistes de cuivre exposées, divisées en deux groupes : les pistes d'alimentation et les pistes de détection. Ces pistes d'alimentation et de détection ne sont pas connectées à moins qu'elles ne soient reliées par l'eau ou la neige. Il n'y a pas de différences entre la piste d'alimentation et la piste de détection. Vous pouvez choisir l'une comme piste d'alimentation et l'autre deviendra la piste de détection.

Le module électronique

Le module électronique du capteur de pluie convertit le signal provenant du pavé de détection en une valeur analogique ou numérique pouvant être lue par l'Arduino Nano ESP32. Il comprend quatre broches :

  • Broche VCC : Elle doit être connectée à VCC (3,3V à 5V).
  • Broche GND : Elle doit être connectée à GND (0V).
  • Broche DO : C'est une broche de sortie numérique. Elle est à l'état HAUT si la pluie n'est pas détectée et à l'état BAS si elle est détectée. La valeur seuil pour la détection de la pluie peut être ajustée à l'aide d'un potentiomètre intégré.
  • Broche AO : C'est une broche de sortie analogique. La valeur de sortie diminue à mesure que l'eau sur le tampon de détection augmente, et elle augmente à mesure que l'eau sur le tampon de détection diminue.

De plus, il possède deux indicateurs LED :

  • Un indicateur PWR-LED pour l'alimentation.
  • Un indicateur DO-LED pour l'état de pluie sur la broche DO : il est allumé lorsque la pluie est présente.

Comment ça fonctionne

Pour la broche DO:

  • Le module est équipé d'un potentiomètre intégré pour régler le seuil (sensibilité).
  • Lorsque l'intensité dépasse la valeur seuil, la pluie est détectée, la broche de sortie du capteur est à l'état BAS, et la DEL DO est allumée.
  • Lorsque l'intensité est inférieure à la valeur seuil, la pluie n'est PAS détectée, la broche de sortie du capteur est à l'état HAUT, et la DEL DO est éteinte.

Pour la broche AO :

  • Plus il y a d'eau dans le tampon de détection, plus la valeur lue à partir de la broche AO est basse.
  • Moins il y a d'eau dans le tampon de détection, plus la valeur lue à partir de la broche AO est élevée.

Notez que le potentiomètre n'affecte pas la valeur sur la broche AO.

Diagramme de câblage

Comme mentionné ci-dessus, la broche VCC du capteur doit être connectée à 3,3V ou 5V. Si nous connectons cette broche directement à la broche 3,3V ou 5V de l'ESP32, la durée de vie du capteur sera réduite en raison de la corrosion électrochimique. La meilleure manière est de connecter la broche VCC du capteur de pluie à une broche de sortie de l'ESP32. Nous pouvons programmer cette broche pour alimenter le capteur de pluie uniquement lors de la lecture. Cela peut minimiser l'impact de la corrosion électrochimique.

Étant donné que le module de capteur de pluie dispose de deux sorties, vous pouvez choisir d'en utiliser une ou les deux, selon vos besoins.

  • Le schéma de câblage entre l'Arduino Nano ESP32 et le capteur de pluie lors de l'utilisation uniquement de DO.
Schéma de câblage du capteur de pluie Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • Le schéma de câblage entre l'Arduino Nano ESP32 et le capteur de pluie lors de l'utilisation uniquement de AO.
Schéma de câblage de détection de pluie Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • Le schéma de câblage entre l'Arduino Nano ESP32 et le capteur de pluie lors de l'utilisation à la fois des AO et DO.
Schéma de câblage du détecteur de pluie Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano ESP32 - Lire la valeur depuis la broche DO

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano-esp32/arduino-nano-esp32-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano ESP32 pin that provides the power to the rain sensor #define DO_PIN D9 // The Arduino Nano ESP32 pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize theArduino Nano ESP32 pin as an input pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT pinMode(DO_PIN, INPUT); } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_state = digitalRead(DO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF if (rain_state == HIGH) Serial.println("The rain is NOT detected"); else Serial.println("The rain is detected"); delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez comment configurer l'environnement pour Arduino Nano ESP32 sur Arduino IDE
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers l'Arduino Nano ESP32
  • Déposez quelques gouttes d'eau sur le capteur de pluie
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
The rain is NOT detected The rain is NOT detected The rain is NOT detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is NOT detected The rain is NOT detected The rain is NOT detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Veuillez garder à l’esprit que si vous remarquez que le statut LED reste constamment allumé ou éteint même lorsque le capteur est exposé à la pluie, vous pouvez ajuster le potentiomètre pour affiner la sensibilité du capteur.

Code Arduino Nano ESP32 - Lire la valeur depuis la broche AO

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano-esp32/arduino-nano-esp32-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano ESP32 pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino Nano ESP32 pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_value = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rain_value); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur Arduino Nano ESP32
  • Déposez quelques gouttes d'eau sur le capteur de pluie
  • Consultez le résultat sur le moniteur série.
COM6
Send
225 2426 236 563 687 959 975 1009 1017 1053 1078 841 743 440 279
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!