Ustvarite monitor temperature Raspberry Pi z uporabo Sense HAT in prikazujte redne odčitke na njegovi LED matriki.
Obstaja več načinov, na katere lahko spremljate temperaturo okolja z uporabo računalnika z eno ploščo Raspberry Pi, morda kot del nastavitve vremenske postaje. Medtem ko bi lahko uporabili zunanji senzor, povezan z zatiči GPIO Raspberry Pi, bomo tukaj razložili, kako spremljati temperaturo z Raspberry Pi, opremljenim s Sense HAT.
Kaj je Sense HAT?
Uradnik KLOBUK Raspberry Pi (Hardware Attached on Top) dodatna plošča, ki jo je zasnovalo in izdelalo podjetje Raspberry Pi, je bila Sense HAT prvotno ustvarjena za uporabo astronavtov na Mednarodni vesoljski postaji. Od leta 2015 se dva računalnika Raspberry Pi, opremljena s Sense HAT, uporabljata v znanstvenih poskusih, ki so jih zasnovali šolarji, ki so vstopili v tekoči šolski program. Astro Pi izziv Ti dve enoti so od takrat nadomestili nadgrajeni različici, ki temeljita na Raspberry Pi 4 in sta opremljeni z visokokakovostno kamero.
Čeprav nima posebnega srebrnega ohišja, zasnovanega za uporabo v vesolju, ima standardna plošča Sense HAT popolnoma enako funkcionalnost. Združljiv s katerim koli Model Raspberry Pi s 40-pinskim priključkom GPIO ima niz vgrajenih senzorjev, ki mu omogočajo spremljanje okolice in zaznavanje lastne orientacije in gibanja. Poleg tega ima 8x8 RGB LED matriko za prikaz besedila, podatkov in slik. Na voljo je tudi mini petsmerna igralna palica.
Celoten nabor senzoričnih funkcij Sense HAT je naslednji:
- Vlažnost: Senzor STMicro HTS221 z razponom relativne vlažnosti od 0 do 100 % in zaznavanjem temperature od 32 °F do 149 °F (0 °C do 65 °C ± 2 °C).
- Barometrični tlak: Senzor STMicro LPS25HB z razponom od 260 do 1260 hPa in zaznavanjem temperature od 59 °F do 104 °F (15 °C do 40 °C ±0,5 °C).
- Temperatura: To je mogoče odčitati s senzorja vlažnosti ali tlaka ali izmeriti tako, da vzamete povprečje obeh odčitkov.
- Žiroskop: STMicro LSM9DS1 IMU lahko meri rotacijo Sense HAT glede na površino Zemlje (in kako hitro se vrti).
- Merilnik pospeška: Druga funkcija IMU je merjenje sile pospeška v več smereh.
- Magnetometer: Z zaznavanjem zemeljskega magnetnega polja lahko IMU določi smer magnetnega severa in tako poda odčitek s kompasa.
Zdaj, ko veste, kaj zmore ta večnamenski Raspberry Pi HAT, je čas, da začnete s projektom.
1. korak: Namestite Sense HAT
Če želite priključiti Sense HAT, se najprej prepričajte, da je vaš Raspberry Pi izklopljen in izključen iz napajanja. Nato previdno potisnite Sense HAT (z nameščenim priloženim črnim podaljškom glave) na 40-pinsko GPIO glavo Raspberry Pi, tako da je plošča Sense HAT nameščena nad ploščo Raspberry Pi. Prepričajte se, da so vse nožice pravilno poravnane in da sta obe vrsti povezani. Za pritrditev lahko uporabite tudi stojala z vijaki.
Uporabite lahko kateri koli standardni model Raspberry Pi, ki ima 40-pinsko glavo GPIO. Eden izmed ključne omejitve Raspberry Pi 400, pa je, da je njegova glava GPIO nameščena na zadnji strani vgrajene tipkovnice. To pomeni, da bo Sense HAT obrnjen nazaj, zato boste za povezavo morda želeli uporabiti podaljšek GPIO.
2. korak: Nastavite Raspberry Pi
Kot pri vsakem drugem projektu morate priključiti USB tipkovnico in miško ter nato svoj Raspberry Pi povežite z monitorjem ali televizorjem. Prav tako morate imeti vstavljeno kartico microSD s standardnim operacijskim sistemom Raspberry Pi OS - če tega še niste storili, preverite kako namestiti operacijski sistem na Raspberry Pi. Nato ste pripravljeni za vklop.
Druga možnost je, da svoj Raspberry Pi uporabljate s Sense HAT v brezglavem načinu, brez priključenega monitorja in vzpostavite povezavo z Raspberry Pi na daljavo prek SSH iz drugega računalnika ali naprave. Če to storite, ne boste mogli uporabljati Thonny Python IDE, lahko še vedno urejate programe z nano urejevalnikom besedil in jih zaženete iz ukazne vrstice.
Vdelana programska oprema Sense HAT mora biti privzeto nameščena. Za ponovno preverjanje odprite terminalsko okno in vnesite:
sudo apt install sense-hat
Nato, če je bil paket pravkar nameščen, znova zaženite Raspberry Pi:
sudo reboot
3. korak: Začnite programirati v Pythonu
Medtem ko lahko uporabljate Raspberry Pi Sense HAT s programskim jezikom Scratch, ki temelji na blokih, bomo mi uporabili Python za branje in prikaz odčitkov njegovih senzorjev.
Thonny IDE (integrirano razvojno okolje) je dober način za programiranje Python na Raspberry Pi, saj ima veliko funkcionalnosti, vključno s koristnimi funkcijami za odpravljanje napak. V namiznem GUI OS Raspberry Pi OS pojdite na meni (zgornja leva ikona maline) > Programiranje > Thonny IDE da ga zaženete.
4. korak: Izmerite temperaturo
V glavno okno Thonny IDE vnesite naslednje vrstice kode:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Prva vrstica uvozi SenseHat razreda iz sense_hat Knjižnica Python (ki je vnaprej nameščena v OS Raspberry Pi). To je nato dodeljeno smisel spremenljivka. Tretja vrstica počisti LED matriko Sense HAT.
Nato odčitamo temperaturo in jo natisnemo v območje lupine Thonny IDE. To je v stopinjah Celzija, zato ga boste morda želeli najprej pretvoriti v Fahrenheite:
temp = (sense.get_temperature() * 1.8 + 32)
Odčitek temperaturnega senzorja bo imel več števk za decimalno vejico. Zato bomo uporabili krog funkcija za zaokroževanje na eno decimalno mesto:
temp = round(temp, 1)
The sense.get_temperature() funkcija bere temperaturni senzor, vgrajen v senzor vlage. Lahko pa odčitate temperaturo s senzorja tlaka z sense.get_temperature_from_pressure() ali celo vzemite oba odčitka in izračunajte povprečje (tako, da ju seštejete in delite z dva).
5. korak: Pokažite temperaturo na Sense HAT
Tiskanje enega samega odčitka temperature v Python Shell je nekoliko dolgočasno, zato namesto tega redno odčitavajmo nov odčitek in ga prikazujmo na matriki RGB LED Sense HAT. Za prikaz drsnega besedilnega sporočila uporabljamo pokaži_sporočilo funkcijo. Uporabili bomo tudi a medtem ko: res zanko, da nadaljujemo z novim branjem vsakih 10 sekund – za kar uporabljamo spati funkcijo od čas knjižnica.
Tukaj je celoten program:
from sense_hat import SenseHat
from time import sleepsense = 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)
Zaženite to kodo in videli boste, da se vsak nov odčitek temperature premika po matriki LED. Poskusite pihati na Sense HAT, da vidite, ali se temperatura spremeni.
Na odčitke temperature lahko vpliva toplota, ki se prenaša iz procesorja Raspberry Pi tik spodaj, zato bo morda potrebna prilagoditev, da dobite natančnejšo številko. Druga rešitev je uporaba glave za zlaganje, da dvignete Sense HAT višje nad Raspberry Pi.
Uporabite Raspberry Pi za spremljanje temperature
Čeprav bi lahko namesto tega za ta projekt uporabili samostojno temperaturno tipalo, Sense HAT olajša spremljanje temperature z Raspberry Pi. Uporabite ga lahko tudi za odčitavanje množice drugih senzorjev, kot sta zračni tlak in relativna vlažnost, in jih prikažete na LED diodi matrica.