Der DS18B20 am Einhorn Shield

Der DS18B20 am Einhorn Shield Titelbild

Der DS18B20 am Einhorn Shield

Jetzt, da wir uns sehr ausführlich mit dem DS18B20 beschäftigt haben, wollen wir uns noch einmal ansehen, was alles mit dem Temperatursensor möglich ist. Dafür musst du den DS18B20 und das Einhorn Shield angeschlossen haben. Du brauchst jetzt wieder den Code, den du im vorherigen Kapitel geschrieben hast, musst allerdings die while-Schleife am Ende entfernen. In diesem Programm verbinden wir die Stärken des Einhorn Shields mit unserem Projekt. Wenn wir Temperaturdaten messen, ist das natürlich schön und gut, aber natürlich wollen wir diese auch aufbereitet darstellen. Dafür eigenen sich die Pixel LEDs doch nahezu perfekt, oder was meinst du? Die optimale Temperatur im Innenraum liegt irgendwo zwischen 20 und 23°. Wenn die gemessene Temperatur in diesem Bereich liegt wollen wir ein grünes Licht anzeigen. Ist es kälter, soll ein blaues Licht leuchten und wenn es wärmer ist ein rotes Licht.

import unicornshield as unicorn
from time import sleep
import ds18b20

while True:
    temperatur = ds18b20.grad_lesen()
    print(temperatur)
    if(temperatur < 19):
        unicorn.setAll(0,155,155)
    elif(temperatur < 24):
        unicorn.setAll(0,155,0)
    else:
        unicorn.setAll(155,0,0)
    unicorn.show()
    sleep(60)

Wenn du das Programm ausführst, solltest du sehen, dass dein Einhorn in der Farbe leuchtet, die zu der Temperatur in deiner Umgebung passt. Wenn folgende Fehlermeldung erscheint: ImportError: No module named ds18b20 gibt es keine Datei mit dem Namen ds18b20.py. Die brauchen wir aber, um den Temperatursensor auszulesen.

Das Programm ist eigentlich relativ simpel. Nach dem Einbinden der Bibliotheken gibt es ab Zeile 5 eine while-Schleife, die immer und immer weiter läuft. In Zeile 6 rufen wir die Temperatur auf und speichern diesen Wert in der Variablen temperatur. Danach gibt es dann zwei verschiedene Bedingungen, die prüfen wie warm es gerade ist und dann die Farbe der LEDs verändern.

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!