Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] OLED 2,4'' SSD1306 nie działa.

30 Sty 2018 13:12 705 1
  • Poziom 11  
    Witam.

    Kupiłem taki wyświetlacz: OLED 2,42' 12864 SPI/IIC.
    Rozdzielczość: 128x64
    Mikrokontroler: SSD1306
    SPI Pins:
    1.GND(Power Supply Ground)
    2.VCC(Power Supply Positive)
    3.SCL(Clock Line)
    4.SDA(Data Line)
    5.RES(Reset Line)
    6.DC(Data/Command)
    7.CS(Chip Select)

    Zgodnie z opisem wyświetlacz był skonfigurowany do pracy z magistralą I2C. Niestety nie reagował na tej magistrali na żadne "zaczepki". Wygooglałem, że trzeba zrobiś pewne zmiany (m.in. podciągnąć RES i DC jeden do VCC a drugi do GND i połączyć CS z masą.) Po tych operacjach układ zgłasza się pod adresem 0x3C, odpowiada "ACK'ami" na komendy. Niestety nic nie wyświetla. Próbowałem na Arduino i na Atxmega z bibliotekami, pod którymi OLED 0,96'' działa bez problemu.
    Zauważyłem, że wysyłając tylko komendy odpowiedzialne za inicjalizację wyświetlacza czasem bywa (tylko przy włączaniu zasilania - sam reset procka nie wystarczy), że na wyświetlaczu pojawia się bardzo ciemny i niewyraźny obraz jakiegoś menu - tak, jakby sterownik przywoływał coś ze swojej pamięci (nie ma to nic wspólnego z moim programem). Podejrzewam, że sama inicjalizacja nie przebiega poprawnie. Robię to komendami:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Na małym wyświetlaczu (z tym samym sterownikiem) powyższe komendy działają poprawnie, na większym już nie. Jak pisałem, kontroler potwierdza "Ack" każdą komendę.

    Czy ktoś mógłby coś zasugerować?
  • PCBway
  • Poziom 11  
    Działa. Skonfigurowałem go na SPI, podłączyłem pod Arduino. W trakcie prób zorientowałem się, że pin "RES" to po prostu reset - nie może być na sztywno nigdzie podpinany, tylko resetowany przy starcie wyświetlacza. Działa SPI oraz I2C. Sterownik SSD1306 (ktoś w necie sugerował, że wkładali tam SSD1309).