Izveidojiet Raspberry Pi temperatūras monitoru, izmantojot Sense HAT, un parādiet regulārus rādījumus uz tā LED matricas.
Ir vairāki veidi, kā jūs varat uzraudzīt apkārtējās vides temperatūru, izmantojot Raspberry Pi viena borta datoru, iespējams, kā daļu no meteoroloģiskās stacijas iestatīšanas. Lai gan jūs varētu izmantot ārējo sensoru, kas savienots ar Raspberry Pi GPIO tapām, šeit mēs paskaidrosim, kā uzraudzīt temperatūru ar Raspberry Pi, kas aprīkots ar Sense HAT.
Kas ir sajūtu cepure?
Ierēdnis Raspberry Pi CEPURE (Aparatūra pievienota augšpusē) pievienojumprogramma, ko izstrādājis un ražojis uzņēmums Raspberry Pi, Sense HAT sākotnēji tika izveidots, lai to izmantotu astronauti uz Starptautiskās kosmosa stacijas. Kopš 2015. gada divi Raspberry Pi datori, kas aprīkoti ar Sense HAT, ir izmantoti zinātniskos eksperimentos, ko izstrādājuši skolēni, kuri iesaistījās notiekošajā. Astro Pi izaicinājums Šīs divas vienības kopš tā laika ir aizstātas ar jauninātām versijām, kuru pamatā ir Raspberry Pi 4 un aprīkotas ar augstas kvalitātes kameru.
Lai gan tam trūkst īpašā sudraba korpusa, kas paredzēts lietošanai kosmosā, standarta Sense HAT platei ir tieši tāda pati funkcionalitāte. Savietojams ar jebkuru Raspberry Pi modelis ar 40 kontaktu GPIO galveni, tajā ir iebūvētu sensoru klāsts, kas ļauj uzraudzīt apkārtējo vidi, kā arī noteikt savu orientāciju un kustību. Turklāt tam ir 8x8 RGB LED matrica, lai parādītu tekstu, datus un attēlus. Ir arī mini piecu virzienu kursorsvira.
Pilns Sense HAT sensoro funkciju klāsts ir šāds:
- Mitrums: STMicro HTS221 sensors ar relatīvā mitruma diapazonu no 0 līdz 100%, kā arī temperatūras sensors no 32°F līdz 149°F (0°C līdz 65°C ± 2°C).
- Barometriskais spiediens: STMicro LPS25HB sensors ar diapazonu no 260 līdz 1260 hPa, kā arī temperatūras sensors no 59°F līdz 104°F (15°C līdz 40°C ±0,5°C).
- Temperatūra: To var nolasīt no mitruma vai spiediena sensora vai izmērīt, ņemot abu rādījumu vidējo vērtību.
- Žiroskops: STMicro LSM9DS1 IMU var izmērīt Sense HAT rotāciju attiecībā pret Zemes virsmu (un cik ātri tā griežas).
- Akselerometrs: Vēl viena IMU funkcija, tā var izmērīt paātrinājuma spēku vairākos virzienos.
- Magnetometrs: Sajūtot Zemes magnētisko lauku, IMU var noteikt magnētisko ziemeļu virzienu un tādējādi sniegt kompasa rādījumu.
Tagad, kad esat sapratis, ko var paveikt šis daudzfunkcionālais Raspberry Pi HAT, ir pienācis laiks sākt ar projektu.
1. darbība. Uzstādiet Sense HAT
Lai pievienotu Sense HAT, vispirms pārliecinieties, vai Raspberry Pi ir izslēgts un atvienots no strāvas. Pēc tam uzmanīgi uzspiediet Sense HAT (ar komplektā iekļauto melno galvenes pagarinātāju) uz Raspberry Pi 40 kontaktu GPIO galvenes tā, lai Sense HAT panelis būtu novietots virs Raspberry Pi plates. Pārliecinieties, vai visas tapas atrodas pareizi un abas rindas ir savienotas. Lai to nostiprinātu, varat izmantot arī ieskrūvējamos atdalītājus.
Varat izmantot jebkuru standarta Raspberry Pi modeli, kuram ir 40 kontaktu GPIO galvene. Viens no Raspberry Pi 400 galvenie ierobežojumitomēr tā GPIO galvene atrodas integrētās tastatūras aizmugurē. Tas nozīmē, ka Sense HAT būs vērsts uz aizmuguri, tāpēc, iespējams, vēlēsities tā pievienošanai izmantot GPIO pagarinātāju.
2. darbība: iestatiet Raspberry Pi
Tāpat kā jebkurā citā projektā, pievienojiet USB tastatūru un peli un pēc tam savienojiet savu Raspberry Pi ar monitoru vai televizoru. Jums vajadzētu būt arī ievietotai microSD kartei ar standarta Raspberry Pi OS — ja vēl neesat to izdarījis, pārbaudiet kā instalēt operētājsistēmu Raspberry Pi. Pēc tam esat gatavs ieslēgt strāvu.
Varat arī izmantot savu Raspberry Pi ar Sense HAT bezgalvas režīmā bez pievienota monitora un attāli izveidojiet savienojumu ar Raspberry Pi, izmantojot SSH no cita datora vai ierīces. Ja to darāt, jūs nevarēsit izmantot Thonny Python IDE, pirkt joprojām var rediģēt programmas, izmantojot nano teksta redaktoru, un palaist tās no komandrindas.
Sense HAT programmaparatūrai jābūt instalētai pēc noklusējuma. Lai vēlreiz pārbaudītu, atveriet termināļa logu un ievadiet:
sudo apt install sense-hat
Pēc tam, ja pakotne ir tikko instalēta, restartējiet Raspberry Pi:
sudo reboot
3. darbība: sāciet programmēt programmā Python
Lai gan jūs varat izmantot Raspberry Pi Sense HAT ar Scratch bloku programmēšanas valodu, mēs izmantosim Python, lai nolasītu un parādītu tā sensoru rādījumus.
Thonny IDE (integrētā izstrādes vide) ir labs veids, kā veikt Python programmēšanu Raspberry Pi, jo tai ir daudz funkcionalitātes, tostarp noderīgas atkļūdošanas funkcijas. Raspberry Pi OS darbvirsmas GUI atveriet uz Izvēlne (augšējā kreisā aveņu ikona) > Programmēšana > Tonija IDE lai to palaistu.
4. darbība: veiciet temperatūras nolasījumu
Thonny IDE galvenajā logā ievadiet šādas koda rindas:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Pirmajā rindā tiek importēts SenseHat klase no sajūtu_cepure Python bibliotēka (kas ir iepriekš instalēta operētājsistēmā Raspberry Pi OS). Pēc tam tas tiek piešķirts sajūtu mainīgs. Trešā rinda notīra Sense HAT LED matricu.
Pēc tam mēs ņemam temperatūras nolasījumu un izdrukājam to Thonny IDE Shell apgabalā. Tas ir grādos pēc Celsija, tāpēc, iespējams, vēlēsities to vispirms konvertēt uz Fārenheitu:
temp = (sense.get_temperature() * 1.8 + 32)
Temperatūras sensora rādījumā būs vairāki cipari aiz komata. Tāpēc mēs izmantosim raunds funkcija, lai to noapaļotu līdz vienai zīmei aiz komata:
temp = round(temp, 1)
The sense.get_temperature() funkcija nolasa mitruma sensorā iebūvēto temperatūras sensoru. Varat arī nolasīt temperatūru no spiediena sensora ar sense.get_temperature_from_pressure() vai pat ņemt abus rādījumus un aprēķināt vidējo vidējo (saskaitot tos un dalot ar divi).
5. darbība. Parādiet Sense HAT temperatūru
Viena temperatūras rādījuma drukāšana Python Shell ir nedaudz garlaicīga, tāpēc regulāri veiksim jaunu rādījumu un parādīsim to Sense HAT RGB LED matricā. Lai parādītu ritināmu īsziņu, mēs izmantojam show_message funkciju. Mēs izmantosim arī a kamēr: Taisnība cilpa, lai turpinātu veikt jaunu rādījumu ik pēc 10 sekundēm — šim nolūkam mēs izmantojam Gulēt funkcija no laiks bibliotēka.
Šeit ir visa programma:
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)
Palaidiet šo kodu, un jūs redzēsiet katru jaunu temperatūras rādījumu, kas ritinās pa LED matricu. Mēģiniet uzpūst Sense HAT, lai redzētu, vai temperatūra mainās.
Temperatūras rādījumus var ietekmēt siltums, kas tiek pārnests no Raspberry Pi CPU tieši zemāk, tāpēc var būt nepieciešama korekcija, lai iegūtu precīzāku skaitli. Vēl viens risinājums ir izmantot sakraušanas galveni, lai paaugstinātu Sense HAT augstāk virs Raspberry Pi.
Izmantojiet Raspberry Pi, lai uzraudzītu temperatūru
Lai gan šim projektam varat izmantot atsevišķu temperatūras sensoru, Sense HAT ļauj viegli uzraudzīt temperatūru, izmantojot Raspberry Pi. Varat arī to izmantot, lai nolasītu daudzus citus sensora rādījumus, piemēram, barometrisko spiedienu un relatīvo mitrumu, un parādītu tos uz tā LED. matrica.