Napravite monitor temperature Raspberry Pi pomoću Sense HAT-a i pokažite redovita očitanja na njegovoj LED matrici.

Postoji nekoliko načina na koje možete pratiti temperaturu okoline koristeći Raspberry Pi jednopločno računalo, možda kao dio postavljanja meteorološke stanice. Dok možete koristiti vanjski senzor spojen na GPIO pinove Raspberry Pi, ovdje ćemo objasniti kako pratiti temperaturu s Raspberry Pi opremljenim Sense HAT-om.

Što je Sense HAT?

Kredit za sliku: Raspberry Pi

Službenik Raspberry Pi ŠEŠIR (Hardware Attached on Top) dodatnu ploču koju je dizajnirala i proizvela tvrtka Raspberry Pi, Sense HAT je izvorno stvoren za korištenje od strane astronauta na Međunarodnoj svemirskoj postaji. Od 2015. dva Raspberry Pi računala opremljena Sense HAT-om korištena su u znanstvenim eksperimentima koje su osmislili učenici škola koji su u tijeku Astro Pi izazov Ove dvije jedinice od tada su zamijenjene nadograđenim verzijama temeljenim na Raspberry Pi 4 i opremljenim kamerom visoke kvalitete.

instagram viewer
Kredit za sliku: Raspberry Pi

Iako nema posebno srebrno kućište dizajnirano za korištenje u svemiru, standardna ploča Sense HAT ima potpuno istu funkcionalnost. Kompatibilan s bilo kojim Raspberry Pi model s 40-pinskim GPIO zaglavljem, ima niz ugrađenih senzora koji mu omogućuju praćenje okolnog okoliša i otkrivanje vlastite orijentacije i kretanja. Osim toga, ima 8x8 RGB LED matricu za prikaz teksta, podataka i slika. Tu je i mini petosmjerni joystick.

Cijeli niz senzorskih funkcija Sense HAT je sljedeći:

  • Vlažnost: Senzor STMicro HTS221 s rasponom relativne vlažnosti od 0 do 100%, plus senzorom temperature od 32°F do 149°F (0°C do 65°C ± 2°C).
  • Tlak zraka: STMicro LPS25HB senzor s rasponom od 260 do 1260 hPa, plus senzor temperature od 59°F do 104°F (15°C do 40°C ±0,5°C).
  • Temperatura: To se može očitati sa senzora vlage ili tlaka ili izmjeriti uzimanjem prosjeka oba očitanja.
  • Žiroskop: STMicro LSM9DS1 IMU može mjeriti rotaciju Sense HAT-a u odnosu na površinu Zemlje (i koliko brzo rotira).
  • Brzinomjer: Još jedna funkcija IMU-a, može mjeriti silu ubrzanja u više smjerova.
  • Magnetometar: Osjećajući Zemljino magnetsko polje, IMU može odrediti smjer magnetskog sjevera i tako dati očitanje kompasa.

Sada kada ste shvatili što ovaj višenamjenski Raspberry Pi HAT može učiniti, vrijeme je da počnete s projektom.

Korak 1: Montirajte Sense HAT

Da biste spojili Sense HAT, prvo provjerite je li vaš Raspberry Pi isključen i isključen iz struje. Zatim pažljivo gurnite Sense HAT (s postavljenim isporučenim crnim produžetkom zaglavlja) na 40-pinski GPIO zaglavlje Raspberry Pi tako da se Sense HAT ploča nalazi iznad Raspberry Pi ploče. Provjerite jesu li sve igle ispravno poravnate i jesu li oba reda spojena. Također možete koristiti uvrtne postolje da biste ga učvrstili.

Možete koristiti bilo koji standardni model Raspberry Pi koji ima 40-pinski GPIO zaglavlje. Jedan od ključna ograničenja Raspberry Pi 400, međutim, je da se njegovo GPIO zaglavlje nalazi na stražnjoj strani integrirane tipkovnice. To znači da će Sense HAT biti okrenut unatrag, pa biste možda trebali upotrijebiti GPIO produžni kabel za spajanje.

Korak 2: Postavite Raspberry Pi

