Utwórz monitor temperatury Raspberry Pi za pomocą Sense HAT i wyświetlaj regularne odczyty na jego matrycy LED.

Istnieje kilka sposobów monitorowania temperatury otoczenia za pomocą komputera jednopłytkowego Raspberry Pi, na przykład w ramach konfiguracji stacji pogodowej. Chociaż możesz użyć zewnętrznego czujnika podłączonego do pinów GPIO Raspberry Pi, tutaj wyjaśnimy, jak monitorować temperaturę za pomocą Raspberry Pi wyposażonego w Sense HAT.

Jaki jest zmysłowy kapelusz?

Źródło obrazu: Malinowe Pi

Oficjalny CZAPKA Raspberry Pi (Hardware Applyed on Top) zaprojektowana i wyprodukowana przez firmę Raspberry Pi, Sense HAT została pierwotnie stworzona do użytku przez astronautów na pokładzie Międzynarodowej Stacji Kosmicznej. Od 2015 roku dwa komputery Raspberry Pi wyposażone w Sense HAT są wykorzystywane w eksperymentach naukowych zaprojektowanych przez uczniów, którzy weszli do trwającego Astro Pi wyzwanie Te dwie jednostki zostały zastąpione ulepszonymi wersjami opartymi na Raspberry Pi 4 i wyposażonymi w wysokiej jakości kamerę.

instagram viewer
Źródło obrazu: Malinowe Pi

Chociaż brakuje jej specjalnej srebrnej obudowy przeznaczonej do użytku w przestrzeni kosmicznej, standardowa tablica Sense HAT ma dokładnie tę samą funkcjonalność. Kompatybilny z każdym Model RaspberryPi z 40-pinowym złączem GPIO, posiada szereg wbudowanych czujników, które umożliwiają monitorowanie otaczającego środowiska, a także wykrywanie własnej orientacji i ruchu. Dodatkowo posiada matrycę LED RGB 8x8 RGB do wyświetlania tekstu, danych i obrazów. Dostępny jest także mini joystick pięciokierunkowy.

Pełny zakres funkcji sensorycznych Sense HAT przedstawia się następująco:

  • Wilgotność: Czujnik STMicro HTS221 z zakresem wilgotności względnej od 0 do 100% i możliwością pomiaru temperatury w zakresie od 32°F do 149°F (0°C do 65°C ± 2°C).
  • Ciśnienie barometryczne: Czujnik STMicro LPS25HB o zakresie od 260 do 1260 hPa z czujnikiem temperatury w zakresie od 59°F do 104°F (15°C do 40°C ±0,5°C).
  • Temperatura: Można to odczytać z czujnika wilgotności lub ciśnienia lub zmierzyć, biorąc średnią z obu odczytów.
  • Żyroskop: STMicro LSM9DS1 IMU może mierzyć obrót Sense HAT względem powierzchni Ziemi (oraz prędkość jego obrotu).
  • Akcelerometr: Kolejna funkcja IMU, może mierzyć siłę przyspieszenia w wielu kierunkach.
  • Magnetometr: Wykrywając pole magnetyczne Ziemi, IMU może określić kierunek północy magnetycznej i w ten sposób podać odczyt kompasu.

Teraz, gdy już wiesz, co potrafi ten wielofunkcyjny kapelusz Raspberry Pi HAT, czas rozpocząć projekt.

Krok 1: Zamontuj Sense HAT

Aby podłączyć Sense HAT, najpierw upewnij się, że Raspberry Pi jest wyłączone i odłączone od zasilania. Następnie ostrożnie wciśnij Sense HAT (z dołączonym czarnym przedłużaczem złącza) na 40-pinowe złącze GPIO Raspberry Pi, tak aby płytka Sense HAT znajdowała się nad płytą Raspberry Pi. Upewnij się, że wszystkie piny są prawidłowo ustawione i oba rzędy są połączone. Można także użyć wkręcanych podkładek dystansowych, aby je zabezpieczyć.

Można użyć dowolnego standardowego modelu Raspberry Pi z 40-pinowym złączem GPIO. Jeden z kluczowych ograniczeń Raspberry Pi 400jednak polega na tym, że jego złącze GPIO znajduje się z tyłu zintegrowanej klawiatury. Oznacza to, że Sense HAT będzie skierowany do tyłu, więc do jego podłączenia możesz użyć przedłużacza GPIO.

Krok 2: Skonfiguruj Raspberry Pi

