Sense Hat i obraz LED

Projekt przedstawiany w tym artykule ma pokazać, w jaki sposób na panelu LED rozszerzenia Sense Hat wyświetlić własny obraz. Jest to proste zadanie pokazujące, jak zmieniać kolorystkę poszczególnych diod LED. Tu za pomocą kodu w języku Python będziemy musieli ustawić kolor dla każdej z 64 diod z osobna. Chociaż może brzmieć to skomplikowania, to tak nie jest. Projekt jest bardzo prosty i szybki w wykonaniu.

Zaznaczam, że przedstawiony tu sposób realizacji projektu to jedynie przykład, który starałem się dopasować poziomem dla osób początkujących zarówno z programowaniem w Pythonie, jak i z rozszerzeniem Sense Hat.

Co będzie potrzebne:

  • komputer Raspberry Pi z płytką Sense Hat,
  • monitor/projektor z okablowaniem,
  • klawiatura i mysz.

Kod projektu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from sense_hat import SenseHat
sense = SenseHat()

R = (255, 0, 0)
W = (255, 255, 255)

serce = [W,W,W,W,W,W,W,W,
         W,R,R,W,R,R,W,W,
         R,R,R,R,R,R,R,W,
         R,R,R,R,R,R,R,W,
         W,R,R,R,R,R,W,W,
         W,W,R,R,R,W,W,W,
         W,W,W,R,W,W,W,W,
         W,W,W,W,W,W,W,W
         ]

sense.set_pixels(serce)

Opis kodu:

Po wczytaniu odpowiednich bibliotek, umożliwiających połączenie naszego programu z płytką Sense Hat, przechodzimy do zadeklarowania dwóch krotek. Pierwsza z nich R = (255, 0, 0) definiuje za pomocą współrzędnych chromatycznych kolor czerwony, a W = (255, 255, 255) – kolor biały. Od tego momentu, zawsze gdy w skrypcie zostaną użyte zmienne R lub W, to Python będzie “myślał” właśnie o tych współrzędnych.

Kolejną zmienną, która zostaje zadeklarowana to lista o nazwie serce. To właśnie za jej pomocą określamy kolor każdej z 64 diod na wyświetlaczu LED Sense Hata. W celu ułatwienia odczytywania, po każdej ósemce znaków zostało wstawiona nowa linijka (Python ignoruje takie rzeczy, aż do momentu, gdy zobaczy zamknięcie listy). Wygląd listy odpowiada teraz mniej, więcej temu, jak wygląda panel LED.

Jak nietrudno się domyślić, każda literka R ustala kolor diody na czerwony, a każda literka W – na biały.

Ostatnim etapem jest przekazanie płytce Sense Hat informacji, że ma na swoim panelu LED pokazać obraz, który zapisano w zmiennej serce. Za tę czynność odpowiada polecenie sense.set_pixels(serce).

Wizualizacja działania skryptu na emulatorze Sense Hata

Po uruchomieniu skryptu na Raspberry Pi, wyświetlacz LED pokaże czerwone serce na białym tle. Będzie ono widoczne, dopóki Sense Hat nie zostanie wyłączony lub dopóki nie otrzyma innej instrukcji, co do tego co ma wyświetlać.