Raspberry Pi - Regensensor

De regensensor detecteert en meet de niveaus van regen/sneeuw en biedt zowel digitale (LOW/HIGH) als analoge uitgangen. Deze handleiding begeleidt u bij het gebruik van een Raspberry Pi en een regensensor om regen te detecteren en meten, inclusief:

U kunt de code vervolgens aanpassen om bijvoorbeeld een motor aan te sturen of een waarschuwing te geven wanneer regen of sneeuw wordt gedetecteerd.

Hardware benodigd

1×Raspberry Pi 5
1×Regensensor
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Regensensor

De regensensor dient om regen te detecteren of het waterniveau van neerslag te meten. Het biedt twee uitgangstypen via een digitale output pin en een analoge output pin.

De regensensor bestaat uit: sensing pad en elektronisch module.

Rain Sensor Pinout
image source: diyables.io

Het sensing pad

Het sensing pad, geplaatst in de buitenlucht om regen of sneeuw op te vangen (bijvoorbeeld op het dak), bevat blootgestelde kopersporen verdeeld in twee groepen: voedingssporen en sensorsporen. Deze sporen zijn normaal gesproken niet met elkaar verbonden tenzij ze worden overbrugd door water of sneeuw. Voedings- en sensorsporen zijn omwisselbaar, waardoor u zelf kunt bepalen welke spoort als voeding en welke als sensor wordt gebruikt.

De elektronische module

De elektronische module van de regensensor zet de signalen van het sensing pad om in analoge of digitale waarden die uitgelezen kunnen worden door de Raspberry Pi. Het heeft vier pins:

  • VCC pin: Verbind met VCC (3,3V tot 5V).
  • GND pin: Verbind met GND (0V).
  • DO pin: Digitale output-pin; deze is HIGH wanneer er geen regen wordt gedetecteerd, en LOW wanneer regen aanwezig is. De detectiedrempel is instelbaar met een ingebouwde potentiometer.
  • AO pin: Analoge output-pin; de waarde daalt bij meer water op het sensing pad en stijgt als er minder water is.

Verder heeft de module twee LED-indicatoren:

  • PWR-LED indicator: Geeft de stroomstatus aan.
  • DO-LED indicator: Toont de regenstatus via de DO-pin, licht op als er regen wordt gedetecteerd.

Hoe het werkt

Betreffende de DO pin:

  • De module heeft een ingebouwde potentiometer om de gevoeligheidsdrempel in te stellen.
  • Wanneer de intensiteit boven de drempel komt, wordt regen gedetecteerd, is de sensoruitgang LOW en brandt de DO-LED.
  • Wanneer de intensiteit onder de drempel komt, wordt geen regen gedetecteerd, is de sensoruitgang HIGH en gaat de DO-LED uit.

Betreffende de AO pin:

  • De uitlezing op de AO pin staat omgekeerd evenredig tot het waterniveau op het sensing pad.
  • Meer water betekent een lagere AO-pin waarde, minder water een hogere waarde.

Let op: de potentiometer beïnvloedt niet de waarde op de AO pin.

Bekabelingsschema

Zoals eerder vermeld, vermindert het direct aansluiten van de VCC pin van de sensor op de 3,3V of 5V pin van de Raspberry Pi de levensduur van de sensor door elektrochemische corrosie. Een aanbevolen alternatief is om de VCC pin van de regensensor te verbinden met een uitgangspin van de Raspberry Pi. Door die pin via software te besturen, kan de regensensor alleen tijdens het uitlezen worden gevoed, wat de corrosieschade beperkt.

Raspberry Pi rain sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

LET OP:

  • Aangezien de Raspberry Pi geen analoge ingang heeft, kunt u de AO pin ontkoppeld laten. Om analoge waarden van de sensor te meten heeft u een externe ADC-module nodig. Voor meer informatie, zie Hoe Raspberry Pi met ADC module te gebruiken

Raspberry Pi Code

Snel aan de slag

  • Zorg ervoor dat u Raspbian of een ander compatibel Raspberry Pi besturingssysteem hebt geïnstalleerd op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
  • Zorg dat uw Raspberry Pi verbonden is met internet als u libraries moet installeren.
  • Bent u nieuw bij Raspberry Pi? Begin met onze Raspberry Pi Aan de slag gids om eerst de basis te leren.
  • Verbind uw pc met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u uw pc via SSH op Raspberry Pi aansluit.
  • Controleer of u de RPi.GPIO-bibliotheek hebt geïnstalleerd. Zo niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python-scriptbestand met de naam rain_sensor.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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()
  • Sla het bestand op en voer het Python-script uit door het volgende commando te geven in de terminal:
python3 rain_sensor.py
  • Druppel wat water op de regensensor.
  • Bekijk het resultaat op de Serial Monitor.
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

Houd er rekening mee dat als u merkt dat de LED-status constant aan of uit blijft, zelfs wanneer de sensor met regen wordt geconfronteerd, u de potentiometer kunt afstellen om de gevoeligheid van de sensor te verfijnen.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u eenvoudig door de stappen heen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!