Vytvorte monitor teploty Raspberry Pi pomocou Sense HAT a zobrazujte pravidelné hodnoty na jeho LED matrici.

Existuje niekoľko spôsobov, ako môžete sledovať okolitú teplotu pomocou jednodoskového počítača Raspberry Pi, možno ako súčasť nastavenia meteorologickej stanice. Aj keď môžete použiť externý snímač pripojený k GPIO kolíkom Raspberry Pi, tu vysvetlíme, ako monitorovať teplotu pomocou Raspberry Pi vybaveného Sense HAT.

Čo je Zmysel HAT?

Kredit za obrázok: Malinový koláč

Oficiálne KLOBÚK Raspberry Pi (Hardware Attached on Top) prídavná doska navrhnutá a vyrobená spoločnosťou Raspberry Pi, Sense HAT bola pôvodne vytvorená na použitie astronautmi na palube Medzinárodnej vesmírnej stanice. Od roku 2015 sa dva počítače Raspberry Pi vybavené Sense HAT používajú vo vedeckých experimentoch navrhnutých školákmi, ktorí vstúpili do prebiehajúceho Astro Pi výzva Tieto dve jednotky boli odvtedy nahradené vylepšenými verziami založenými na Raspberry Pi 4 a vybavenými vysokokvalitnou kamerou.

Kredit za obrázok: Malinový koláč
instagram viewer

Zatiaľ čo jej chýba špeciálne strieborné puzdro určené na použitie vo vesmíre, štandardná doska Sense HAT má presne rovnakú funkčnosť. Kompatibilné s akýmkoľvek Model Raspberry Pi so 40-pinovým GPIO headerom je vybavený radom zabudovaných senzorov, ktoré mu umožňujú monitorovať okolité prostredie a tiež detekovať jeho vlastnú orientáciu a pohyb. Okrem toho má maticu 8x8 RGB LED na zobrazenie textu, údajov a obrázkov. K dispozícii je tiež mini päťsmerný joystick.

Celá škála senzorických funkcií Sense HAT je nasledovná:

  • vlhkosť: Senzor STMicro HTS221 s rozsahom relatívnej vlhkosti 0 až 100 % plus snímanie teploty od 32 °F do 149 °F (0 °C až 65 °C ± 2 °C).
  • Barometrický tlak: Senzor STMicro LPS25HB s rozsahom 260 až 1260 hPa plus snímanie teploty od 59 °F do 104 °F (15 °C až 40 °C ±0,5 °C).
  • teplota: Dá sa to odčítať zo snímača vlhkosti alebo tlaku alebo zmerať priemerom oboch hodnôt.
  • Gyroskop: STMicro LSM9DS1 IMU dokáže merať rotáciu Sense HAT vzhľadom na povrch Zeme (a ako rýchlo sa otáča).
  • Akcelerometer: Ďalšou funkciou IMU je, že dokáže merať akceleračnú silu vo viacerých smeroch.
  • Magnetometer: Snímaním magnetického poľa Zeme môže IMU určiť smer magnetického severu, a tak poskytnúť údaj kompasu.

Teraz, keď máte prehľad o tom, čo tento viacúčelový Raspberry Pi HAT dokáže, je čas začať s projektom.

Krok 1: Namontujte Sense HAT

Ak chcete pripojiť Sense HAT, najprv sa uistite, že je vaše Raspberry Pi vypnuté a odpojené od napájania. Potom opatrne zatlačte Sense HAT (s nasadeným dodaným čiernym nástavcom hlavičky) na 40-kolíkovú GPIO hlavičku Raspberry Pi tak, aby bola doska Sense HAT umiestnená nad doskou Raspberry Pi. Uistite sa, že všetky kolíky sú správne zarovnané a oba rady sú spojené. Na upevnenie môžete použiť aj skrutkovacie podpery.

Môžete použiť akýkoľvek štandardný model Raspberry Pi, ktorý má 40-pinovú GPIO hlavičku. Jeden z kľúčové obmedzenia Raspberry Pi 400GPIO header je však umiestnený na zadnej strane integrovanej klávesnice. To znamená, že Sense HAT bude smerovať dozadu, takže na pripojenie možno budete chcieť použiť predlžovací kábel GPIO.

Krok 2: Nastavte Raspberry Pi