Podobnie jak w przypadku każdego innego projektu, należy podłączyć klawiaturę i mysz USB, a następnie podłącz Raspberry Pi do monitora lub telewizora. Powinieneś także mieć włożoną kartę microSD ze standardowym systemem operacyjnym Raspberry Pi – jeśli jeszcze tego nie zrobiłeś, sprawdź jak zainstalować system operacyjny na Raspberry Pi. Następnie możesz włączyć zasilanie.

Alternatywnie możesz używać Raspberry Pi z Sense HAT w trybie bezgłowym, bez podłączonego monitora i połącz się zdalnie z Raspberry Pi za pomocą protokołu SSH z innego komputera lub urządzenia. Jeśli to zrobisz, nie będziesz mógł używać Thonny Python IDE, nadal będziesz mógł edytować programy za pomocą edytora tekstu nano i uruchamiać je z wiersza poleceń.

Oprogramowanie sprzętowe Sense HAT powinno być zainstalowane domyślnie. Aby dokładnie sprawdzić, otwórz okno Terminala i wpisz:

sudo apt install sense-hat

Następnie, jeśli pakiet został właśnie nowo zainstalowany, uruchom ponownie Raspberry Pi:

sudo reboot

Krok 3: Zacznij programować w Pythonie

Chociaż możesz używać Raspberry Pi Sense HAT z językiem programowania opartym na blokach Scratch, my użyjemy Pythona do odczytu i wyświetlenia odczytów czujników.

Thonny IDE (zintegrowane środowisko programistyczne) to dobry sposób na programowanie w języku Python na Raspberry Pi, ponieważ ma wiele funkcji, w tym przydatne funkcje debugowania. W graficznym interfejsie użytkownika Raspberry Pi OS przejdź do Menu (ikona malinowa w lewym górnym rogu) > Programowanie > Thonny IDE aby go uruchomić.

Krok 4: Wykonaj odczyt temperatury

W głównym oknie Thonny IDE wprowadź następujące linie kodu:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Pierwsza linia importuje plik SenseHat klasa z sens_kapelusz Biblioteka Pythona (która jest preinstalowana w systemie operacyjnym Raspberry Pi). Jest to następnie przypisywane do sens zmienny. Trzecia linia czyści matrycę LED Sense HAT.

Następnie pobieramy odczyt temperatury i drukujemy go w obszarze Shell w Thonny IDE. Wartość ta jest wyrażona w stopniach Celsjusza, więc warto najpierw przekonwertować ją na stopnie Fahrenheita:

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

Odczyt czujnika temperatury będzie miał kilka cyfr po przecinku. Więc użyjemy okrągły funkcja zaokrąglająca do jednego miejsca po przecinku:

temp = round(temp, 1)

The sens.get_temperature() funkcja odczytuje czujnik temperatury wbudowany w czujnik wilgotności. Alternatywnie można dokonać odczytu temperatury z czujnika ciśnienia za pomocą sens.get_temperature_from_ Pressure() lub nawet wykonaj oba odczyty i oblicz średnią średnią (dodając je i dzieląc przez dwa).

Krok 5: Pokaż temperaturę na Sense HAT

Drukowanie pojedynczego odczytu temperatury na powłoce Pythona jest trochę nudne, dlatego zamiast tego regularnie wykonuj nowy odczyt i pokazuj go na matrycy LED RGB Sense HAT. Aby wyświetlić przewijaną wiadomość tekstową, używamy Pokaż wiadomość funkcjonować. Użyjemy również a podczas gdy: Prawda pętla do wykonywania nowego odczytu co 10 sekund — do czego używamy metody spać funkcja z czas biblioteka.

Oto pełny program:

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)

Uruchom ten kod, a zobaczysz każdy nowy odczyt temperatury przewijający się po matrycy LED. Spróbuj dmuchnąć na Sense HAT, aby sprawdzić, czy temperatura się zmienia.

Na odczyty temperatury może wpływać ciepło przenoszone z procesora Raspberry Pi znajdującego się tuż poniżej, dlatego może być konieczna regulacja, aby uzyskać dokładniejszą wartość. Innym rozwiązaniem jest użycie nagłówka układającego, aby podnieść Sense HAT wyżej nad Raspberry Pi.

Użyj Raspberry Pi do monitorowania temperatury

Chociaż w tym projekcie można zastosować samodzielny czujnik temperatury, Sense HAT ułatwia monitorowanie temperatury za pomocą Malinowe Pi. Można go również używać do wykonywania wielu innych odczytów z czujników, takich jak ciśnienie barometryczne i wilgotność względna, i wyświetlać je na diodzie LED matryca.