Arduino Nano - Regen Sensor

De regen sensor kan regen- en sneeuwniveaus detecteren en meten, met zowel digitale (LOW/HIGH) als analoge uitgangen. Deze handleiding toont hoe u een Arduino Nano gebruikt om de regen sensor aan te sluiten en te gebruiken, waarbij uitgelegd wordt hoe u het digitale signaal leest voor regen detectie en het analoge signaal voor het meten van regen niveaus.

Daarna kunt u de code aanpassen om bijvoorbeeld een motor of waarschuwingssysteem te activeren bij het detecteren van regen of sneeuw.

Benodigde hardware

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB-kabel
1×Regen Sensor
1×Jumper draden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

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 Regen Sensor

De regen sensor kan de aanwezigheid van regen detecteren of het waterniveau meten dat valt door neerslag. Hij biedt twee opties via een digitale uitgangspin en een analoge uitgangspin.

De regen sensor bestaat uit twee delen: de sensing pad en het elektronische module

Rain Sensor Pinout
image source: diyables.io

De sensing pad

De sensing pad, die buiten geplaatst wordt om regen of sneeuw te vangen (bijvoorbeeld op een dak), heeft blootgestelde koperen sporen verdeeld in twee groepen: stroomsporen en sensoren sporen. Deze sporen zijn normaal gesproken niet verbonden tenzij ze worden overbrugd door water of sneeuw. Zowel de stroomsporen als de sensoren sporen zijn omkeerbaar, zodat u kunt bepalen welke als stroomspoor fungeert en welke als sensor spoor wordt gebruikt.

De elektronische module

De elektronische module van de regen sensor zet de signalen van de sensing pad om in analoge of digitale waarden die uitleesbaar zijn met de Arduino Nano. Hij bevat vier pinnen:

  • VCC pin: Verbindt met VCC (3,3V tot 5V).
  • GND pin: Verbindt met GND (0V).
  • DO pin: Digitale uitgangspin. Deze is HIGH wanneer geen regen wordt gedetecteerd en LOW wanneer regen wordt gedetecteerd. De drempelwaarde voor regen detectie is instelbaar via een ingebouwde potentiometer.
  • AO pin: Analoge uitgangspin. De uitgangswaarde wordt lager naarmate er meer water op de sensing pad komt en hoger als er minder water is.

Daarnaast zijn er twee LED-indicatoren aanwezig:

  • Eén PWR-LED indicator voor voeding.
  • Eén DO-LED indicator voor het regentoestand signaal op de DO pin, die oplicht wanneer regen wordt gedetecteerd.

Werking

Met betrekking tot de DO pin:

  • De module heeft een ingebouwde potentiometer om de drempelwaarde (gevoeligheid) aan te passen.
  • Wanneer de intensiteit boven die drempel uitkomt, detecteert de sensor regen, wordt de uitgangspin LOW en gaat de DO-LED branden.
  • Wanneer de intensiteit onder de drempel ligt, is er geen regen gedetecteerd, is de uitgangspin HIGH en is de DO-LED uit.

Voor de AO pin:

  • De AO pin geeft lagere waarden bij een toenemende hoeveelheid water op de sensing pad.
  • De AO pin geeft hogere waarden bij verminderde hoeveelheid water.

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

Bedradingsschema

Zoals eerder benoemd, kan het direct aansluiten van de VCC pin van de sensor op de 3,3V of 5V pinnen van de Arduino Nano de levensduur van de sensor verkorten door elektrochemische corrosie. Daarom wordt aanbevolen de VCC pin van de regen sensor aan te sluiten op een output pin van de Arduino Nano. Op die manier kunt u die pin programmeren om de sensor alleen van stroom te voorzien tijdens het uitlezen, en zo de impact van corrosie te minimaliseren.

Omdat de regen sensor module twee uitgangen heeft, kunt u kiezen om er één of beide te gebruiken, afhankelijk van uw behoefte.

  • Het bedradingsschema tussen Arduino Nano en de regen sensor bij gebruik van alleen DO.
Arduino Nano rain sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

  • Het bedradingsschema tussen Arduino Nano en de regen sensor bij gebruik van alleen AO.
Arduino Nano rain detection wiring diagram

This image is created using Fritzing. Click to enlarge image

  • Het bedradingsschema tussen Arduino Nano en de regen sensor bij gebruik van zowel AO als DO.
Arduino Nano rain detector wiring diagram

This image is created using Fritzing. Click to enlarge image

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

Arduino Nano Code - Waarde uitlezen via DO pin

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define DO_PIN D9 // The Arduino Nano pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano'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 bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino Nano te uploaden
  • Laat wat water op de regen sensor druppelen
  • 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 de LED-status constant aan blijft of uitblijft wanneer er wel regen op de sensor valt, u de potentiometer kunt aanpassen om de gevoeligheid van de sensor fijner af te stemmen.

Arduino Nano Code - Waarde uitlezen via AO pin

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino Nano pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino Nano te uploaden
  • Laat wat water op de regen sensor druppelen
  • 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.

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