Többféle módon is figyelemmel kísérheti a környezeti hőmérsékletet egy Raspberry Pi egyfedélzeti számítógép segítségével, esetleg egy időjárási állomás beállításának részeként. Bár használhat egy külső érzékelőt, amely a Raspberry Pi GPIO érintkezőihez van csatlakoztatva, itt elmagyarázzuk, hogyan figyelheti a hőmérsékletet a Sense HAT-tel felszerelt Raspberry Pi-vel.
Tartalomjegyzék
Mi a Sense HAT?
Kép jóváírása: Raspberry Pi
A Raspberry Pi cég által tervezett és gyártott hivatalos Raspberry Pi HAT (Hardware Attached on Top) kiegészítő tábla, a Sense HAT eredetileg a Nemzetközi Űrállomás űrhajósai számára készült. 2015 óta két Sense HAT-tel felszerelt Raspberry Pi számítógépet használnak tudományos kísérletekben, amelyeket a folyamatban lévő iskolások terveztek. Astro Pi kihívás Ezt a két egységet azóta a Raspberry Pi 4-en alapuló továbbfejlesztett verziók váltották fel, és kiváló minőségű kamerával vannak felszerelve.
Kép jóváírása: Raspberry Pi
Noha hiányzik belőle a speciális, űrben való használatra tervezett ezüst tok, a szabványos Sense HAT kártya pontosan ugyanazokkal a funkciókkal rendelkezik. Kompatibilis bármely 40 tűs GPIO fejléccel rendelkező Raspberry Pi modellel, és számos beépített érzékelőt tartalmaz, amelyek lehetővé teszik a környező környezet figyelését, valamint saját tájékozódási és mozgási érzékelését. Ezenkívül 8 × 8-as RGB LED-mátrixszal rendelkezik a szöveg, az adatok és a képek megjelenítéséhez. Van egy mini ötirányú joystick is.
A Sense HAT szenzoros funkciók teljes skálája a következő:
- Páratartalom: STMicro HTS221 érzékelő 0-100%-os relatív páratartalom-tartományban, plusz hőmérséklet-érzékelő 32°F és 149°F (0°C és 65°C ± 2°C) között.
- Légköri nyomás: STMicro LPS25HB érzékelő 260-1260 hPa tartományban, plusz hőmérséklet-érzékelő 59°F és 104°F (15°C és 40°C ±0,5°C) között.
- Hőmérséklet: Ez leolvasható a páratartalom- vagy nyomásérzékelőről, vagy mérhető mindkét leolvasás átlagával.
- Giroszkóp: Az STMicro LSM9DS1 IMU képes mérni a Sense HAT forgását a Föld felszínéhez képest (és azt, hogy milyen gyorsan forog).
- Gyorsulásmérő: Az IMU másik funkciója, amely több irányban mérheti a gyorsulási erőt.
- Magnetométer: A Föld mágneses terének érzékelésével az IMU meg tudja határozni a mágneses észak irányát, és így iránytűt ad.
Most, hogy megtudta, mire képes ez a többcélú Raspberry Pi HAT, ideje elkezdeni a projektet.
1. lépés: Szerelje fel a Sense HAT-et
A Sense HAT csatlakoztatásához először győződjön meg arról, hogy a Raspberry Pi ki van kapcsolva, és le van választva az áramellátásról. Ezután óvatosan nyomja rá a Sense HAT-ot (a mellékelt fekete fejléc-hosszabbítóval együtt) a Raspberry Pi 40 tűs GPIO-fejére úgy, hogy a Sense HAT tábla a Raspberry Pi kártya fölé kerüljön. Győződjön meg arról, hogy az összes érintkező megfelelően egy vonalban van, és mindkét sor csatlakoztatva van. Használhat csavaros támasztékokat is a rögzítés érdekében.
Bármilyen szabványos Raspberry Pi modellt használhat, amely 40 tűs GPIO-fejléccel rendelkezik. A Raspberry Pi 400 egyik legfontosabb korlátja azonban az, hogy a GPIO fejléce az integrált billentyűzet hátulján található. Ez azt jelenti, hogy a Sense HAT hátrafelé néz, ezért érdemes lehet GPIO hosszabbító kábelt használni a csatlakoztatáshoz.
2. lépés: Állítsa be a Raspberry Pi-t
Mint minden más projekthez, csatlakoztasson USB-billentyűzetet és egeret, majd csatlakoztassa a Raspberry Pi-t egy monitorhoz vagy TV-hez. Ezenkívül be kell helyeznie egy microSD-kártyát, amelyen a szabványos Raspberry Pi OS található – ha még nem tette meg, nézze meg, hogyan telepíthet operációs rendszert egy Raspberry Pi-re. Ezután készen áll az áramellátás bekapcsolására.
Alternatív megoldásként használhatja Raspberry Pi-t Sense HAT-tal fej nélküli módban, monitor csatlakoztatása nélkül, és távolról csatlakozhat a Raspberry Pi-hez SSH használatával egy másik számítógépről vagy eszközről. Ha ezt teszi, akkor nem fogja tudni használni a Thonny Python IDE-t, a buy továbbra is szerkesztheti a programokat a nano szövegszerkesztővel, és futtathatja azokat a parancssorból.
A Sense HAT firmware-t alapértelmezés szerint telepíteni kell. Az ellenőrzéshez nyisson meg egy terminálablakot, és írja be:
sudo apt install sense-hat
Ezután, ha a csomag nemrég lett telepítve, indítsa újra a Raspberry Pi-t:
sudo reboot
3. lépés: Kezdje el a programozást Pythonban
Míg a Raspberry Pi Sense HAT használható a Scratch blokk alapú programozási nyelvvel, mi a Pythont használjuk az érzékelők leolvasására és megjelenítésére.
A Thonny IDE (integrált fejlesztői környezet) jó módja a Python programozásnak Raspberry Pi-n, mivel számos funkcióval rendelkezik, beleértve a hasznos hibakereső funkciókat. A Raspberry Pi OS asztali grafikus felhasználói felületén válassza a Menü (bal felső málna ikon) > Programozás > Thonny IDE menüpontot az elindításához.
4. lépés: Mérje le a hőmérsékletet
A Thonny IDE főablakába írja be a következő kódsorokat:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()temp = sense.get_temperature()
print(temp)
Az első sor a SenseHat osztályt importálja a sense_hat Python könyvtárból (amely előre telepítve van a Raspberry Pi OS-ben). Ez azután hozzá van rendelve az érzékelési változóhoz. A harmadik sor törli a Sense HAT LED-mátrixát.
Ezután leolvassuk a hőmérsékletet, és kinyomtatjuk a Thonny IDE Shell területére. Ez Celsius-fokban van megadva, ezért érdemes először Fahrenheitre konvertálni:
temp = (sense.get_temperature() * 1.8 + 32)
A hőmérséklet-érzékelő leolvasása több számjegyből áll a tizedesvessző után. Tehát a kerek függvényt használjuk, hogy egy tizedesjegyre kerekítsük:
temp = round(temp, 1)
A sense.get_temperature() függvény beolvassa a páratartalom-érzékelőbe épített hőmérséklet-érzékelőt. Alternatív megoldásként leolvashat egy hőmérsékletet a nyomásérzékelőről a sense.get_temperature_from_pressure() paraméterrel, vagy akár mindkét leolvasást, és kiszámíthatja az átlagos átlagot (összeadva és kettővel osztva).
5. lépés: Mutassa meg a hőmérsékletet a Sense HAT-en
Egyetlen hőmérsékleti érték kinyomtatása a Python Shellre kissé unalmas, ezért ehelyett rendszeresen vegyünk új mérést, és mutassuk meg a Sense HAT RGB LED mátrixán. A görgető szöveges üzenet megjelenítéséhez a show_message függvényt használjuk. A True Loop funkciót is használjuk, hogy 10 másodpercenként új mérést végezzünk – ehhez az időkönyvtár alvás funkcióját használjuk.
Íme a teljes program:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()while True:
temp = (sense.get_temperature() * 1.8 + 32)
temp = round(temp, 1)
message = "Temp: " + str(temp)
sense.show_message(message)
sleep (10)
Futtassa ezt a kódot, és látni fogja, hogy minden új hőmérsékleti érték gördül végig a LED-mátrixon. Próbálja meg fújni a Sense HAT-et, hogy lássa, változik-e a hőmérséklet.
A hőmérsékleti értékeket befolyásolhatja a közvetlenül alatta lévő Raspberry Pi CPU-járól átadott hő, így a pontosabb adat eléréséhez szükség lehet a beállításra. Egy másik megoldás, hogy egy halmozási fejléc segítségével magasabbra emeljük a Sense HAT-ot a Raspberry Pi fölé.
Használjon Raspberry Pi-t a hőmérséklet figyeléséhez
Míg ehhez a projekthez használhat különálló hőmérséklet-érzékelőt, a Sense HAT megkönnyíti a hőmérséklet figyelését a Raspberry Pi-vel. Használhatja számos egyéb érzékelő leolvasására is, például a légköri nyomásra és a relatív páratartalomra, és megjelenítheti azokat a LED-mátrixán.