¿Cómo hacer que esta pantalla OLED I2C funcione? (probablemente SH1106)

1

Acabo de recibir esta pantalla: link pero desafortunadamente es diferente de lo que se muestra en las revisiones. Esa es mi versión enlace

Probablemente esté basado en SH1106 pero no puedo hacer que funcione. He probado algunas bibliotecas populares de Arduino pero no puedo obtener la dirección de esta pantalla desde el escáner I2C, no responde.

¿Alguien sabe cómo programarlo?

    
pregunta Ekci

3 respuestas

1

Creo que tu pantalla OLED podría estar basada en SSD1306, y no un SH1106 como crees.

Si ese es el caso, creo que te alegrará saber que hay una biblioteca para ello (hecha por Adafruit):

enlace

Por lo que he leído, también debes hacer una pequeña modificación de código para que tu pantalla OLED funcione. Es simple y puedes encontrarlo aquí:

enlace

Espero que esto te ayude.

    
respondido por el unicell
1

Podría hacer que la pantalla funcione con la biblioteca de Adafruit, según la configuración de la siguiente manera:

// If using software SPI (the default case):
#define OLED_MOSI   11       //SDA in the OLED display
#define OLED_CLK   13        //SCL in the OLED display
#define OLED_DC    9         //D/C in the OLED display
#define OLED_CS    10        //Its not connected
#define OLED_RESET 2         //RST in the OLED display
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

Recuerde: use el ejemplo con la comunicación SPI, ¡todo funciona GRANDE!

    
respondido por el Fer Rojas
0

Acabo de comprar una pantalla exactamente igual a la tuya y también tuve el mismo problema ... y al intentar encontrar una solución, vine con tu pregunta, ¡¡y luego encontré la solución !:

enlace

Siga los pasos del usuario: Caltoa, -Utilice U8glib, tome el ejemplo 'Hola mundo' para Arduino y descomente la sección:

U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);   // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

Y agrega un '2' al final, como este:

U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9, 2);    // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

Entonces conéctate así:

U8GLIB_SSD1306_128X64 u8g( SCL, SDA, 'cs no connected', D/C, RST);

¡Totalmente funcionando!

p.s. No es una pantalla I2C, utiliza una comunicación SPI, ¡las etiquetas en la pantalla son incorrectas! Es por eso que en la biblioteca tiene que usar el 'Software SPI Communication'.

¡Espero que funcione contigo y todos con el mismo problema!

    
respondido por el Fer Rojas

Lea otras preguntas en las etiquetas