Funk Regenwarner in der Brotdose

Über den Beitrag

In diesem Beitrag möchte ich zwei Dinge vorstellen: einen Funk Regenwarner in der Brotdose und wie man den eigentlichen Regensensor aus diesem Projekt selbst basteln kann. Dabei baue ich auf die früheren Beiträge über 433 MHz Funk und Funksteckdosen auf.

Warum aber eine Brotdose? Ganz einfach: Brotdosen sind vergleichsweise regendicht, preisgünstig und man kann sie leicht öffnen, um die Batterie zu wechseln. Mit anderen Worten: eine gute Alternative zu den eigentlich für solche Dinge vorgesehenen Gehäusen. Außerdem fand ich die Idee einfach lustig. 

Regensensoren

Regensensoren wie die hier abgebildeten sind für wenige Euro z.B. bei Amazon erhältlich: 

links: Regensensor mit separatem Modul, rechts: kompaktes Modell

Es gibt Regensensoren, bei denen der Detektor und das Ansteuerungsmodul separate Bauteile sind und dann gibt es noch die kompakten Modelle. Ich würde immer Erstere nehmen, weil man bei ihnen die Elektronik besser vor Feuchtigkeit schützen kann. Ein Regensensor der nicht nass werden darf ist ja nicht wirklich sinnvoll.

Die Sensoren werden üblicherweise mit 3-5 V versorgt. Das oben rechts abgebildete Modell liefert im trockenen Zustand zwischen „S“ und „-“ eine Spannung von 0 V.  Bei Kontakt mit Wasser geht die Spannung hoch und kann über einen analogen Eingang ausgewertet werden. Bei Versorgung mit 5 V habe ich bei Berührung mit einem feuchten Finger ca. 2,5 V gemessen. Das Modell oben links hat neben dem Analogausgang noch einen Digitalausgang. Am Analogausgang misst man im trockenen Zustand eine hohe Spannung, die bei Wasserkontakt sinkt. Der Digitalausgang ist bei trockenem Detektor „HIGH“ und feucht ist er „LOW“. Über den kleinen Poti auf dem Modul lässt sich einstellen bei welcher Analogspannung der Digitalausgang seinen Status ändert. 

Wie man solche Regensensoren selbst baut, ist am Ende des Beitrags beschrieben. 

Das Funk Regensensorprojekt

Die Empfängerseite

Der Regensensor soll mich warnen, wenn zum Beispiel meine Wäsche draußen zum Trocknen hängt und es zu regnen beginnt. In meinem Projekt schaltet er dazu eine Funksteckdose an der eine Alarmsirene hängt. So eine Sirene bekommt man für ca. 20 Euro in Elektronikshops. Man kann sich natürlich auch andere Warnmechanismen auf der Empfängerseite einfallen lassen. Mit einem Funk Receivermodul und einem Arduino o. ä. sind da keine Grenzen gesetzt. 

Funksteckdose mit Alarmsirene

Die Senderseite

Auf der Senderseite verwende ich einen Arduino Nano, den man für wenige Euros bei Amazon bekommt. Als Funkmodul kommt ein einfaches 433 MHz Transmittermodul zum Einsatz. Als Antenne habe ich ein Steckbrückenkabel verwendet. Das ist nicht ideal, aber ich wollte das Gehäuse nicht zu groß werden lassen. Es reicht auf jeden Fall um Signale aus dem Garten nach drinnen zu senden. Um die Sendeeinheit nicht zu groß werden zu lassen, habe ich einen 3.7 V / 720 mAh Akku aus dem Drohnenbau verwendet. Da der Arduino Nano 5 Volt benötigt, habe ich ein entsprechendes Step Up Modul verwendet. Alternativ könnte man auch gut einen 9 V Block nehmen und sich den Konverter sparen. Dabei muss man beachten, dass je nach Spannung unterschiedliche Pins am Nano verwendet werden müssen. Entweder man schließt konstante 5 Volt am Pin „5V“ an oder man nimmt 7 bis 12 Volt und geht an „VIN“. Als kleines Extra habe ich noch eine Kontroll LED verbaut, die leuchtet, solange die Batteriespannung über 3.3 V liegt. 

Das Ganze habe ich auf eine kleine Platine gelötet und diese mit 2.5 mm Plastikschräubchen und Abstandshaltern in der Brotdose fixiert. Der An-/Ausschalter und das Kabel zum Detektor wurden über kleine Bohrungen aus dem Gehäuse herausgeführt. Mit Silikonkleber habe ich die Löcher wieder abgedichtet. Und so sieht das Resultat aus:

Die fertige Sendeeinheit

Eigentlich wollte ich noch einen Schaltplan mit Fritzing erstellen, aber es war mir dann doch zu viel Aufwand für das Step Up Modul und den Regensensor neue Bauteile zu erstellen. Ich habe stattdessen TinyCAD und ein bisschen Photoshop verwendet.

Schaltplan für die Sendeeinheit, den Funk Regenwarner in der Brotdose

