Arduino - 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 et un capteur de pluie pour détecter et mesurer la pluie. Plus précisément, nous couvrirons les points suivants :

capteur de pluie Arduino

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 Uno
1×USB 2.0 cable type A/B
1×Rain Sensor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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
Brochage du capteur de pluie
image source: diyables.io

Le tapis de détection

Le coussinet de détection est placé à l'extérieur et peut être exposé à la pluie/neige (par exemple, sur le toit). Le coussinet de détection possède une série de pistes en 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 aucune différence 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 du pavé de détection en valeur analogique ou numérique pouvant être lue par Arduino. 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 en état HAUT si la pluie n'est pas détectée et en é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 dans le tampon de détection augmente, et elle augmente à mesure que l'eau dans le tampon de détection diminue.

Par ailleurs, il comprend 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é en présence de pluie.

Comment ça marche

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 LED 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 LED DO est éteinte.

Pour la broche AO :

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

Notez que le potentiomètre n'influence 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 directement cette broche à la broche 3,3V ou 5V de l'Arduino, 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'Arduino. 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 possède deux sorties, vous pouvez choisir d'utiliser l'une ou les deux, selon vos besoins.

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

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

Code Arduino - Lire la valeur depuis la broche DO

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-rain-sensor */ #define POWER_PIN 3 // The Arduino pin that provides the power to the rain sensor #define DO_PIN 4 // The Arduino's pin connected to DO pin of the rain sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino'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

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
  • Déposez quelques gouttes 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 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 - Lire la valeur à partir de la broche AO

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-rain-sensor */ #define POWER_PIN 3 // The Arduino pin that provides the power to the rain sensor #define AO_PIN A0 // Arduino's pin connected to AO pin of the rain sensor void setup() { // initialize serial communication 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

  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload dans Arduino IDE pour charger le code sur Arduino
  • 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!