Luo Raspberry Pi -lämpötilamonitori Sense HATin avulla ja näytä säännölliset lukemat sen LED-matriisissa.

On olemassa useita tapoja, joilla voit seurata ympäristön lämpötilaa Raspberry Pi -yksilevytietokoneella, ehkä osana sääaseman asetuksia. Vaikka voit käyttää ulkoista anturia, joka on kytketty Raspberry Pi: n GPIO-nastoihin, tässä selitämme, kuinka lämpötilaa seurataan Raspberry Pi: llä, joka on varustettu Sense HAT: lla.

Mikä on Sense HAT?

Kuvan luotto: Raspberry Pi

Virallinen Raspberry Pi -hattu Raspberry Pi -yhtiön suunnittelema ja valmistama (Hardware Attached on Top) -lisälevy Sense HAT luotiin alun perin kansainvälisen avaruusaseman astronautien käyttöön. Vuodesta 2015 lähtien kahta Sense HATilla varustettua Raspberry Pi -tietokonetta on käytetty tieteellisissä kokeissa, joita ovat suunnitelleet koululaisten, jotka osallistuivat meneillään olevaan. Astro Pi haaste Nämä kaksi yksikköä on sittemmin korvattu päivitetyillä versioilla, jotka perustuvat Raspberry Pi 4:ään ja varustettu korkealaatuisella kameralla.

instagram viewer
Kuvan luotto: Raspberry Pi

Vaikka siitä puuttuu erityinen hopeakotelo, joka on suunniteltu käytettäväksi avaruudessa, tavallisella Sense HAT -levyllä on täsmälleen samat toiminnot. Yhteensopiva minkä tahansa kanssa Raspberry Pi malli 40-nastaisen GPIO-otsakkeen kanssa siinä on joukko sisäisiä antureita, joiden avulla se voi tarkkailla ympäröivää ympäristöä ja havaita myös oman suuntansa ja liikkeensä. Lisäksi siinä on 8x8 RGB LED -matriisi tekstin, datan ja kuvien näyttämiseksi. Siellä on myös mini viisisuuntainen joystick.

Sense HATin sensoristen toimintojen täydellinen valikoima on seuraava:

  • Kosteus: STMicro HTS221 -anturi, jonka suhteellinen kosteusalue on 0 - 100 %, plus lämpötilan tunnistus 32 °F - 149 °F (0 °C - 65 °C ± 2 °C).
  • Barometrinen paine: STMicro LPS25HB -anturi, jonka alue on 260 - 1260 hPa, plus lämpötilan tunnistus 59 °F - 104 °F (15 °C - 40 °C ±0,5 °C).
  • Lämpötila: Tämä voidaan lukea kosteus- tai paineanturista tai mitata ottamalla molempien lukemien keskiarvo.
  • Gyroskooppi: STMicro LSM9DS1 IMU voi mitata Sense HATin pyörimistä suhteessa maan pintaan (ja kuinka nopeasti se pyörii).
  • Kiihtyvyysanturi: Toinen IMU: n toiminto, tämä voi mitata kiihtyvyysvoimaa useisiin suuntiin.
  • Magnetometri: Aistimalla Maan magneettikentän IMU voi määrittää magneettisen pohjoisen suunnan ja antaa siten kompassilukeman.

Nyt kun tiedät, mitä tämä monikäyttöinen Raspberry Pi HAT voi tehdä, on aika aloittaa projekti.

Vaihe 1: Asenna Sense HAT

Yhdistä Sense HAT varmistamalla ensin, että Raspberry Pi on sammutettu ja irrotettu virtalähteestä. Työnnä sitten varovasti Sense HAT (jossa mukana toimitettu musta otsikon jatke on asennettu) Raspberry Pi: n 40-nastaiseen GPIO-otsakkeeseen niin, että Sense HAT -kortti asettuu Raspberry Pi -levyn päälle. Varmista, että kaikki tapit ovat oikein linjassa ja että molemmat rivit on kytketty. Voit myös käyttää ruuvattavia jalustoja sen kiinnittämiseksi.

Voit käyttää mitä tahansa tavallista Raspberry Pi -mallia, jossa on 40-nastainen GPIO-otsikko. Yksi Raspberry Pi 400:n tärkeimmät rajoituksetGPIO-otsikko sijaitsee kuitenkin integroidun näppäimistön takana. Tämä tarkoittaa, että Sense HAT on taaksepäin, joten voit käyttää GPIO-jatkokaapelia sen liittämiseen.

Vaihe 2: Asenna Raspberry Pi

