[PRZYKŁAD] Wyświetlacz OLED oraz KAmduino UNO
Czasami zachodzi potrzeba podejrzenia wartości jakieś zmiennej lub sprawdzenia odczytu sensora, jednak nie zawsze jest dostęp do komputera, na którym można skorzystać z debuggera lub odebrać dane wysłane za pomocą portu szeregowego. Rozwiązaniem tego problemu może być wykorzystanie niewielkiego wyświetlacza OLED i wyświetlanie na nim interesujących nas danych.
Aby przystąpić do działania będą nam potrzebne następujące elementy:
- Płytka KAmduino UNO
- Wyświetlacz OLED Waveshare 0.96 cala (A)
- Przewody męsko-męskie oraz męsko-żeńskie
- Niewielka płytka stykowa
- Potencjometr 10 kΩ (lub czujnik z wyjściem analogowym)
Rysunek 1. Wyświetlacz OLED 0,96 cala firmy Waveshare
W projekcie został użyty wyświetlacz OLED o przekątnej 0,96 cala (rysunek 1). Ma on rozdzielczość 128 x 64 pikseli. Posiada kontroler SSD1306, który może być sterowany z wykorzystaniem interfejsu I2C lub SPI. Górna cześć wyświetla piksele w kolorze żółtym, reszta w kolorze niebieskim. Wybór interfejsu odbywa się za pomocą lutowanych zworek z tyłu modułu.
Podłączenie poszczególnych pinów do płytki KAmduino Uno zostało przedstawione w tabelce poniżej:
Pin KAmduino UNO | Pin wyświetlacza OLED |
+5V | VCC |
GND | GND |
13 | RES |
12 | CS |
11 | D/C |
10 | CLK |
9 | DIN |
Dodatkowo należy umieścić potencjometr na płytce stykowej a jego wyjście podłączyć do pinu A0. Wyświetlacz OLED oraz potencjometr podłączone do płytki KAmduino UNO prezentują się następująco:
Rysunek 2. Zmontowany układ
Po zmontowaniu projektu można przejść do części programowej. Po uruchomieniu środowiska Arduino należy zainstalować biblioteki, które pozwolą na łatwe użytkowanie wyświetlacza OLED. Należy pobrać bibliotekę przygotowaną przez firmę Adafruit (link do serwisu github). Warto również zainstalować bibliotekę Adafruit GFX Library (link do serwisu github). Instalacja odbywa się w standardowy sposób. Z górnego menu należy wybrać Szkic >> Dołącz bibliotekę >> Dodaj bibliotekę .ZIP.
Po instalacji można uruchomić przykład ssd1306_128_64. Znajduje się on w menu, w górnej części okna programu – Przykłady >> Adafruit SSD1306 >> ssd1306_128x64_spi.
Rysunek 3. Otworzenie przykładu
Jednak podczas wgrywania przykładu na płytkę pojawia się następujący błąd kompilacji:
Rysunek 4. Komunikat o niepoprawnej wartości w pliku konfiguracyjnym
W pliku konfigruacyjnym Adafruit_SSD1306.h wpisana jest nieprawidłowa ilość pikseli (dla innego wyświetlacza). Należy odnaleźć ten plik i odpowiednio go zmodyfikować. Plik znakuje się w katalogu, do którego prowadzi ścieżka C:\Users\<nazwa użytkownika>\Documents\Arduino\libraries\Adafruit_SSD1306. Należy otworzyć plik Adafruit_SSD1306.h w edytorze tekstu (np. Notepad++), a następnie zakomentować linię #define SSD1306_128_32 oraz odkomentować linię #define SSD1306_128_64 (ten fragment kodu po modyfikacjach został przedstawiony na rysunku 5, na rysunku zaznaczona została linia, którą należy odkomentować)
Rysunek 5. Modyfikacja pliku Adafruit_SSD1306.h
Po tych modyfikacjach należy zrestartować środowisko i ponownie uruchomić przykład. Teraz powinien wgrać się już bez problemów. Na ekranie będą pojawiać się kolejne animacje przygotowane przez twórców biblioteki. Całość powinna wyglądać jak na materiale wideo poniżej: