Zielgruppe:
Pfadfinderinnen- und Pfadfinderstufe
Zielsetzung:
Mit dem Temperatur/Luftfeuchtigkeits-Sensor messen wir die Werte in der Umgebung und geben das Ergebnis auf einem LCD-Display aus.
Dauer:
ca. 60 Minuten
Material:
- Raspberry Pi
- Breadboard
- Temperatur/Luftfeuchtigkeits-Sensor
- LCD-Modul
- Jumper-Kabel
- Kabel
benötigte Bibliotheken:
Die Vorbereitungen zum Temperatur/Luftfeuchtigkeits-Sensor müssen unbedingt angeschlossen sein!
Der Blog-Beitrag ist Voraussetzung:
Raspberry Pi: Temperatur & Luftfeuchtigkeit messen
Aufbau
Für das Experiment wird ein fertiger Temperatur/Luftfeuchtigkeits-Sensor verwendet.
Für den Versuch ist es wichtig, dass die Anschlüsse auf dem Temperatur/Luftfeuchtigkeits-Sensor richtig verdrahtet werden!
Anschlüsse Temperatur/Luftfeuchtigkeits-Sensor
- Braun – Masse (GND)
- Rot – +5 Volt
- Neon-Gelb – Signal
Anschlüsse LCD-Modul
Die Verkabelung ist einfach:
- GND wird mit dem GND Kontakt
- VCC mit dem 5V Kontakt
- SDA mit dem SDA Kontakt
- SCL mit dem SCL Kontakt
für den I²C-Bus auf dm Display benötigen wir noch die passenden Erweiterungen in Python.
Öffne das Terminal und führe folgende Befehle aus:
sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus
Standardmäßig ist der I²C-Bus deaktiviert. Für den Versuch aktiviere den I²C-Bus.
Die kannst du direkt in der grafischen Oberfläche erledigen.
Wichtig: Die beiden Python-Dateien (i2c_lib.py und lcddriver.py) müssen im gleichen Verzeichnis liegen, wie das Programm-Beispiel. Alle notwendigen Dateien & Anleitung gibt es unter Programmbeispiel als Download.
Arbeitsblatt & Programmcode zum Download
Wie starte ich das Python-Skript auf meinem Raspbery Pi?
- Öffne IDLE von der Hauptnavigation (Menu>Entwicklung>Python 2 (IDLE).
- Öffne die Datei: Klicke auf File > Open file.
- Öffne die bestehende Datei dht11-lcd-i2c.py.
- Starte das Programm mit F5.
Nach ein paar Sekunden sollte eine Anzeige auf dem LCD-Display erfolgen.
[php]
import lcddriver
import time
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
lcd = lcddriver.lcd()
lcd.lcd_clear()
while True:
time.sleep(1)
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
lcd.lcd_display_string(‚Temp.: {0:0.1f} C‘.format(temperature), 1)
lcd.lcd_display_string(‚Humidity: {0:0.1f} %‘.format(humidity), 2)
else:
print(‚Fehler beim Einlesen der Daten. Starte einen weiteren Versuch!‘)
time.sleep(1)
[/php]