Como encontrar las direcciones de dispositivos I2C conectados al Arduino

Todos los dispositivos que se comunican a través del protocolo I2C poseen una dirección hexadecimal única, y cada mensaje y orden que transmitimos al bus, lleva anexa esta dirección, indicando cuál de los muchos posibles, es el receptor del mensaje.

Esto implica que sabemos la dirección del componente. Lo normal es comprobar la información técnica del fabricante del componente, y ahí suele decirnos cuál es la dirección por defecto. Pero es posible que tengamos un dispositivo sin documentación, para ello hay un programa para Arduino que nos informa de lo que hay en nuestro bus y con qué dirección.

Los dispositivos, a su vez permiten que los últimos tres bits de dicha dirección hexadecimal puedan ser modificados. Generalmente se encuentran como pads A0, A1 y A2, los cuales se pueden cerrar con soldadura para así expresar hasta 8 posibles direcciones distintas.

Para averiguar la dirección hexadecimal del dispositivo a revisar conectar el en arduino en los puertos SCL y SDA, cargar y ejecutar el siguiente programa:

Después de cargar el programa, abrimos el monitor serial y si todo está bien se empezará a mostrar el o los dispositivos seriales conectados con su dirección hexadecimal. Sin embargo se recomienda primero hacerlo con un dispositivo conectado a la vez.

Conclusión
Este pequeño programa resulta de gran utilidad para encontrar y comprobar el bus serial I2C, sobre todo con dispositivos con los que a veces no se cuenta con fichas técnicas.

Referencias (en inglés):

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *