Raspberry Pi - Capteur de pluie

Le capteur de pluie détecte et mesure les niveaux de pluie/neige, offrant à la fois des sorties numériques (LOW/HIGH) et analogiques. Ce tutoriel vous guide dans l'utilisation d'un Raspberry Pi et d'un capteur de pluie pour détecter et mesurer la pluie, couvrant :

Vous pouvez ensuite personnaliser le code pour activer un moteur ou un avertissement lorsqu'une pluie/neige est détectée.

Préparation du matériel

1×Raspberry Pi 4 Model B
1×Rain Sensor
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

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

Les composants du capteur de pluie comprennent : un pavé sensoriel et un module électronique.

Brochage du Capteur de Pluie
image source: diyables.io

Le tapis de détection

Le tampon de détection, placé à l'extérieur pour faire face à la pluie/neige (par exemple, sur le toit), présente des traces de cuivre exposées divisées en deux groupes : les traces d'alimentation et les traces de détection. Ces traces restent non connectées à moins d'être reliées par de l'eau ou de la neige. Les traces d'alimentation et de détection sont interchangeables, vous permettant de désigner l'une comme la trace d'alimentation et l'autre comme la trace 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 le Raspberry Pi. Il comprend quatre broches :

  • Broche VCC : Connecte au VCC (3,3V à 5V).
  • Broche GND : Connecte au GND (0V).
  • Broche DO : Broche de sortie numérique ; elle est HAUTE lorsqu'aucune pluie n'est détectée et BASSE lorsqu'elle est détectée. Le seuil de détection de la pluie est ajustable avec un potentiomètre intégré.
  • Broche AO : Broche de sortie analogique ; la valeur diminue avec l'augmentation de l'eau sur le pad de détection et augmente à mesure que l'eau diminue.

De plus, il dispose de deux indicateurs LED :

  • Indicateur PWR-LED : Indique l'état d'alimentation.
  • Indicateur DO-LED : Représente l'état de la pluie sur la broche DO, s'allumant lorsque la pluie est présente.

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, la broche de sortie du capteur est à LOW et la DEL DO s'allume.
  • Lorsque l'intensité tombe en dessous du seuil, aucune pluie n'est détectée, la broche de sortie du capteur est à HIGH et la DEL DO s'éteint.

Concernant la broche AO :

  • La lecture de la broche AO est inversement proportionnelle au niveau d'eau dans le capteur.
  • Plus il y a d'eau, plus la valeur de la broche AO est basse, tandis que moins il y a d'eau, plus la valeur de la broche AO est élevée.

Remarque : Le potentiomètre n'influence pas la valeur sur la broche AO.

Diagramme de câblage

Comme noté précédemment, connecter la broche VCC du capteur directement aux broches 3.3V ou 5V du Raspberry Pi peut réduire la durée de vie du capteur en raison de la corrosion électrochimique. Une alternative recommandée est de connecter la broche VCC du capteur de pluie à une broche de sortie sur le Raspberry Pi. En programmant cette broche, le capteur de pluie peut être alimenté uniquement pendant les lectures, minimisant ainsi efficacement l'impact de la corrosion électrochimique.

Schéma de câblage du capteur de pluie Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Code Raspberry Pi

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créez un fichier de script Python rain_sensor.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-rain-sensor import RPi.GPIO as GPIO import time POWER_PIN = 12 # GPIO pin that provides power to the rain sensor DO_PIN = 7 # GPIO pin connected to the DO pin of the rain sensor def setup(): GPIO.setmode(GPIO.BCM) GPIO.setup(POWER_PIN, GPIO.OUT) # configure the power pin as an OUTPUT GPIO.setup(DO_PIN, GPIO.IN) def loop(): GPIO.output(POWER_PIN, GPIO.HIGH) # turn the rain sensor's power ON time.sleep(0.01) # wait 10 milliseconds rain_state = GPIO.input(DO_PIN) GPIO.output(POWER_PIN, GPIO.LOW) # turn the rain sensor's power OFF if rain_state == GPIO.HIGH: print("The rain is NOT detected") else: print("The rain is detected") time.sleep(1) # pause for 1 second to avoid reading sensors frequently and prolong the sensor lifetime def cleanup(): GPIO.cleanup() if __name__ == "__main__": try: setup() while True: loop() except KeyboardInterrupt: cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 rain_sensor.py
  • Versez un peu d'eau sur le capteur de pluie
  • Consultez le résultat sur le Moniteur Série.
PuTTY - Raspberry Pi
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

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

Vidéo

※ 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!