ESP8266 - Capteur de pluie

Le capteur de pluie détecte et mesure les niveaux de pluie/neige, offrant à la fois des sorties numériques (BAS/HAUT) et analogiques. Ce tutoriel montre comment utiliser un ESP8266 pour connecter et utiliser le capteur de pluie, couvrant :

Ensuite, vous pouvez personnaliser le code pour déclencher un moteur ou une alerte lorsqu'une détection de pluie/neige est identifiée.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Rain Sensor
1×Jumper Wires
1×(Optional) ESP8266 Screw Terminal Adapter

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 détecter la présence de pluie ou mesurer le niveau d'eau. Il propose deux options via une broche de sortie numérique et une broche de sortie analogique.

Le capteur comprend deux composants : le pavé de détection et le module électronique.

Brochage du capteur de pluie
image source: diyables.io

Le tapis de détection

Le tapis de détection, placé à l'extérieur pour capter la pluie ou la neige (par exemple, sur le toit), présente des pistes en cuivre exposées réparties en deux groupes : les pistes de puissance et les pistes de détection. Ces pistes restent non connectées à moins que l'eau ou la neige ne les relie. Les pistes de puissance et de détection sont identiques, offrant ainsi une flexibilité dans la désignation de l'une comme piste de puissance et de l'autre comme piste de détection.

Le module électronique

Le module électronique du capteur de pluie convertit les signaux provenant du pavé de détection en valeurs analogiques ou numériques lisibles par l'ESP8266 NodeMCU. Il comprend quatre broches :

  • Broche VCC : Se connecte à VCC (de 3,3V à 5V).
  • Broche GND : Se connecte à GND (0V).
  • Broche DO : Broche de sortie numérique, indique HIGH lorsque la pluie n'est pas détectée et LOW lorsqu'elle est détectée. Le seuil de détection de la pluie est réglable avec un potentiomètre intégré.
  • Broche AO : Broche de sortie analogique, dont la valeur diminue avec l'augmentation de l'eau sur le coussinet de détection et augmente avec la diminution de l'eau.

De plus, il comprend deux indicateurs LED :

  • Indicateur LED PWR pour l'alimentation.
  • Indicateur LED DO pour l'état de pluie sur la broche DO, s'illuminant en présence de pluie.

Comment ça fonctionne

Concernant la broche DO :

  • Le module est équipé d'un potentiomètre intégré pour régler le seuil de sensibilité.
  • Lorsque l'intensité dépasse le seuil, la pluie est détectée et la broche de sortie du capteur passe à LOW, déclenchant l'illumination de la DO-LED.
  • Inversement, lorsque l'intensité est inférieure au seuil, la pluie n'est pas détectée, la broche de sortie passe à HIGH et la DO-LED s'éteint.

Concernant la broche AO :

  • La valeur de la broche AO diminue avec plus d'eau dans le tampon de détection.
  • Inversement, la valeur de la broche AO augmente avec moins d'eau dans le tampon de détection.

Il est important de noter que le potentiomètre n'influence pas la valeur sur la broche AO.

Diagramme de câblage

Comme mentionné précédemment, connecter directement la broche VCC du capteur aux broches 3,3V ou 5V sur l’ESP8266 peut raccourcir la durée de vie du capteur en raison de la corrosion électrochimique. L'approche recommandée consiste à connecter la broche VCC du capteur de pluie à une broche de sortie sur l’ESP8266. En programmant cette broche, le capteur de pluie peut être alimenté uniquement pendant les lectures, minimisant l'impact de la corrosion électrochimique.

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

  • Schéma de câblage entre l'ESP8266 et le capteur de pluie lors de l'utilisation uniquement de DO.
Schéma de câblage du capteur de pluie ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

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

This image is created using Fritzing. Click to enlarge image

  • Le schéma de câblage entre l'ESP8266 et le capteur de pluie lors de l'utilisation des sorties AO et DO.
Schéma de câblage du détecteur de pluie ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Code ESP8266 - Lire la valeur depuis la broche DO

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-rain-sensor */ #define POWER_PIN D7 // The ESP8266 pin that provides the power to the rain sensor #define DO_PIN D2 // The ESP8266 pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's 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

Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Connectez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code sur ESP8266.
  • Déposez un peu d'eau sur le capteur de pluie.
  • Consultez 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 allumé en continu ou éteint même lorsque le capteur est exposé à la pluie, vous pouvez ajuster le potentiomètre pour affiner la sensibilité du capteur.

Code ESP8266 - Lire la valeur depuis la broche AO

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-rain-sensor */ #define POWER_PIN D7 // The ESP8266 pin that provides the power to the rain sensor #define AO_PIN A0 // The ESP8266 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 rainValue = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rainValue); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code sur ESP8266.
  • Déposez quelques gouttes d'eau sur le capteur de pluie.
  • Vérifiez 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!