Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Die Temperatur und die relative Luftfeuchtigkeit sind wichtig
Wetterdaten in der Umgebung. Die beiden können die Daten sein, die eine Mini-Wetterstation liefert. Das Auslesen Ihrer Temperatur und relativen Luftfeuchtigkeit mit Raspberry Pi kann mit verschiedenen Modulen und Add-Ons erreicht werden. In diesem Tutorial verwenden wir einen gemeinsamen Sensor DHT11, um die Temperatur zu lesen und die Daten auf einem 16-Bit-LCD-Display anzuzeigen.
Schritt 1: DHT-Sensor
Der DHT11-Sensor kann die relative Luftfeuchtigkeit und Temperatur mit den folgenden Spezifikationen messen
Temperaturbereich: 0-50°C
Temperaturgenauigkeit: ±2 °C
Feuchtigkeitsbereich: 20-90% RH
Feuchtigkeitsgenauigkeit: ±5 %
Schritt 2: Installieren der Adafruit LCD-Bibliothek auf Raspberry Pi:
Befolgen Sie bei geöffneter Schale Ihres Raspberry Pi die folgenden Anweisungen, um die Adafruit LCD-Display-Bibliothek im Raspberry Pi zu installieren. Der Wert der Temperatur und Luftfeuchtigkeit wird auf einem LCD-Display angezeigt
Schritt 1: Installieren Sie git auf Ihrem Raspberry Pi, indem Sie die folgende Zeile verwenden. Mit Git können Sie beliebige Projektdateien auf Github klonen und auf Ihrem Raspberry Pi verwenden. Unsere Bibliothek befindet sich auf Github, daher müssen wir git installieren, um diese Bibliothek in pi herunterzuladen.
apt-get install git
Schritt 2: Die folgende Zeile verlinkt auf die GitHub-Seite, auf der die Bibliothek vorhanden ist. Führen Sie einfach die Zeile aus, um die Projektdatei im Pi-Heimatverzeichnis zu klonen
git-Klon git://github.com/adafruit/Adafruit_Python_CharLCD
Schritt 3: Verwenden Sie den folgenden Befehl, um die Verzeichniszeile zu ändern, um in die gerade heruntergeladene Projektdatei zu gelangen. Die Befehlszeile ist unten angegeben
cd Adafruit_Python_CharLCD
Schritt 4: Im Verzeichnis befindet sich eine Datei namens setup.py, die wir installieren müssen, um die Bibliothek zu installieren. Verwenden Sie den folgenden Code, um die Bibliothek zu installieren
sudo python setup.py installieren
Schritt 3: Installieren der Adafruit DHT11-Bibliothek auf Raspberry Pi:
Die von Adafruit bereitgestellte DHT11-Bibliothek kann auch für DHT11-, DHT22- und andere Eindraht-Temperatursensoren verwendet werden. Das Verfahren zur Installation der DHT11-Bibliothek ist ebenfalls ähnlich wie bei der Installation der LCD-Bibliothek. Die einzige Zeile, die sich ändern würde, ist der Link der GitHub-Seite, auf der die DHT-Bibliothek gespeichert ist.
Geben Sie die vier Befehlszeilen nacheinander auf dem Terminal ein, um die DHT-Bibliothek zu installieren
git-Klon
cd Adafruit_Python_DHT
sudo apt-get install build-essential python-dev
sudo python setup.py installieren
Schritt 4: Schaltplan
Das DHT11-Modul kommt in 3 Pins. Verbinden Sie den Vcc mit 5V auf dem Pi, verbinden Sie den Massepin mit einem beliebigen Massepin auf dem Pi und verbinden Sie den Datenpin mit dem GPIO-Pin Ihrer Wahl auf dem Pi. In diesem Tutorial verwenden wir GPIO 17, das ist Pin Nummer 11 auf dem Pi.
HINWEIS: Das DHT11 wird als Modul- oder Sensortyp geliefert. Der im folgenden Schema gezeigte ist der Sensortyp mit 4 Pins, ein Widerstand ist zwischen dem Datenpin und dem Vcc angeschlossen, wenn Sie den Modultyp mit nur 3. verwenden Pins, der Widerstand wird nicht benötigt.
Beziehen Sie sich auf das Diagramm unten für die Pinbelegung der Himbeer-Pi-Pins.
Schritt 5:
Unten ist das vollständige Schema für die Verbindung. Da das LCD die beiden auf dem Pi verfügbaren 5 V verwendet, können wir ein Steckbrett verwenden, um die 5 V zwischen dem LCD und dem DHT11-Modul zu teilen. Die LCD-Pins werden in der folgenden Reihenfolge mit dem Pi verbunden. Beachten Sie, dass Pin 7, 8, 9 und 10 des LCD nicht verwendet werden
Schritt 6:
Der vollständige Code zum Lesen der Daten und zur Anzeige auf dem LCD ist unten gezeigt
ab Zeit Schlaf importieren Adafruit_DHT importieren von Adafruit_CharLCD importieren Adafruit_CharLCD sensor = Adafruit_DHT. DHT11 pin = 17 Luftfeuchtigkeit, Temperatur = Adafruit_DHT.read_retry(sensor, pin) lcd = Adafruit_CharLCD(rs=26, en=19, d4=13, d5=6, d6=5, d7=11, cols=16, lines=2) #DISPLAY A STATIC TEXT lcd.clear() wenn Luftfeuchtigkeit nicht None und Temperatur nicht None ist: print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, Luftfeuchtigkeit)) lcd.message('Temp={0:0.1f}*C \nHumidity={1:0.1f}%'.format(temperatur, Luftfeuchtigkeit)) else: print('Fehler beim Lesen. Versuchen Sie es erneut!') lcd.message('Fehler beim Lesen. Versuchen Sie es erneut!')