Podobnie jak poprzednio – mamy dziś bardzo prostą instrukcję dla tym razem wyświetlacza. Śledząc dyskusje na grupie Malinowe Pi, Hubert Wu podzielił się linkiem do wyświetlacza 128×64. Jest to wyświetlacz monochromatyczny o całkiem słusznej rozdzielczości 128×64 wykonany w technologii OLED. Pomyśleć, że mój pierwszy komputer miał także rozdzielczość 640×400 i monochrom. Wyświetlacz kosztuje około 20-25 PLN i występuje najczęściej pod nazwą: ”0.96″ I2C IIC Serial 128X64” w popularnych serwisach aukcyjnych i wygląda podobnie do oryginalnego wyświetlacza Adafruit SSD1306 – którego właśnie użyłbym.
Aktualizacja: 2019-03-30 Czytelnik, Paweł Kopacz, zauważył, że aktualnie trzeba jeszcze zainstalować pip i setuptools oraz wheel
git, python-devel, python-pip (programy do zainstalowania w dystrybucji Raspbian na RPi)
Bibliotekę z przykładami od Adafruit: Adafruit_Python_SSD1306
Raspberry Pi – 1B, 1A, 2B, 3B+, 4B+ – właściwe dowolne z zainstalowanym Raspberry Pi OS lub Raspbianem (wystarcza wersja mini)
Wyświetlacz OLED SSD 1306 lub zgodny
Podłączony do RPi wyświetlacz (który jest zupełnie niezależny od wyjść HDMI czy Composite), przydaje się oczywiście do niezliczonych projektów, ale gdy zapytać konkretnie – to jednym z podstawowych jest wyświetlenie adresu IP 🙂
Najpierw podłączamy zasilanie i masę – VCC i GND do 3,3 i GND RPi, a następnie SDA i SCL do GPIO0 (GPIO 2 w RPi B+, 2 i 3) i GPIO1 (GPIO 3 w RPi B+, 2 i 3):
Podłączenie jest bardzo proste a wszystkie PINy obok siebie (no prawie, omijamy GPIO4!). Podczas podłączania – pomyliłem VCC z GND! Objawem było delikatne świecenie zielonej LED na RPi… Na szczęście po poprawieniu – okazało się, że zarówno RPi jak i wyświetlacz są w porządku. Od strony wyświetlacza podłączenie wygląda to tak:
Pierwszy krokiem będzie włączenie szyny I2C (GPIOO lub GPIO2 i GPIO1 lub GPIO3) na naszym RPi, włączamy ją używając raspi-config (Interfacing Options–>I2C->Enable).
Uruchamiamy ponownie RPi i zabieramy się za instalację odpowiednich programów:
Tradycyjne, aktualizujemy system:
sudo apt-get update && sudo apt-get upgrade
Następnie instalujemy odpowiednie programy:
sudo apt-get install build-essential python-dev python-pip python-imaging python-smbus git
Następnie RPi.GPIO:
sudo pip install RPi.GPIO
Gdy wszystko zostanie pobrane i zainstalowane – pobieramy używając git odpowiednią bibliotekę z przykładami od Adafruit:
sudo python -m pip install --upgrade pip setuptools wheel
git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
cd Adafruit_Python_SSD1306
sudo python setup.py install
Przekonajmy się czy nasz wyświetlacz jest prawidłowo podłączony!
cd Adafruit_Python_SSD1306/examples/
nano shapes.py
Edytujemy plik shapes.py i lokalizujemy linię, która konfiguruje nasz wyświetlacz do pracy przez I2C, jest to:
disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST, i2c_bus=1)
Inne linie zaczynające się od disp – „haszujemy” czyli stawiamy na początku znak #.
Teraz uruchamiamy:
sudo python shapes.py
Wreszcie wyświetlacz ożył! W katalogu znajdują się jeszcze pliki w Pythonie z przykładami – animate.py oraz image.py, należy je także przygotować – wybrać właściwą konfigurację zmiennej disp.
Możemy stosować własne czcionki (foramat TTF) – np: o wysokości 16pix:
image.py pozwala z kolei wyświetlić obraz w formacie PPM – do przygotowanie można użyć GIMP oraz konwersji na monochrom z ditheringiem:
Efekt zależy od wejściowego obrazu – powiedzmy, że logo można rozpoznać!
Pozostaje nam zagłębić się w Python’a i użyć wyświetlacza do podania adresu IP.