Instrukcja podłączenia wyświetlacza OLED 2,42" z kontrolerem SSD1309 do płytki Arduino.
Opis sprawdzony na wyświetlaczu:
Aby podłączyć ten wyświetlacz potrzebujemy konwerter poziomów napięc 5V<>3,3V ja użyłem tego: 8 kanałowy konwerter napięć (poziomów logicznych), można również użyć dzielnika napięcia z rezystorami 3k3 i 1k8.
Wyprowadzenia wyświetlacza w trybie SPI oraz sposób podłączenia do Arduino:
Sposób podłączenia:
Należy pamiętać, że pomiędzy Arduino i wyświetlacz należy wstawić układ dopasowywujący poziomy napięć.
GND -> GND, masa
VCC -> 3,3V
D0 -> SCK, podłączamy do pinu D13 (D52 w przypadku Arduino Mega)
D1 -> MOSI, podłączamy do pinu D11 (D51 w przypadku Arduino Mega)
DC -> A0,podłączamy do pinu D9
CS -> Chip select, , podłączamy do pinu D10
RES -> D8 , biblioteki nie obsługują resetu w tym wyświetlaczu - należy dodać kilka linijek kodu aby reset następował przy każdym uruchomieniu programu, na końcu opisu znajduje się program z dodanym kodem:
int LCD_Reset = 8;
void setup(void) {
pinMode(LCD_Reset, OUTPUT);
digitalWrite(LCD_Reset, LOW);
delay(100);
digitalWrite(LCD_Reset, HIGH);
}
Biblioteki:
Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
konfiguracja bibliotek:
Po zainstalowaniu bibliotek w Arduino IDE, z przykładów wybieramy u8glib -> "Hello World",
na początku programu znajdują się różne definicje w zależności od wyświetlacza z jakim aktualnie mam do czynienia, nas interesuje definicja:
//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
usuwamy "//"
następnie kompilujemy program oraz programujemy nasze Arduino.
Do pobrania:
poprawnie skonfigurowany plik: Helloworld.ino
biblioteki: link