Erstellen Sie mit einem Sense HAT einen Raspberry Pi-Temperaturmonitor und zeigen Sie regelmäßige Messwerte auf seiner LED-Matrix an.

Es gibt mehrere Möglichkeiten, die Umgebungstemperatur mit einem Raspberry Pi-Einplatinencomputer zu überwachen, beispielsweise als Teil einer Wetterstation. Während Sie einen externen Sensor verwenden könnten, der an die GPIO-Pins des Raspberry Pi angeschlossen ist, erklären wir Ihnen hier, wie Sie die Temperatur mit einem Raspberry Pi überwachen, der mit einem Sense HAT ausgestattet ist.

Was ist der Sense HAT?

Bildquelle: Raspberry Pi

Beamter Raspberry Pi HAT (Hardware Attached on Top) Zusatzplatine, die von der Firma Raspberry Pi entwickelt und hergestellt wurde. Der Sense HAT wurde ursprünglich für den Einsatz durch Astronauten an Bord der Internationalen Raumstation entwickelt. Seit 2015 werden zwei Raspberry Pi-Computer, die mit einem Sense HAT ausgestattet sind, in wissenschaftlichen Experimenten eingesetzt, die von Schülern entworfen wurden, die am laufenden Projekt teilgenommen haben

Astro Pi Herausforderung Diese beiden Einheiten wurden inzwischen durch aktualisierte Versionen ersetzt, die auf einem Raspberry Pi 4 basieren und mit einer hochwertigen Kamera ausgestattet sind.

Bildquelle: Raspberry Pi

Während ihm das spezielle silberne Gehäuse für den Einsatz im Weltraum fehlt, verfügt das Standard-Sense-HAT-Board über genau die gleiche Funktionalität. Kompatibel mit jedem Raspberry Pi-Modell Mit einem 40-Pin-GPIO-Header verfügt es über eine Reihe integrierter Sensoren, die es ihm ermöglichen, die Umgebung zu überwachen und auch seine eigene Ausrichtung und Bewegung zu erkennen. Darüber hinaus verfügt es über eine 8x8 RGB-LED-Matrix zur Anzeige von Texten, Daten und Bildern. Es gibt auch einen Mini-Fünf-Wege-Joystick.

Das gesamte Spektrum der sensorischen Funktionen von Sense HAT ist wie folgt:

  • Feuchtigkeit: Ein STMicro HTS221-Sensor mit einem relativen Luftfeuchtigkeitsbereich von 0 bis 100 % sowie einer Temperaturmessung von 0 °C bis 65 °C ± 2 °C (32 °F bis 149 °F).
  • Luftdruck: Ein STMicro LPS25HB-Sensor mit einem Bereich von 260 bis 1260 hPa und einer Temperaturmessung von 59 °F bis 104 °F (15 °C bis 40 °C ±0,5 °C).
  • Temperatur: Dies kann vom Feuchtigkeits- oder Drucksensor abgelesen oder durch Mittelwertbildung beider Messwerte gemessen werden.
  • Gyroskop: Die STMicro LSM9DS1 IMU kann die Rotation des Sense HAT relativ zur Erdoberfläche messen (und wie schnell er sich dreht).
  • Beschleunigungsmesser: Eine weitere Funktion der IMU ist die Messung der Beschleunigungskraft in mehreren Richtungen.
  • Magnetometer: Durch die Erfassung des Erdmagnetfelds kann die IMU die Richtung des magnetischen Nordens bestimmen und so eine Kompassanzeige liefern.

Nachdem Sie nun wissen, was dieser vielseitige Raspberry Pi HAT leisten kann, ist es an der Zeit, mit dem Projekt zu beginnen.

Schritt 1: Montieren Sie den Sense HAT

Um den Sense HAT anzuschließen, stellen Sie zunächst sicher, dass Ihr Raspberry Pi heruntergefahren und vom Strom getrennt ist. Schieben Sie dann den Sense HAT (mit dem mitgelieferten schwarzen Header-Extender) vorsichtig auf den 40-poligen GPIO-Header des Raspberry Pi, sodass die Sense HAT-Platine über der Raspberry Pi-Platine positioniert ist. Stellen Sie sicher, dass alle Stifte richtig ausgerichtet sind und beide Reihen verbunden sind. Zur Befestigung können Sie auch einschraubbare Abstandshalter verwenden.

Sie können jedes Standard-Raspberry-Pi-Modell verwenden, das über einen 40-Pin-GPIO-Header verfügt. Einer der Haupteinschränkungen eines Raspberry Pi 400Der Nachteil besteht jedoch darin, dass sich der GPIO-Header auf der Rückseite der integrierten Tastatur befindet. Das bedeutet, dass der Sense HAT nach hinten zeigt, daher empfiehlt es sich, für den Anschluss ein GPIO-Verlängerungskabel zu verwenden.

Schritt 2: Richten Sie den Raspberry Pi ein

