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
- Vypíš teplotu, vlhkosť a tlak do konzoly každú sekundu.
- Na LED matici zobraz jednoduchý obrázok (napr. smajlík) pomocou
set_pixel. - Naprogramuj
show_message, aby zobrazil tvoje meno na LED matici. - 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 joystickuPostup sa ukladá iba v tomto prehliadači.