Den Widerstand an der LED habe ich übrigens nicht vergessen. Es handelt sich um eine 5 V LED. Bei „normalen“ LEDs sollte noch ein 330 Ω Widerstand ergänzt werden.

Der Sketch

Der Sketch dazu dürfte selbsterklärend sein. In der loop Schleife wird wiederholt geprüft ob ein Regensignal vorliegt. Ist das der Fall, geht die Alarmsirene fünf Sekunden lang an und dann für fünf Sekunden aus. Außerdem wird die Batteriespannung überprüft. Die RCSwitch Bibliothek und wie man mit Funkmodulen Funksteckdosen schaltet, habe ich in einem anderen Beitrag erklärt.  

#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
int analogRainPin = 0;
int analogVoltPin = 1;
int ledPin = 12;

void setup() {
  Serial.begin(9600);
  mySwitch.enableTransmit(10);
  mySwitch.setPulseLength(311);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  if(analogRead(analogVoltPin) > 675) /* Batteriespannung > 3.3 V */
    digitalWrite(ledPin, HIGH);
  else{
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
  }
  if(analogRead(analogRainPin) <= 800){ /* empirischer Grenzwert */
    mySwitch.switchOn("10010", "00100");
    delay(5000);
    mySwitch.switchOff("10010", "00100");
    delay(5000);
  }
  delay(500);
}

Was man anders (besser?) machen könnte

Sollte ich den Regenwarner noch einmal bauen, würde ich zwei Dinge ändern. Zum einen würde ich einen ATtiny (z.B. 85) anstelle eines Arduino Nano nehmen. Der reicht völlig aus und man könnte sich den Step Up Wandler sparen. Zum anderen würde ich den Detektor selbst bauen. Wie man das macht beschreibe ich im letzten Teil des Beitrages. 

Den Regensensor selber bauen

Als mein Projekt schon fertig war, kam mir – leider etwas zu spät – die Idee den Sensor selber zu bauen. Dazu sägt man zunächst aus einer Streifenrasterplatine ein rechteckiges Stück aus. Soll der Detektor beidseitig funktionieren, legt man einfach zwei Platinenstücke aufeinander. Dann verbindet man den ersten, dritten, fünften, usw. Streifen und macht dasselbe mit dem zweiten, vierten, sechsten, usw.. Beide Streifengruppen bekommen einen Anschluss. Die Lötstellen für meine Verbindungen waren recht hässlich, weshalb ich sie noch abgeklebt habe. 

links: Verbinden der Streifengruppen, rechts: der fertige Feuchtedetektor.

Die Elektronik dazu habe ich gemäß dem unten abgebildeten Schaltplan realisiert. Ich verwende einen 10 kΩ Widerstand und einen npn-Transistor (BC 547B).  Bei Trockenheit kann kein Strom über den Sensor fließen. Entsprechend sperrt der npn-Transistor und die Spannung an A0 beträgt 5 V. Bei Feuchtigkeit fließt ein kleiner Strom, der den Transistor öffnet, so dass die Spannung an A0 absinkt. Das war’s schon.

Das Auslesen ist dann einfach. Ich mache es in dem Sketch mit einem analogen Eingang. Wie man aber unten sieht, ist das Signal so scharf, dass auch ein Digitaleingang funktionieren würde. 

int analogRainPin = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println(analogRead(analogRainPin));
  delay(1000);
}

Und so sieht es dann in Aktion aus:

Der Selbstbausensor in Aktion. Für die nächste Version des Funk Regenwarner in der Brotdose
Der Selbstbausensor in Aktion

Ich hoffe der Funk Regenwarner in der Brotdose hat Spaß gemacht und Euch vielleicht Anregungen für eigene Projekte gegeben.  