Wie bei jedem anderen Projekt sollten Sie eine USB-Tastatur und -Maus anschließen und dann Verbinden Sie Ihren Raspberry Pi mit einem Monitor oder Fernseher. Sie sollten auch eine microSD-Karte mit dem Standard-Raspberry-Pi-Betriebssystem eingelegt haben – falls Sie dies noch nicht getan haben, schauen Sie sich das an wie man ein Betriebssystem auf einem Raspberry Pi installiert. Anschließend können Sie den Strom einschalten.

Alternativ können Sie Ihren Raspberry Pi mit Sense HAT im Headless-Modus verwenden, ohne dass ein Monitor angeschlossen ist Stellen Sie über SSH eine Remote-Verbindung zum Raspberry Pi her von einem anderen Computer oder Gerät. Wenn Sie dies tun, können Sie die Thonny-Python-IDE nicht verwenden. Sie können Programme weiterhin mit dem Nano-Texteditor bearbeiten und über die Befehlszeile ausführen.

Die Sense HAT-Firmware sollte standardmäßig installiert sein. Um dies noch einmal zu überprüfen, öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:

sudo apt install sense-hat

Wenn das Paket gerade erst neu installiert wurde, starten Sie den Raspberry Pi neu:

sudo reboot

Schritt 3: Beginnen Sie mit der Programmierung in Python

Während Sie den Raspberry Pi Sense HAT mit der blockbasierten Programmiersprache Scratch verwenden können, verwenden wir Python, um seine Sensorwerte zu lesen und anzuzeigen.

Die Thonny IDE (integrierte Entwicklungsumgebung) ist eine gute Möglichkeit, Python-Programmierung auf einem Raspberry Pi durchzuführen, da sie über viele Funktionen einschließlich hilfreicher Debugging-Funktionen verfügt. Gehen Sie in der Desktop-GUI von Raspberry Pi OS zu Speisekarte (Himbeersymbol oben links) > Programmierung > Thonny IDE um es zu starten.

Schritt 4: Nehmen Sie eine Temperaturmessung vor

Geben Sie im Hauptfenster der Thonny IDE die folgenden Codezeilen ein:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Die erste Zeile importiert die SenseHat Klasse aus der sense_hat Python-Bibliothek (die im Raspberry Pi OS vorinstalliert ist). Diese wird dann dem zugewiesen Sinn Variable. Die dritte Zeile löscht die LED-Matrix des Sense HAT.

Anschließend messen wir die Temperatur und drucken sie im Shell-Bereich der Thonny IDE aus. Da die Einheit Grad Celsius ist, sollten Sie sie zunächst in Fahrenheit umrechnen:

temp = (sense.get_temperature() * 1.8 + 32)

Der Messwert des Temperatursensors hat mehrere Nachkommastellen. Also verwenden wir das runden Funktion, um es auf eine einzelne Dezimalstelle zu runden:

temp = round(temp, 1)

Der sense.get_temperature() Die Funktion liest den im Feuchtigkeitssensor integrierten Temperatursensor. Alternativ können Sie die Temperatur auch mit dem Drucksensor ablesen sense.get_temperature_from_Pressure() oder nehmen Sie sogar beide Messwerte und berechnen Sie einen Mittelwert (indem Sie sie addieren und durch zwei dividieren).

Schritt 5: Zeigen Sie die Temperatur auf dem Sense HAT an

Das Drucken eines einzelnen Temperaturmesswerts in die Python-Shell ist etwas langweilig. Nehmen wir stattdessen regelmäßig einen neuen Messwert und zeigen ihn auf der RGB-LED-Matrix des Sense HAT an. Um eine Lauftextnachricht anzuzeigen, verwenden wir die zeige Nachricht Funktion. Wir werden auch a verwenden während: Stimmt Schleife, um alle 10 Sekunden einen neuen Messwert zu ermitteln – wofür wir die verwenden schlafen Funktion aus dem Zeit Bibliothek.

Hier ist das komplette Programm:

from sense_hat import SenseHat
from time import sleep

sense = SenseHat()
sense.clear()

whileTrue:
 temp = (sense.get_temperature() * 1.8 + 32)
 temp = round(temp, 1)
 message = "Temp: " + str(temp)
 sense.show_message(message)
 sleep (10)

Führen Sie diesen Code aus und Sie werden sehen, wie jeder neue Temperaturmesswert über die LED-Matrix läuft. Versuchen Sie, auf den Sense HAT zu pusten, um zu sehen, ob sich die Temperatur ändert.

Die Temperaturwerte können durch die von der darunter liegenden CPU des Raspberry Pi übertragene Wärme beeinflusst werden. Daher ist möglicherweise eine Anpassung erforderlich, um einen genaueren Wert zu erhalten. Eine andere Lösung besteht darin, einen Stacking-Header zu verwenden, um den Sense HAT höher über den Raspberry Pi zu heben.

Verwenden Sie einen Raspberry Pi, um die Temperatur zu überwachen

Während Sie für dieses Projekt stattdessen einen eigenständigen Temperatursensor verwenden könnten, erleichtert der Sense HAT die Überwachung der Temperatur mit Ihrem Raspberry Pi. Sie können damit auch zahlreiche andere Sensorwerte erfassen, beispielsweise den Luftdruck und die relative Luftfeuchtigkeit, und diese auf der LED anzeigen Matrix.