Hozzon létre egy Raspberry Pi hőmérséklet-monitort a Sense HAT segítségével, és jelenítse meg a rendszeres leolvasásokat a LED-mátrixán.

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 lehet figyelni a hőmérsékletet a Sense HAT-tel felszerelt Raspberry Pi-vel.

Mi a Sense HAT?

Kép jóváírása: Raspberry Pi

Egy hivatalos Raspberry Pi KAPCS A Raspberry Pi cég által tervezett és gyártott (Hardware Attached on Top) kiegészítő kártya 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.

instagram viewer
Kép jóváírása: Raspberry Pi

Noha hiányzik belőle az űrben való használatra tervezett speciális ezüst tok, a szabványos Sense HAT kártya pontosan ugyanazokkal a funkciókkal rendelkezik. Bármelyikkel kompatibilis Raspberry Pi modell 40 tűs GPIO fejléccel rendelkezik, számos beépített érzékelővel rendelkezik, 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 8x8-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őfok: 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, hogy több irányban mérheti a gyorsulási erőt.
  • Magnetométer: A Föld mágneses mezejének érzékelésével az IMU meg tudja határozni a mágneses észak irányát, és így az iránytű leolvasását adja meg.

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. Az egyik a Raspberry Pi 400 fő korlátaiGPIO fejléce azonban 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 egy USB-billentyűzetet és egeret, majd ezután csatlakoztassa Raspberry Pi készülékét monitorhoz vagy TV-hez. Ezenkívül be kell helyeznie egy microSD-kártyát a szabványos Raspberry Pi OS-sel – ha még nem tette meg, nézze meg hogyan telepítsünk 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 készülékét Sense HAT-tel fej nélküli módban, monitor csatlakoztatása nélkül csatlakozzon távolról a Raspberry Pi-hez SSH használatával másik számítógépről vagy eszközről. Ha ezt teszi, 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 használhatja a Raspberry Pi Sense HAT-ot 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 felületén lépjen a következőre: Menü (bal felső málna ikon) > Programozás > Thonny IDE elindítani.

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 SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Az első sor importálja a SenseHat osztályból a sense_hat Python könyvtár (amely előre telepítve van a Raspberry Pi OS-ben). Ezt ezután hozzárendeli a érzék változó. 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 használjuk a kerek függvény egy tizedesjegyre kerekítheti:

temp = round(temp, 1)

A sense.get_temperature() funkció beolvassa a páratartalom érzékelőbe épített hőmérséklet-érzékelőt. Alternatív megoldásként lemérheti a hőmérsékletet a nyomásérzékelőről sense.get_temperature_from_pressure() vagy akár vegye mindkét leolvasást és számítson ki egy átlagos átlagot (összeadva és kettővel elosztva).

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 használjuk a show_message funkció. Használjuk továbbá a míg: Igaz hurkot, hogy 10 másodpercenként új leolvasást végezzen – ehhez használjuk a alvás funkció a idő könyvtár.

Íme a teljes 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)

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 Raspberry Pi közvetlenül alatta lévő CPU-jábó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 önálló hőmérséklet-érzékelőt, a Sense HAT megkönnyíti a hőmérséklet monitorozását Raspberry Pi. 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-jén. mátrix.