Donnerstag, 21. Juli 2016

Badezimmer unter Mikrokontrolle

Musik im Badzimmer verbessert deutlich die Laune, besonders Montag morgens oder beim Putzen. Daher ist es unerlässlich im Bad irgendetwas in Richtung Musikanlage nutzen zu können, jedenfalls für mich. Eine ganze Musikanlage mit CD, Radio und Speicherslot kommt nicht in Frage, da ich kein Radio höre, das Gesabbel und die Jingles alle Nase lang, senken bei mir die Laune ins bodenlose. Ich brauche also meine eigene Zusammenstellung. Und da mit den Jahren sich immer mehr MP3-Player angesammelt haben, liegt soetwas ungenutzt herum. Heute gibt es dafür ja Smartphones und auch die fristen bereits in mehreren Generationen ein langweiliges dasein. Bei mir ist der MP3-Player meiner Wahl ein COWON J3 mit 32GB, ausreichend also für eine sehr große Zusammenstellung an Musik.

Nun empfinde ich es als unangenehm, wenn ich nachts mal ins Bad muss und etwas Licht benötige. Dann ist das installierte Licht meist viel zu hell. Eine kleine dimmbare Lichterkette trifft da schon eher meine Bedürfnisse.

Besonders in den Wintermonaten, wenn die Wände kalt sind, schlägt sich vermehrt Feuchtigkeit im Badezimmer ab. Besonders in einer Ecke über der Wanne. Es gibt zwar ein große Fenster im Bad, doch in der Ecke will die Luft nicht so richtig zirkulieren und Spark entsteht.

Ich benötige also etwas zum Musikhören, ein zartes Pinkellicht und eine Zirkulationsunterstützung für die Raumluft im Bad.


Das Steuergerät

Bereits Anfang 2012 habe ich eine kleinere Ausgabe von dem Gerät gebaut, damals war allerdings nur die Musik und das Licht wichtig. Ich konnte also hiermit auf ein bestehendes bewährtes System zurückgreifen und verwendete hieraus die damals gebastelte Leiterplatte mit dem TDA 7268A Audioverstärker. Somit musste ich den Part nicht neu bauen, denn klanglich war dieser völlig ausreichend, ist ja nur ein Badezimmer.


Altes bewährtes wiederverwenden. Hier mit einem ATTiny85 oben links

nur der Stereoverstärker und die Audioaufbereitung für den Controller blieb


Da ich mittlerweile einige Dinge mit Arduinos löse, sollte auch hier einer zum Einsatz kommen. Aus China habe ich mir mal zwei Hände voll davon gekauft, dort kosten sie nur einen Bruchteil.
 
zwei Hand voll Nano und Mini Pro Arduinos, klein und nützlich - meine Glückskekse

Der Lüfter sollte eine Automatik bekommen, denn immer daran denken ihn zu aktivieren ist zu unsicher. Mit Hilfe eines Feuchtigkeitssensors lässt sich so etwas leicht umsetzen. Für den Ardunio gibt es fertige Bibliotheken, z.B. für den DHT22 und gute Beispiele. Dieser Sensor liefert nebenbei gleich noch die Temperatur mit und verwendet für die digital Anbindung nur eine Leitung.
Damit das ganze dann auch einstellbar wird, ab welcher Feuchtigkeit, wie lange und ob verzögert und überhaupt gelüftet wird, spendierte ich dem System noch ein zweizeiliges LCD und einen Encoder für die Menüführung sowie Einstellung der Betriebsparameter.
Wie so häufig, verselbstständigen sich eine Projekte dann in einer Art der Auswucherung der Möglichkeiten... Es fällt mir machmal schwer den Rahmen klein zu halten... Macht eben einfach Spaß.

Nach einer Zeit bohren, feilen, kleben und löten sah das dann so aus
 
links der Verstärker, rechts ein Arduino Nano, vorn das Display

Damit ich I/O-Leitungen sparen konnte, verwendete ich ein I2C Modul für das zweizeilige LCD. Dem FET für Hintergrundbeleuchtung verpasste ich noch einen Bypass, einen Widerstand, damit ich zwei Helligkeitsstufen bekam, denn über das verwendete I2C Interface kann man nicht dimmen. Klar hätte ich hier noch mehr Aufwand treiben können, doch ich wollte auch mal fertig werden, denn die alte Verstärkerdose war ja nun in den neuen Aufbau eingeflossen und der war noch im Bau - also temporär keine Musik im Bad...ganz ganz schlecht!

Die Frontplatte von innen her gesehen. Unter der schiefen Platine verbirgt sich ein Encoder


Die Rückseite, Lüfterstecker, Audio-In, USB, Lautsprecher, Lichterkette und Stromversorgung


Immer wieder kam es beim Aufbauen zu Szenen von Chaos. Der Arbeitsplatz versinkt unter Bauteilen. Eine kleine Kaffepause hilft meist...


Die Suche nach einem Steckverbinder; war von Erfolg gekrönt

