Convertir oled spi a i2c


Convertir oled spi a i2c es relativamente fácil moviendo unos jumpers, en este artículo te explico como.

oscar Escrito por oscar 01 August 2023 10 0

Convertir físicamente un OLED SPI a I2C no es posible en la mayoría de los casos. Esto se debe a que los displays OLED SPI y I2C son fabricados con diferentes circuitos integrados y pines para admitir cada interfaz de comunicación específica.

Sin embargo, hay alternativas para lograr la funcionalidad I2C si su display OLED actual es SPI:

  • Verifique si su OLED SPI tiene jumpers de selección de interfaz: Algunos displays OLED SPI poseen jumpers de selección que permiten cambiar entre las interfaces SPI e I2C. Revise la hoja de datos de su modelo específico para ver si cuenta con esta opción. Si es así, simplemente siga las instrucciones del fabricante para soldar los jumpers en la configuración I2C.

  • Use un convertidor SPI a I2C: Si su display OLED SPI no tiene jumpers de selección, puede utilizar un conversor SPI a I2C externo. Estos chips actúan como intermediarios, traduciendo las señales SPI a I2C para que su placa Arduino pueda comunicarse con el display. Algunos convertidores populares son el 74HC4066 y el MCP23008.

OLED SPI a I2C con jumpers

OLED SPI a I2C con jumpers
OLED SPI a I2C con jumpers

Si gira alrededor de su pantalla, observará que su pantalla tiene indicaciones para convertir SPI a I2C (ICC significa I2C). deberá cambiar la resistencia de SPI a I2C y acortar la trayectoria de la resistencia R8.

Ahora Vcc y las líneas GND son iguales, pero CLK será su SCL, MOSI será su SDA y debe conectar el pin de reinicio a Vcc y los otros dos pines a GND

Y ahora puede usar SPI OLED como I2C

La nueva distribucion de los pines queda de la siguiente forma

GND >> GND
VCC >> VCC
SCL >> SCL
SDA >> SDA
RES >> Digital reset pin
DC >> VCC or GND

Conecte la entrada "DC" (que es SA0 en el SSD1306) a VCC o GND para configurar la dirección I2C como desee.

DC/SA0 >> VCC = dirección I2C 0x3C

DC/SA0 >> GND = dirección I2C 0x3D

Si estás jugando con la biblioteca Adafruit SSD1306 como yo, la dirección predeterminada en el código es 0x3C, así que conecta DC/SA0 a VCC.

Links de interés

https://www.instructables.com/OLED-Tutorial-Convert-SPI-to-I2C/

OledArduino (electronica.uy)

https://electropeak.com/learn/interfacing-0-96-inch-spi-i2c-oled-display-module-with-arduino/


Comentario

Debe aceptar antes de enviar