10 thoughts on “Funk Regenwarner in der Brotdose

  1. Hast Du das Projekt im Dauerbetrieb?
    Das Step Down Modul verbraucht sicherlich Strom.
    Wie lang hält da der Akku?

    1. Hallo Jens,

      nein, nicht im Dauerbetrieb. Das war einer meiner ersten Artikel. In der Zwischenzeit würde ich einiges anders machen. Und zwar genau wg. des Stromverbrauchs. Ein Arduino Nano braucht um die 35 mA. Dann kommt noch die LED dazu (ca. 8 mA). Das Funkmodul fällt nicht so sehr ins Gewicht. Wenn man das Design nicht ändern möchte , könnte man einiges einsparen, indem man den Arduino in den Schlaf schickt und nur periodisch aufwachen lässt.
      Noch besser wäre es anstelle eines Arduinos einen kleinen Microcontroller, wie den ATtiny85 zu verwenden, dann kann man sich auch den Step-Up Konverter sparen.
      Trotzdem mag ich immer noch das „Brotdosendesign“, weil es eine preisgünstige und recht wasserfeste (ich würde sagen: spritzwassergeschützt) Lösung ist.
      VG, Wolfgang

  2. Hallo ich muss in der Schule ein Projekt machen.
    Ich solle eine Regensensor so Programmieren dass wenn er nass wird(es regnet) sich ein Servo motor nach rechts dreht/links. Wenn nicht dann soll er nichts tun bis er nass wird…
    Leider habe ich gar keine Ahnung vom programmieren…
    Könnten Sie mir vielleicht bei solch einem Programm weiter helfen?
    Mit freundlichen Grüßen Thea

    1. Hallo Thea,

      ich helfe gerne, wenn du zumindest versuchst zu verstehen, wie die Programmierung funktioniert. Es soll ja einen Lerneffekt haben.

      Hast du die notwendigen Teile? Mindestens brauchst du den Sensor mit Ansteuerungsmodul (ich gehe mal davon aus, dass du den Teil nicht selbst bauen willst), einen Servo und einen Arduino. Wenn der Servo nicht zu groß ist, dann kann er über den Arduino mit Strom versorgt werden.

      Hast du die Arduino IDE, also das Arduino Programm? Habt ihr dazu eine Einführung bekommen?

      Alles weitere lieber per e-mail: wolfgang.ewald@wolles-elektronikkiste.de , da deine Anfrage nicht so relevant für den Beitrag ist.

      VG, Wolfgang

  3. Hallo,
    tolle Seite mit interessanten Beiträgen, Glückwunsch.

    Zum Regensensor, seit Anfang des Jahres läuft mein Test mit dem Regensensor. Problem ist die Gleichspannung so das sich das Kuper elektrochemisch zersetzt.
    Deshalb habe ich den Sensor in die Rückkopplung eines digitalen Inverters gelegt und am Eingang des Inverters noch einen Kondensator nach Masse gelegt. Damit erhält man einen einfachen Rechteckoszillator und die Frequenz steigt mit der Befeuchtung des Sensors. Am Sensor liegt Wechselspannung an, theoretisch ist das besser.

  4. der Regensensor muß ja eigentlich nur einmal funktionieren, nämlich wenn es plötzlich anfängt. Dann gibt es Alarm und man wird an evtl offenstehende Fenster und Türen erinnert. Nach dem Regen hat der Sensor Stunden Zeit, um wieder trocken zu werden.
    Ich könnte mir zwei Möglichkeiten als Korrosionssschutz vorstellen:
    1. Kontaktbahnen vergolden
    2. Kontakte aus Edelstahl ( ich habe Zugriff auf Edelstahl mit 1/16″ Durchmesser, läßst sich prima biegen.
    Hat jemand ähnliches schon mal gemacht?

    1. Das Gold zum Vergolden ist mir leider ausgegangen…. 😉

      Aber im Ernst: mit vergoldeten Kontakten sollte es gehen und Kontakte aus Edelstahl sollten eigentlich auch funktionieren.

  5. Erst mal besten Dank für Deine tollen Seiten! Alles sehr sauber aufgebaut und nachvollziehbar!

    Zu diesem Projekt hier speziell mein Hinweis, dass die hier eingesetzten Sensoren allesamt leider nur kurzzeitig brauchbar sind. Das pure Regenwasser ist in Verbindung mit den Metallen, insbesondere dort, wor 2 Metalle in Kontakt stehen (Lötstellen) so aggressiv, dass alles schnell korrodiert.
    Ich ahbe vor einigen Monaten auch mit sowas experimentiert und wollte an meine Hausatomatisierung einen solchen Sensor über einen ESP8266 NodeMCU anbinden und dabei verschiende Regenarten detektieren. Hat alles mit manuell aufgebrachten Tropfen verschiedener Größen funktioniert. Echter Regen, Luftfeuchtigkeit und die Korrosion haben aber alles zum scheitern gebracht.
    Meine Lösung war dann der Einsatz kapazitiver gekapselter Sensoren (https://www.makershop.de/sensoren/kapazitiver-feuchtigkeitssensor/) .Aber auch hier muß man mit Tricks arbeiten. Ich habe 2 Sensoren eingesetzt. Beide sind in Schrumpfschlauch eingebettet. Einer ist in einem wetterfesten, aber offenem Gehäuse (https://www.amazon.de/TFA-Dostmann-Schutzh%C3%BClle-98-1114-02-montieren/dp/B017ILZF6C) montiert, der andere im 45° Winkel ausserhalb eingeklemmt zwischen den Gehäuselamellen montiert. Ich werte dann die Differenz zwischen beiden Sensoren aus incl. eines Offsets.
    Damit erziele ich eine weitgehend brauchbare Aussage über Regen / nicht Regen und steuere Rollos auf der Wetterseite. Problemtaisch sind noch zusammenhängende Tropfen auf dem Aussensensor, sodass es längere Zeit braucht, bis die Meldung „trocken“ kommt. Ich habe hier schon mit aufklebbarer Spiegelheizung gearbeitet, aber festgestellt, dass man beide Sensoren heizen muß… Ist ganz schön aufwändig, hier was verlässliches hinzubekommen.

    1. Hi Lord Wal de Moore, vielen Dank für den ausführlichen Kommentar. Das dürfte anderen helfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert