AtmoBox (Raumluft-Monitor) – Versuch 1

Ein Teil des OmniNetzes (ja, die Idee ist immer noch nicht gestorben) sind Sensoren zur Messung der Raumluft. Wie das in etwas aussehen sollte hatte ich schon länger im Kopf, jedoch nie die Muße da mal zu starten.

Heute hat mich dann der Hafer gestochen und ich wollte basteln. Mein Lager war noch recht gut sortiert – und aus dem was da war, habe ich einen ersten Prototypen für das „Raumluftmonitoring“ bauen können. Ein paar coole Features wie W-LAN Anbindung oder Wetter-Daten von einem Außensensor fehlen noch, aber das soll auch erstmal nur ein Quicky zum warm werden sein.

Was kann das Ding

Es werden alle 30 Sekunden Werte aufgezeichnet. Es werden die jeweils letzten 80 Werte gespeichert und als Plot-Chart auf einem Display ausgegeben. Zu den erhobenen Größen zählen:

– Lichtstärke (Gelb)
– Temperatur (Rot)
– Luftfeuchtigkeit (Blau)
– Anzahl Staubpartikel (> 1 um, bzw. Anteil an Raumluft) (Grün)

Wenn die Werte erhoben werden, blinkt die LED kurz auf, ansonsten ist sie aus.

Teileliste:

– Arduino Uno
– Arduino Proto Shield (EXP-Tech)
– DHT 11 Digitaler Temperatur und Luftfeuchtigkeitssensor (EXP-Tech)
– Shinyei PPD 42 (Staubpartikelsensor) (EXP-Tech)
– Sparkfun Color LCD Shield (Sparkfun)
– Fotozelle
– Piezo-Lautsprecher
– Leuchtdiode Grün + Vorwiderstand
– Kabelreste, Schrumpfschläuche
– Steckverbinder (gewinkelte Stiftleisten und gerade Buchsenleisten)
– Universalgehäuse

Atmo Box Aufbau

Atmo Box Aufbau

Zur Elektronik und zum Zusammenbau:

– Fotozelle am Analogen Eingang A0 und 5V+, Eingang A0 mit 20kOhm Widerstand gegen Masse (guter Guide in Englisch)
– DHT 11 an Digital 2, ansonsten 5V+ und Masse [siehe auch]
– Partikelsensor an Digital 3, ansonsten 5V+ und Masse
– LED an Digital 4, mit 200 OHm Widerstand

Alle Kabel im Gehäuse werden mit dem Arduino Shield über Steckverbindungen verbunden. Auf dem Shield sitzen noch die beiden Widerstände und der Piezo-Lautsprecher sowie Stiftleisten zum Verbinden des Shield mit dem Arduino.

Die einzelnen Elemente/Bauteile habe ich mit Heißkleber im Gehäuse befestigt.

Zusammengebaut sieht Gehäuse das Gehäuse recht unspektakulär aus (richtig schön klobig).

Atmobox

Atmobox

Programmierung und Betrieb

Als Treiber für den Display habe ich folgende Library verwendet: TCWORLD gLCD-Library.

Der Verlauf der Werte wird jeweils in Arrays gespeichert. Dann male ich für jeden Datenpunkt im Array einen Punkt in den Chartbereich. Das ganze ist erstmal Pi*Daumen skaliert. X-Achse = Zeit (Array Element), Y-Achse = Wert (skaliert). Sind alle Elemente im Array belegt, überschreibe ich die Werte von 0 anfangend wieder.

Nach einiger Zeit sieht das mit Daten dann wie nachfolgend aus. Hinweis: der kleine Kreis unten an der Box zeigt die aktuelle Position an (da der Chart nicht wandert, sondern die einzelnen Punkte sukzessive wieder überschrieben werden). Man sieht hier schön, wie der Partikelwert in der Raumluft ansteigt, nachdem ich eine im Zimmer geraucht hatte (die unterste der Reihen).

atmobox-data-500

ToDos:

So ganz klappt das mit dem Partikelsensor noch nicht (von der Genauigkeit), da der Digitale Pin 8 als Pulsegeber durch das Display belegt ist. Muss ich irgendwie nochmal mit dem Lötkolben ran.

Der Code ist auch noch ein ziemlicher Sauhaufen (insb. korrekte Umrechnung für die Chartdarstellung und Anzeige), halt alles auf die schnelle zusammen gezimmert. Wenn der aufgeräumter ist, reiche ich den mal nach.

Das ganze müsste jetzt noch in eine hübschere Box + nen größeren Display (vielleicht mit Touch-Funktion) und W-LAN Streaming der Daten.

Schreibe einen Kommentar

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