Raspberry Pi: Temperatur & Luftfeuchtigkeit auf einem LCD-Display

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?

  1. Öffne IDLE von der Hauptnavigation (Menu>Entwicklung>Python 2 (IDLE).
  2. Öffne die Datei: Klicke auf File > Open file.
  3. Öffne die bestehende Datei dht11-lcd-i2c.py.
  4. 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]

VCP-Blog