Wyświetlacz OLED SSD1306 – I2C
Atrakcyjne cenowo i wizualnie, małe wyświetlacze OLED cieszą się bardzo dużą popularnością. Łatwość wdrożenia ich do budowanych projektów, dzięki dostępności gotowych bibliotek sprawia, że w ciągu kilku chwil możemy cieszyć się efektownym interfejsem użytkownika. Wyświetlacze tego typu nie wymagają podświetlania, mają bardzo mały pobór prądu i doskonałą widoczność – przy założeniu, że ich rozmiar jest dla nas satysfakcjonujący, to jest to doskonały wybór. Najczęściej spotykane wersje tych wyświetlaczy to niebieski, jednokolorowy OLED o rozdzielczości 128×64 px, ze sterowaniem po magistrali szeregowej – I2C lub SPI, o przekątnej 0,96„.
Koszt wyświetlaczy tego typu – z kontrolerem SSD1306 – zazwyczaj nie przekracza kilku USD, a najpopularniejsze z nich – mono, 128×64, I2C – można kupić już za ok. 3 USD.
Pełną dokumentację kontrolera znajdziecie TUTAJ
Do sterowania tego typu modułów graficznych dostępnych jest kilka bibliotek. Jedną z popularniejszych jest u8glib i na jej podstawie powstał poniższy przykład …
Sam układ jest banalnie prosty i sprowadza się do podłączenia zasilania (całość +5V) i magistrali szeregowej – SDA, SCL
Szczegółowy opis obsługiwanych funkcji :
https://github.com/olikraus/u8glib/wiki/userreference
Prosty kod (z powyższego przykładu) :
// OLED SSD1306 128x64 + Arduino NANO V3 - sterowanie po I2C #include "U8glib.h" // bibioteka OLED I2C U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); //konstruktor void setup() { u8g.firstPage(); do { u8g.setFont(u8g_font_unifont); u8g.drawStr( 12, 25, "TEST SSD1306"); u8g.setFont(u8g_font_profont29); u8g.drawStr( 18, 58, "ywd.pl"); } while( u8g.nextPage() ); delay(1000); } void loop() { for ( int licznik = 1; licznik < 116; licznik++) { // petla obrazu u8g.firstPage(); do { u8g.setFont(u8g_font_profont29); u8g.setPrintPos(52, 34); u8g.print(licznik); u8g.drawFrame(10,50,118,14); u8g.drawBox(12,52,licznik,10); } while( u8g.nextPage() ); } }