DCCpp LMD Oled


Originalmente, la central DCC++ no tiene pantalla. La única manera de "ver" que pasa internamente, unicamente contábamos con la comunicación Serial en cualquiera de sus puertos.

En esta situación opte por implementar una pequeña pantalla Oled de 128x64 con comunicación I2c. Esta pantalla se encarga de mostrar los datos más básicos tales como:

  • Estado de la central
  • Último estado de locomotora
  • Número de elementos almacenados en la memoria EEPROM
  • Consumo de la vía principal
  • Ip (solo con conexión wifi)
  • Último comando recibido

En un primer momento, probé con la librería de Adafruit pero, pese a estar muy bien, no era lo que estaba buscando. Recordé la librería U8gLib y su versión actualizada U8g2. Al final me decante por U8g2Lib por tener más posibilidades.

En el archivo Oled.cpp configuramos la pantalla que tengamos, en mi caso una Oled 0'96" SSD1306, pero puedes encontrar una lista con todas las pantallas compatibles. También las puedes encontrar en esta lista. Esta pantalla al ser I2c va conectada en los pines 20 y 21

Si usas otra pantalla posiblemente tendrás que hacer algunos cambios en las posiciones de los textos

 
// Select your screen on Oled.h list
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // All Boards without Reset of the Display

Volver

Descargar Librería DCCpp_LMD 2.0.4 (Modificación Oled, S88, Sonido, wifi, Bluetooth, Serial3, teclado y encoder)

Seguiré actualizando!!!