Arduino z wyświetlaczem OLED
Uruchom wyświetlacz OLED z Arduino: Tekst, Kształty i Animacje z Zaawansowaną Grafiką (czyli obrazy/bitmapy :D)
Wymagania
- Arduino
- Wyświetlacz OLED (używam I2C)
- Przewody połączeniowe
Przegląd
W tym tutorialu pokazuję dokładnie, jak podłączyć i zaprogramować jeden z najpopularniejszych komponentów w społeczności majsterkowiczów elektronicznych: wyświetlacz OLED. Niezależnie od tego, czy chcesz wyświetlać dane z czujników, tworzyć niestandardowe animacje, czy po prostu dodać interfejs użytkownika do swojego projektu Arduino, ten przewodnik obejmuje wszystko, od podstaw po bardziej zaawansowane funkcje.
W towarzyszącym filmie przeprowadzam Cię przez:
-
Konfiguracja sprzętowa: Zrozumienie I2C vs. SPI oraz logika 3.3V vs. 5V.
-
Rozróżnienie sterowników: Różnica między sterownikami SSD1306 a SH1106.
-
Podstawowe rysowanie: Wyświetlanie tekstu i kształtów geometrycznych.
-
Ruch: Implementacja przewijanego tekstu.
-
Zaawansowana grafika: Konwersja i wyświetlanie niestandardowych obrazów (bitmap).
Sprzęt i podłączenie
Do tego projektu używam Arduino Nano 33 BLE, ale kod i okablowanie są kompatybilne również z klasycznym Arduino Uno i Nano.
Identyfikacja Twojego wyświetlacza Przed okablowaniem sprawdź piny, aby zidentyfikować protokół komunikacyjny:
-
I2C (używany w tym tutorialu): Piny oznaczone jako SCL i SDA.
-
SPI: Piny oznaczone jako DC, CS, itp.
Przewodnik okablowania Choć kolory pinów mogą być zagmatwane, połączenia są proste. Oto jak podłączyć OLED I2C do Arduino:
VCC: Podłącz do 3.3V (Większość wyświetlaczy toleruje 5V, ale sprawdź swoją specyfikację).
GND: Podłącz do masy (Ground).
SCL (Serial Clock): Podłącz do A5.
SDA (Serial Data): Podłącz do A4.
Konfiguracja oprogramowania: Biblioteki i sterowniki
Aby uruchomić wyświetlacz, musisz zainstalować dwie konkretne biblioteki za pomocą Menedżera bibliotek Arduino IDE:
-
Adafruit GFX Library
-
Adafruit SSD1306
SSD1306 vs. SH1106 Sterowniki Częstym powodem nieporozumień jest chip sterownika. Większość tutoriali zakłada, że masz SSD1306 (128 kolumn szerokości). Jednak wiele niedrogich wyświetlaczy w rzeczywistości używa sterownika SH1106 (132 kolumny szerokości).
Problem: Uruchomienie wyświetlacza SH1106 na kodzie SSD1306 zazwyczaj działa, ale możesz zauważyć niewielkie przesunięcie lub artefakty wizualne na krawędziach.
Rozwiązanie: Dla prostego tekstu nie ma to większego znaczenia. Dla szczegółowych animacji może być konieczne dostosowanie współrzędnych startowych lub użycie biblioteki specjalnie obsługującej SH1106.
Podsumowanie
Wyświetlacze OLED zastąpiły LCD w wielu projektach, ponieważ są bardziej energooszczędne, mają lepszy kontrast i są bardziej kompaktowe. Są również bardziej wytrzymałe i mają dłuższą żywotność niż LCD. Jeśli potrzebujesz fragmentów kodu, są one dostępne w opisie filmu!