Arduino - Regensensor

De regensensor is in staat om regen- en sneeuwniveau te detecteren en te meten. De regensensor levert twee uitgangen: een digitale uitgang (LOW/HIGH) en een analoge uitgang.

In deze handleiding leert u hoe u een Arduino en een regensensor kunt gebruiken om regen te detecteren en te meten. We behandelen specifiek het volgende:

arduino rain sensor

Vervolgens kunt u de code aanpassen om een motor of waarschuwing te activeren wanneer regen/sneeuw wordt gedetecteerd.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Regensensor
1×Jumper draden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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 kan gebruikt worden om de aanwezigheid van regen te detecteren of het niveau van het regenwater te meten. De regensensor biedt twee mogelijkheden via een digitale uitgangspin en een analoge uitgangspin.

De regensensor bestaat uit twee onderdelen:

  • Het sensing pad (meetoppervlak)
  • De elektronische module
Rain Sensor Pinout
image source: diyables.io

Het sensing pad

Het sensing pad wordt buiten geplaatst en kan direct worden blootgesteld aan regen of sneeuw (bijvoorbeeld op het dak). Het sensing pad heeft meerdere blootgestelde koperdraadsporen, verdeeld in twee groepen: power traces (voedingssporen) en sense traces (detectiesporen). Deze power traces en sense traces zijn niet met elkaar verbonden tenzij ze worden overbrugd door water of sneeuw. Er is geen verschil tussen power trace en sense trace; u kunt er één kiezen als power trace en de andere wordt dan de sense trace.

De elektronische module

De elektronische module van de regensensor zet het signaal van het sensing pad om naar een analoge of digitale waarde die door de Arduino kan worden uitgelezen. De module heeft vier pinnen:

  • VCC pin: Dit moet worden verbonden met VCC (3.3V tot 5V).
  • GND pin: Dit moet worden verbonden met GND (0V).
  • DO pin: Dit is een digitale uitgangspin. Hij is HIGH als er geen regen wordt gedetecteerd en LOW als er wel regen is. De drempelwaarde voor regen detectie kan worden aangepast met een ingebouwde potentiometer.
  • AO pin: Dit is een analoge uitgangspin. De uitgangswaarde neemt af naarmate er meer water op het sensing pad komt, en neemt toe naarmate het waterniveau daalt.

Daarnaast heeft de module twee LED-indicatoren:

  • Een PWR-LED die aangeeft dat de module stroom krijgt.
  • Een DO-LED die de regenstatus op de DO pin aangeeft: deze brandt wanneer regen wordt gedetecteerd.

Werking

Voor de DO pin:

  • De module heeft een ingebouwde potentiometer om de drempelwaarde (gevoeligheid) in te stellen.
  • Wanneer de intensiteit boven deze drempel ligt, wordt regen gedetecteerd, is de sensoruitgang LOW en brandt de DO-LED.
  • Wanneer de intensiteit onder deze drempel ligt, wordt geen regen gedetecteerd, is de sensoruitgang HIGH en is de DO-LED uit.

Voor de AO pin:

  • Hoe meer water op het sensing pad, hoe lager de waarde die wordt uitgelezen op de AO pin.
  • Hoe minder water op het sensing pad, hoe hoger de waarde die wordt uitgelezen op de AO pin.

Let op dat de potentiometer geen invloed heeft op de waarde van de AO pin.

Aansluitschema

Zoals hierboven beschreven, moet de VCC pin van de sensor worden aangesloten op de 3.3V of 5V. Wanneer u deze pin direct aansluit op de 3.3V of 5V pin van de Arduino, wordt de levensduur van de sensor verkort door elektrochemische corrosie. De beste manier is om de VCC pin van de regensensor aan te sluiten op een output pin van de Arduino. Deze pin kan dan via programmatuur worden aan- of uitgezet om de regensensor alleen tijdens het uitlezen van stroom te voorzien. Dit minimaliseert de impact van elektrochemische corrosie.

Omdat de regensensormodule twee uitgangen heeft, kunt u één of beide gebruiken, afhankelijk van wat u nodig heeft:

  • Aansluitschema tussen Arduino en regensensor bij alleen gebruik van DO.
Arduino rain sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema tussen Arduino en regensensor bij alleen gebruik van AO.
Arduino rain detection wiring diagram

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema tussen Arduino en regensensor bij gebruik van zowel AO als DO.
Arduino rain detector wiring diagram

This image is created using Fritzing. Click to enlarge image

Arduino Code - Waarde uitlezen van DO pin

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 }

Snelle Stappen

  • Kopieer de bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Druppel wat water op de regensensor
  • Bekijk het resultaat in de Seriële Monitor.
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  

Houd er rekening mee dat als u merkt dat de LED-status constant aanblijft of uitblijft, zelfs wanneer de sensor blootstaat aan regen, u de potentiometer kunt aanpassen om de gevoeligheid van de sensor bij te regelen.

Arduino Code - Waarde uitlezen van AO pin

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 }

Snelle Stappen

  • Kopieer de bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Druppel wat water op de regensensor
  • Bekijk het resultaat in de Seriële Monitor.
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  

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 stap voor stap met het aansluiten en programmeren van de regensensor met Arduino.

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