Das Lüftermodul

Der Lüfter sollte ein externes Element sein, damit die Position auch mal verändert werden kann. Damit sich niemand an den Rotorblättern verletzen kann, sind Schutzgitter montiert. Da ich noch nicht wusste wie stark das DHT22 Auslesen die Firmware ausbremst, sah ich genügend Platz im Lüftersockel vor einen zweiten Arduino aufzunehmen, der dann mit einem seriellen Protokoll die Daten vom DHT22 an den Nano im Steuergerät hätte liefern können. Aber wie ich dann bemerkte, das Auslesen geht sehr schnell, ein nerviges Lag ist nicht zu spüren. Mit dem Flachbandkabel ist das Lüftermodul dann mit dem Steuergerät verbunden. Im Steuergerät kann die Lüfterleistung über eine PWM verändert werden.


Ein 120er Lüfter von Sunon aufgesetzt auf ein kleines Gehäuse. Innen noch Platz für einen weiteren Arduino.

Der Lüfter mit dem DHT22 Feuchtigskeitssensor an der Seite

Das Nachtlicht

Viele Lichterketten habe ich bereits ausprobiert, zwar war das für ein anderes Projekt, doch  dabei habe ich festgestellt, man bekommt nur Murks, schlechte Lötungen, übel ausgasende Kabel, defekt nach ein paar Stunden... Lichterketten sind Glückssache. Also habe ich mir die Lichterkette auch selber gebaut. Hierfür fand ich in der Bucht 1000 weiße LED zu einem günstigen Preis eines chinesischen Anbieters.

1000 Stück 5mm LED, weiß mit Streukopf

Da die Lichterkette über eine Pulsweitenmodulation mittels eines MOSFETs an 12V betrieben werden sollte, schaltete ich jeweile drei LED in Reihe und setzte noch einen 180 Ohm Widerstand mit in die 3er Reihe. Bei 12V fließen so maximal 15mA. Etliche 3er Elemente davon als Kette verschaltet ergeben dann die DIY-Lichterkette. Als PWM Frequenz stellte ich den NANO auf 31.2kHz ein. Damit werde ich das Schalten niemals wahrnehmen, weder im Verstärker noch direkt an den LED.


Mit AWG28 Litze, Widerständen Schrumpfschlauch und Heißkleber ist die Lichterkette vollbracht

Nach einigen Tagen Arbeit war endlich alles fertig und an seinem Platz
Die neu Brotdose ist an ihrem Platz, an dem die Alte stand
Die LED rechts unter dem Lautstärkeknopf zeigt den Verstärkerbetrieb an. Im LCD ist mittig ein kleiner Audiolevelbargraph

Die Lichterkette kann über den linken Taster ein und ausgeschaltet werden, länger gedrückt gehalten dimmt die Kette auf und ab. Darüber wird im Display die Leistung der Kette angezeigt.

Die Musik schaltet selbstständig den Verstärker ein, wenn der Pegel eine Schwelle erreicht und lässt den Verstärker eine gewisse Zeit eingeschaltet. Beide Werte sind einstellbar.

Der Lüfter wird automatisch eingeschaltet, wenn eine zuvor eingestelle Feuchtigkeit erreicht wurde. Eine Leistungserhöhung mit dennoch ansteigender Feuchtigkeit ist einstellbar. Der Lüfter wird mit einer Nachlaufzeit betrieben. Dabei kann der Lüfter auch für eine Zeit mit der zweiten Taste unterdrückt werden, falls der Luftzug als störend empfunden wird. Natürlich kann der Lüfter auch einfach für eine Zeit eingeschaltet werden. Dauerhaft kann der Lüfter nicht unterdrückt werden, da ja das Ziel ist, das Badezimmer sparkfrei zu halten.

Der blaue Knopf ist der Encoder und wird für das Blättern durch das Menü und die Einstellung der insgesamt elf Parameter genutzt.


Damals hatte das kleine Programm auf dem ATTiny85 gerade mal 200 Zeilen C Code, nun sind es auf dem Arduino Nano (ATMega328) mehr als 1600 Zeilen... die Bibliotheken natürlich nicht mitgerechnet...

Viel Aufwand, aber es ist ja nur ein Badezimmer


Fazit

Es funktioniert erstaunlich gut. Jeden Morgen beim Duschen schaltet sich der Lüfter zuverlässig ein und dreht auch weiter auf, wenn die Luftfeuchtigkeit weiter steigt. Kein Absturz, kein Hängen, keine unerwarteten Reaktionen.
Lediglich beim Nachtlicht muss ich nochmal ran. Bereits bei 1% Aufsteuerung der LED-Kette, also ca. 150uA pro LED ist es mir zu hell. Ein Widerstand in Reihe wird da reichen die Helligkeit in einen anderen Arbeitspunkt zu verschieben...

Vielleicht baue ich noch ein Bluetooth Modul ein, dann kann ich vom Smartphone aus die Musik drahtlos hören. Gibt es günstig in China ;)