Arduino Polska Forum
Oled 128x64 - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: Oled 128x64 (/watek-oled-128x64)



Oled 128x64 - Cimek91 - 09-05-2022

Cześć... mam taki problem, kupiłem przez przypadek inny wyswietlacz i teraz mam problem z podlaczeniem... , nie mam scl, tylko mam sck na oledzie...

Na arduino juz projekt mam wgrany, lecz nie wiem jak podlaczyc komunikacje do wlasnie tego oleda...


https://allegro.pl/oferta/wyswietlacz-oled-128x64-0-96-bialy-i2c-spi-sh1106-10094089029?bi_s=ads&bi_m=productlisting%3Adesktop%3Aquery&bi_c=NjY1ZTkxMTAtZDQ4YS00OGNhLWJiNWQtMGFhN2ZiMDFlNWY4AA&bi_t=ape&referrer=proxy&emission_unit_id=c3c8a513-03a8-4330-b40e-4b5451ab76aa 


Taki wlasnie wyswietlacz i Arduino pro mini...

Tutaj jest projekt, który probuje ogarnac..

https://github.com/augisbud/m365_dashboard

Widze, że w projekcie jest inny typ wyswietlacza, lecz nie mam bladego pojecia, na co zmienic. wiem tylko ze jest pod sh1106. 


Zworki mam zrobione pod I2C

Jezeli mógłbym cię prosić o pomoc, byłbym wdzieczny.


RE: Oled 128x64 - MadMrQ - 09-05-2022

#define PIN_CS 10
#define PIN_RST 9
#define PIN_DC 8
#define PIN_D0 13
#define PIN_D1 11

takie numery pinów znajdują się w programie w pliku defines,h

Potem w M365.ino należy zwrócić uwagę na linie kodu:
#ifdef DISPLAY_SPI
display.begin(&Adafruit128x64, PIN_CS, PIN_DC, PIN_RST);
//display.begin(&SH1106_128x64, PIN_CS, PIN_DC, PIN_RST); // if you use 1.3" display
#endif

Tutaj trzeba zapewne odkomentować drugą linijkę display.begin

Jakie zworki pod I2C? Na OLED?


RE: Oled 128x64 - kaczakat - 09-05-2022

scl i  sck to oba są do zegara, zegar to zegar w obu, to akurat proste. SPI ma dodatkowo rozbite na dwa piny DATA IN i OUT oraz dodatkowy pin ChipSelect CS.  Trudniej będzie zdecydować który pin jest do data w I2C, szanse trafienia 50%. Wgraj scanner I2C i w około 3s będziesz wiedział.

Przestawienie na I2C nie wystarczy, musisz ustawić bibliotekę do tego SH1106, podmienić co zakomentowane, porzeźbić w kodzie projektu, użyć przykładów z biblioteki tak by mieć pewność, że ekran w ogóle działa, a potem czy działa z tym projektem. Biblioteka jest dość uniwersalna, nie jestem pewien czy nie jest domyślnie pod OLED ssd1306.

No i schemat tego projektu sugeruje użycie SPI, a nie I2C:
https://github.com/augisbud/m365_dashboard/blob/master/circuit/v1_working.png
Jak się np. nie używa pinu RST to można wpisać:
#define PIN_RST -1
a definiować CS i inne nie ma sensu, skoro nie są używane. Chyba że to ma być jednak SPI.