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

lcd-modul_dht11_raspberrypi_material_steckplatine

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.

IMG_5666Für den Versuch ist es wichtig, dass die Anschlüsse auf dem Temperatur/Luftfeuchtigkeits-Sensor richtig verdrahtet werden!

Anschlüsse Temperatur/Luftfeuchtigkeits-Sensor

IMG_5663_rtempfeuchte_kabel

  • Braun – Masse (GND)
  • Rot – +5 Volt
  • Neon-Gelb – Signal

Anschlüsse LCD-Modul

display_anschluesse_IMG_5677

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.

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)

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.

20161008_204801_web

 

Kommentare sind geschlossen.