Kuten kaikissa muissakin projekteissa, sinun tulee kytkeä USB-näppäimistö ja hiiri ja sitten liitä Raspberry Pi näyttöön tai televisioon. Sinulla pitäisi olla myös microSD-kortti, jossa on tavallinen Raspberry Pi OS - jos et ole vielä tehnyt sitä, tutustu kuinka asentaa käyttöjärjestelmä Raspberry Pi -laitteeseen. Tämän jälkeen olet valmis kytkemään virran päälle.

Vaihtoehtoisesti voit käyttää Raspberry Pi: tä Sense HATin kanssa päättömässä tilassa ilman näyttöä ja muodostaa yhteyden Raspberry Pi: hen etäyhteyden kautta SSH: n avulla toisesta tietokoneesta tai laitteesta. Jos teet tämän, et voi käyttää Thonny Python IDE: tä, osta voi silti muokata ohjelmia nano-tekstieditorilla ja suorittaa ne komentoriviltä.

Sense HAT -laiteohjelmiston pitäisi olla asennettuna oletuksena. Tarkistaaksesi, avaa Terminal-ikkuna ja kirjoita:

sudo apt install sense-hat

Sitten, jos paketti on juuri asennettu, käynnistä Raspberry Pi uudelleen:

sudo reboot

Vaihe 3: Aloita ohjelmointi Pythonissa

Vaikka voit käyttää Raspberry Pi Sense HATia Scratch-lohkopohjaisen ohjelmointikielen kanssa, käytämme Pythonia sen anturin lukemien lukemiseen ja näyttämiseen.

Thonny IDE (integroitu kehitysympäristö) on hyvä tapa tehdä Python-ohjelmointia Raspberry Pi: llä, koska siinä on paljon toimintoja, mukaan lukien hyödyllisiä virheenkorjausominaisuuksia. Siirry Raspberry Pi OS: n työpöydän käyttöliittymässä kohtaan Valikko (vasemman yläkulman vadelmakuvake) > Ohjelmointi > Thonny IDE käynnistääksesi sen.

Vaihe 4: Ota lämpötilalukema

Kirjoita Thonny IDE: n pääikkunaan seuraavat koodirivit:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Ensimmäinen rivi tuo SenseHat luokasta alkaen sense_hat Python-kirjasto (joka on esiasennettu Raspberry Pi OS: ään). Tämä määrätään sitten järkeä muuttuja. Kolmas rivi tyhjentää Sense HATin LED-matriisin.

Otamme sitten lämpötilalukeman ja tulostamme sen Thonny IDE: n Shell-alueelle. Tämä on celsiusasteina, joten kannattaa ehkä ensin muuntaa se Fahrenheitiksi:

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

Lämpötila-anturin lukemassa on useita numeroita desimaalipilkun jälkeen. Joten käytämme pyöristää funktio pyöristää se yhteen desimaaliin:

temp = round(temp, 1)

The sense.get_temperature() toiminto lukee kosteusanturiin sisäänrakennetun lämpötila-anturin. Vaihtoehtoisesti voit ottaa lämpötilalukeman paineanturista sense.get_temperature_from_pressure() tai jopa ottaa molemmat lukemat ja laskea keskiarvo (lisäämällä ne ja jakamalla kahdella).

Vaihe 5: Näytä lämpötila Sense HATissa

Yhden lämpötilalukeman tulostaminen Python Shelliin on hieman tylsää, joten otetaan sen sijaan uusi lukema säännöllisesti ja näytetään se Sense HATin RGB LED -matriisissa. Käytämme vierivän tekstiviestin näyttämiseen show_message toiminto. Käytämme myös a kun taas: Totta silmukka jatkaaksesi uuden lukeman ottamista 10 sekunnin välein – johon käytämme nukkua toiminto alkaen aika kirjasto.

Tässä koko ohjelma:

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)

Suorita tämä koodi ja näet jokaisen uuden lämpötilalukeman vierivän LED-matriisin poikki. Kokeile puhaltaa Sense HATia nähdäksesi, muuttuuko lämpötila.

Lämpötilalukemiin voi vaikuttaa Raspberry Pi: n prosessorista juuri alla oleva lämpö, ​​joten säätö saattaa olla tarpeen tarkemman luvun saamiseksi. Toinen ratkaisu on käyttää pinoavaa otsikkoa Sense HATin nostamiseksi korkeammalle Raspberry Pi: n yläpuolelle.

Käytä Raspberry Pi: tä lämpötilan seuraamiseen

Vaikka voit käyttää erillistä lämpötila-anturia tässä projektissa, Sense HAT tekee lämpötilan tarkkailusta helppoa Raspberry Pi. Voit myös ottaa sen avulla monia muita anturilukemia, kuten ilmanpaineen ja suhteellisen kosteuden, ja näyttää ne sen LED-valolla. matriisi.