Rovnako ako pri každom inom projekte by ste mali pripojiť USB klávesnicu a myš a potom pripojte Raspberry Pi k monitoru alebo TV. Mali by ste mať tiež vloženú kartu microSD so štandardným operačným systémom Raspberry Pi – ak ste to ešte neurobili, pozrite sa ako nainštalovať operačný systém na Raspberry Pi. Potom ste pripravení zapnúť napájanie.

Prípadne môžete Raspberry Pi používať so Sense HAT v režime bez hlavy, bez pripojeného monitora a pripojte sa k Raspberry Pi vzdialene pomocou SSH z iného počítača alebo zariadenia. Ak to urobíte, nebudete môcť používať Thonny Python IDE, kúpiť môžete stále upravovať programy pomocou textového editora nano a spúšťať ich z príkazového riadku.

Firmvér Sense HAT by mal byť nainštalovaný štandardne. Ak chcete znova skontrolovať, otvorte okno terminálu a zadajte:

sudo apt install sense-hat

Potom, ak bol balík práve nainštalovaný, reštartujte Raspberry Pi:

sudo reboot

Krok 3: Začnite programovať v Pythone

Aj keď môžete Raspberry Pi Sense HAT používať s programovacím jazykom založeným na blokoch Scratch, na čítanie a zobrazovanie hodnôt senzorov použijeme Python.

Thonny IDE (integrované vývojové prostredie) je dobrý spôsob, ako programovať Python na Raspberry Pi, pretože má veľa funkcií vrátane užitočných funkcií ladenia. V grafickom rozhraní počítača Raspberry Pi OS prejdite na Ponuka (vľavo hore ikona maliny) > Programovanie > Thonny IDE spustiť ho.

Krok 4: Odmerajte teplotu

V hlavnom okne Thonny IDE zadajte nasledujúce riadky kódu:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Prvý riadok importuje SenseHat triedy z sense_hat Knižnica Python (ktorá je predinštalovaná v OS Raspberry Pi). Toto je potom priradené k zmysel premenlivý. Tretí riadok vymaže maticu LED Sense HAT.

Potom odčítame teplotu a vytlačíme ju do oblasti Shell Thonny IDE. Toto je v stupňoch Celzia, takže ho možno budete chcieť najskôr previesť na stupne Fahrenheita:

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

Hodnota snímača teploty bude mať niekoľko číslic za desatinnou čiarkou. Takže použijeme okrúhly funkcia na zaokrúhlenie na jedno desatinné miesto:

temp = round(temp, 1)

The sense.get_temperature() funkcia načíta snímač teploty zabudovaný do snímača vlhkosti. Prípadne môžete odčítať teplotu zo snímača tlaku pomocou sense.get_temperature_from_pressure() alebo dokonca urobte obe merania a vypočítajte stredný priemer (ich sčítaním a delením dvomi).

Krok 5: Ukážte teplotu na klobúku Sense HAT

Tlač jedného odčítania teploty do Python Shell je trochu nudný, takže namiesto toho pravidelne robme nové odčítanie a ukazujme ho na RGB LED matrici Sense HAT. Na zobrazenie rolujúcej textovej správy používame zobraziť_správu funkciu. Použijeme aj a zatiaľ čo: Pravda slučku, aby sa každých 10 sekúnd robilo nové čítanie – na čo používame spať funkcia z čas knižnica.

Tu je kompletný 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)

Spustite tento kód a uvidíte, ako sa každý nový údaj o teplote posúva cez maticu LED. Skúste fúkať na Sense HAT, aby ste zistili, či sa teplota nezmení.

Údaje o teplote môžu byť ovplyvnené teplom prenášaným z CPU Raspberry Pi tesne pod, takže na získanie presnejšieho údaja môže byť potrebná úprava. Ďalším riešením je použiť stohovaciu hlavičku na zdvihnutie Sense HAT vyššie nad Raspberry Pi.

Na sledovanie teploty použite Raspberry Pi

Aj keď by ste pre tento projekt mohli namiesto toho použiť samostatný teplotný senzor, Sense HAT uľahčuje monitorovanie teploty pomocou Malinový koláč. Môžete ho použiť aj na snímanie množstva ďalších údajov senzorov, ako je barometrický tlak a relatívna vlhkosť, a ich zobrazenie na jeho LED. matice.