ArduinoRegen sensor
Met dit component kun je regendruppels meten. Het bestaat uit een groot onderdeel waarop een printplaat is geetst. De ets ziet eruit als een aantal vingers aan een hand. En een andere hand die daarmee verweven is.

Op onderstaande foto heb ik een hand hier een rode kleur gegeven. Duidelijk is te zien dat de vingers van de ene hand tussen die van de andere hand liggen.

Als er regendruppels op de sensor vallen dan zal er een kortsluiting ontstaan tussen de stroom in de ene hand en de andere hand. De sensor werkt hiermee als een soort variabele weerstand. Vergelijk dit eens met potentiometer, die in wezen op dezelfde manier werkt.
Zonnig Meter is droog Hoge spanning Regen Meter is nat Lage spanning
De gehele module heeft best een aantal pins.
VCC Voeding 5V op de Arduino GND Aarde / ground op de Arduino D4 Digitale uitgang. Aansluiten op de digitale pin op de Arduino A0 Analoge uitgang. Aansluiten op de analoge A0 poort op de Arduino
Onderstaande code voorbeelden zijn om de mogelijkheden te demonstreren. Beide maken gebruik van de seriele monitor, dus deze code is niet stand alone van de IDE omgeving te gebruiken.
Het eerste code voorbeeld is voor het digitaal uitlezen van de module. Deze kan enkel onderscheid maken tussen NAT en DROOG.
const int digitalPin = 4; void setup() { pinMode(digitalPin, INPUT); Serial.begin(9600); } void loop() { if(digitalRead(digitalPin) == LOW) { Serial.println("Digitaal: nat"); } else { Serial.println("Digitaal: droog"); } delay(1000); }
Het tweede code voorbeeld is voor het uitlezen van de analoge waarden vanuit de module. Deze krijgt een waarde terug die aangeeft of de module nat en droog is, en hoe erg. Er zit dus meer variatie in.
De waarde die we lezen komt in de variable value. Hier zetten we de waarde in de seriele monitor. Je zou op basis van de waarde ook acties kunnen starten (zonnescherm omhoog doen bijvoorbeeld)
const int analogPin = A0; int value; void setup() { pinMode(analogPin, INPUT); Serial.begin(9600); } void loop() { value = analogRead(analogPin); Serial.print("Analoog: "); Serial.println(value); delay(1000); }
