Arduino UNO R4 - Regensensor

In deze handleiding leren we een Arduino UNO R4 gebruiken met een regensensor om regen of sneeuw te detecteren. We behandelen de volgende onderwerpen:

Arduino UNO R4 rain sensor

U kunt vervolgens de code aanpassen om een motor of een alarm in te schakelen wanneer het regen of sneeuw detecteert.

Over de Regensensor

De regensensor kan de hoeveelheid regen of sneeuw detecteren en meten. Het geeft twee soorten uitgangssignalen: een digitaal signaal (LOW of HIGH) en een analoog signaal.

De regensensor heeft twee componenten:

  • Het detectiepad
  • De elektronische eenheid
Rain Sensor Pinout
image source: diyables.io

Het detectiepad

Het detectiepad wordt buiten geplaatst waar het kan worden blootgesteld aan regen of sneeuw, zoals op een dak. Het pad heeft verschillende koperen lijnen, verdeeld in twee typen: voedingslijnen en sensorlijnen. Deze twee typen lijnen zijn gescheiden en maken geen verbinding tenzij water of sneeuw ze overbrugt. Beide typen lijnen functioneren op dezelfde manier, dus u kunt elke lijn kiezen als voedingslijn en een andere als sensorlijn.

De elektronische module

De elektronische module van de regensensor verandert het signaal van het detectiepad in een analoge of digitale waarde die de Arduino UNO R4 kan lezen. Het heeft vier pinnen.

  • VCC pin: Sluit deze aan op VCC (3.3V tot 5V).
  • GND pin: Sluit deze aan op GND (0V).
  • DO pin: Dit is een digitale uitgangspin. Het toont HIGH wanneer er geen regen is en LOW wanneer regen wordt gedetecteerd. Pas het regendetectieniveau aan met de potentiometer.
  • AO pin: Dit is een analoge uitgangspin. De uitgangswaarde daalt wanneer er meer water op het detectiepad is en stijgt wanneer er minder water is.

Het heeft ook twee LED-lampjes:

  • Een voedingsindicatorlampje (PWR-LED).
  • Een regenstatusindicatorlampje (DO-LED) op de DO pin: het licht op wanneer er regen is.

Hoe Het Werkt

Voor de DO pin:

  • De module bevat een potentiometer om de gevoeligheid aan te passen.
  • Als het regenniveau de ingestelde limiet overschrijdt, wordt de uitgangspin van de sensor LOW en gaat het DO-LED lampje aan.
  • Als het regenniveau onder de ingestelde limiet is, blijft de uitgangspin van de sensor HIGH en blijft het DO-LED lampje uit.

Betreffende de AO pin:

  • Wanneer er meer water in het detectiepad is, is de waarde van de AO pin lager.
  • Wanneer er minder water aanwezig is op het detectiepad, is de waarde van de AO pin hoger.

De potentiometer verandert de waarde op de AO pin niet.

Bedradingsschema

Sluit de VCC pin van de sensor aan op een 3.3V of 5V pin op de Arduino UNO R4. Directe aansluiting kan echter de levensduur van de sensor verkorten door elektrochemische corrosie. In plaats daarvan is het beter om de VCC pin van de sensor aan te sluiten op een uitgangspin van de Arduino. U kunt deze pin dan programmeren om alleen stroom aan de sensor te leveren wanneer metingen worden gedaan. Deze methode helpt de effecten van elektrochemische corrosie te minimaliseren.

De regensensormodule heeft twee uitgangen. U kunt een of beide gebruiken, afhankelijk van uw behoeften.

Arduino UNO R4 rain sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Arduino UNO R4 Code - Waarde lezen van DO pin

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-rain-sensor */ #define POWER_PIN 3 // The Arduino UNO R4 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

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Sluit de regensensor aan op de Arduino Uno R4 volgens het meegeleverde schema.
  • Sluit de Arduino Uno R4 board aan op uw computer met een USB kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer de juiste Arduino Uno R4 board (bijv., Arduino Uno R4 WiFi) en COM poort.
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload knop in Arduino IDE om de code te uploaden naar Arduino UNO R4.
  • Doe een paar druppels water op de regensensor.
  • Controleer de resultaten op de Serial 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  

Denk eraan, als het LED-lampje de hele tijd aan blijft of uit is zelfs wanneer de sensor wordt blootgesteld aan regen, kunt u de potentiometer aanpassen om de gevoeligheid van de sensor in te stellen.

Arduino UNO R4 Code - Waarde lezen van AO pin

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-rain-sensor */ #define POWER_PIN 3 // The Arduino UNO R4 pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino UNO R4 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 code en open deze in Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code te uploaden naar Arduino UNO R4
  • Doe wat water op de regensensor
  • Controleer het resultaat op de Serial 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.

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