Kao i kod svakog drugog projekta, trebali biste priključiti USB tipkovnicu i miš, a zatim spojite svoj Raspberry Pi na monitor ili TV. Također biste trebali imati umetnutu microSD karticu sa standardnim Raspberry Pi OS-om—ako to već niste učinili, provjerite kako instalirati operativni sustav na Raspberry Pi. Tada ste spremni uključiti napajanje.

Alternativno, možete koristiti svoj Raspberry Pi sa Sense HAT u bezglavom načinu rada, bez povezanog monitora i spojite se na Raspberry Pi daljinski koristeći SSH s drugog računala ili uređaja. Ako to učinite, nećete moći koristiti Thonny Python IDE, kupiti i dalje možete uređivati ​​programe pomoću uređivača nano teksta i pokretati ih iz naredbenog retka.

Firmver Sense HAT trebao bi biti instaliran prema zadanim postavkama. Za ponovnu provjeru otvorite prozor terminala i unesite:

sudo apt install sense-hat

Zatim, ako je paket upravo instaliran, ponovno pokrenite Raspberry Pi:

sudo reboot

Korak 3: Počnite programirati u Pythonu

Iako možete koristiti Raspberry Pi Sense HAT s programskim jezikom baziranim na blokovima Scratch, mi ćemo koristiti Python za čitanje i prikaz očitanja senzora.

Thonny IDE (integrirano razvojno okruženje) dobar je način za programiranje Pythona na Raspberry Pi, budući da ima mnogo funkcionalnosti uključujući korisne značajke za otklanjanje pogrešaka. U grafičkom korisničkom sučelju OS-a Raspberry Pi idite na Jelovnik (gornja lijeva ikona maline) > Programiranje > Thonny IDE da ga pokrenete.

Korak 4: Očitajte temperaturu

U glavnom prozoru Thonny IDE unesite sljedeće retke koda:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Prvi redak uvozi SenseHat razreda iz razumni_šešir Python biblioteka (koja je unaprijed instalirana u Raspberry Pi OS). To se zatim dodjeljuje osjećaj varijabla. Treća linija briše LED matricu Sense HAT-a.

Zatim očitavamo temperaturu i ispisujemo je u Shell područje Thonny IDE. Ovo je u stupnjevima Celzijusa, pa biste mogli prvo to pretvoriti u Fahrenheite:

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

Očitanje senzora temperature imat će nekoliko znamenki nakon decimalne točke. Stoga ćemo koristiti krug funkcija za zaokruživanje na jedno decimalno mjesto:

temp = round(temp, 1)

The sense.get_temperature() funkcija očitava senzor temperature ugrađen u senzor vlage. Alternativno, možete očitati temperaturu sa senzora tlaka sense.get_temperature_from_pressure() ili čak uzmite oba očitanja i izračunajte srednji prosjek (zbrajajući ih i dijeleći s dva).

Korak 5: Pokažite temperaturu na Sense HAT-u

Ispisivanje jednog očitanja temperature na Python Shell malo je dosadno, pa umjesto toga redovito uzimajmo nova očitanja i prikazujmo ih na RGB LED matrici Sense HAT-a. Za prikaz tekstualne poruke koja se pomiče koristimo prikaži_poruku funkcija. Također ćemo koristiti a dok: Istina petlja za uzimanje novog očitanja svakih 10 sekundi—za što koristimo spavati funkcija iz vrijeme knjižnica.

Evo kompletnog programa:

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)

Pokrenite ovaj kod i vidjet ćete svako novo očitanje temperature kako se pomiče po LED matrici. Pokušajte puhati u Sense HAT da vidite mijenja li se temperatura.

Na očitanja temperature može utjecati toplina koja se prenosi iz CPU-a Raspberry Pi-ja odmah ispod, tako da će možda biti potrebna prilagodba kako bi se dobila točnija brojka. Drugo rješenje je korištenje zaglavlja za slaganje kako bi se Sense HAT podigao više iznad Raspberry Pi.

Koristite Raspberry Pi za praćenje temperature

Dok umjesto toga za ovaj projekt možete koristiti samostalni senzor temperature, Sense HAT olakšava praćenje temperature pomoću Raspberry Pi. Također ga možete koristiti za uzimanje niza drugih očitanja senzora, kao što su barometarski tlak i relativna vlažnost, i njihovo prikazivanje na njegovom LED-u matrica.