P2-012
← Všetky témyRaspberry Pi 5 · 13 / 18

Raspberry Pi – Sense HAT

Poznámka

Sense HAT je rozširujúci modul pre Raspberry Pi s viacerými senzormi a 8×8 RGB LED maticou – pôvodne bol vyvinutý pre projekt Astro Pi (experimenty na ISS).

Hardvér

  • gyroskop, akcelerometer, magnetometer (orientácia a pohyb)
  • teplotný senzor (presnosť ~2 °C v rozsahu 0–65 °C)
  • barometer (tlak 260–1260 hPa, presnosť ~0,1 hPa)
  • senzor vlhkosti (presnosť ~4,5 % v rozsahu 20–80 % rH)
  • 8×8 RGB LED matica na zobrazenie dát
  • 5-tlačidlový joystick

Modul sa nasadí priamo na 40-pinový GPIO konektor Raspberry Pi.

Inštalácia knižnice

sudo apt update
sudo apt install sense-hat -y    # oficiálna knižnica nadácie Raspberry Pi
sudo reboot                        # reštart po inštalácii

Čítanie senzorov

from sense_hat import SenseHat

sense = SenseHat()

teplota = sense.get_temperature()
vlhkost = sense.get_humidity()
tlak = sense.get_pressure()

print(f"Teplota: {teplota:.1f} °C")
print(f"Vlhkosť: {vlhkost:.1f} %")
print(f"Tlak: {tlak:.1f} hPa")

Tip

Teplotný senzor Sense HAT je veľmi blízko procesoru Raspberry Pi – pri záťaži procesora môže ukazovať vyššiu teplotu, ako je skutočná teplota okolia.

LED matica

from sense_hat import SenseHat

sense = SenseHat()

cervena = (255, 0, 0)
sense.clear()                       # zhasni všetky LED
sense.set_pixel(0, 0, cervena)       # zapni LED v ľavom hornom rohu
# vypísanie textu na maticu
sense.show_message("Ahoj STEMlab!", scroll_speed=0.05, text_colour=(0, 255, 0))

Joystick

from sense_hat import SenseHat

sense = SenseHat()

while True:
    udalost = sense.stick.wait_for_event()
    print(f"Smer: {udalost.direction}, akcia: {udalost.action}")

Mini-úlohy – Sense HAT

  1. Vypíš teplotu, vlhkosť a tlak do konzoly každú sekundu.
  2. Na LED matici zobraz jednoduchý obrázok (napr. smajlík) pomocou set_pixel.
  3. Naprogramuj show_message, aby zobrazil tvoje meno na LED matici.
  4. Pomocou joysticku ovládaj farbu jedného pixelu (zmena farby pri pohybe doľava/doprava).

Cheat sheet – rýchla referencia

from sense_hat import SenseHat
sense = SenseHat()

sense.get_temperature() / sense.get_humidity() / sense.get_pressure()
sense.clear()                              # zhasni LED maticu
sense.set_pixel(x, y, (r, g, b))            # zapni jeden pixel
sense.show_message("text")                  # posúvajúci text na LED matici
sense.stick.wait_for_event()                 # čakaj na pohyb joysticku
Postup sa ukladá iba v tomto prehliadači.
18 kapitol · vyhľadávanie aj v texte