🚚 Envío GRATIS en compras sobre $30.000 | Retiro en Curauma, Valparaíso | 📞 +56 9 65214463
Arduino 23 de November de 2025 · 2 min de lectura

Comunicación I2C con Arduino: Conecta Múltiples Dispositivos

El protocolo I2C permite conectar decenas de dispositivos con solo 2 cables. Aprende a usar Wire.h, detectar direcciones y manejar múltiples sensores simultáneamente.

¿Qué es el protocolo I2C?

I2C (Inter-Integrated Circuit) es un protocolo de comunicación serial síncrono desarrollado por Philips (ahora NXP) en los 80. Usa solo dos líneas: SDA (datos) y SCL (reloj). El maestro (Arduino) controla el bus y se comunica con los esclavos (sensores, pantallas) usando direcciones únicas de 7 bits, lo que permite hasta 127 dispositivos en el mismo par de cables.

En el Arduino Uno, SDA está en el pin A4 y SCL en el pin A5. En el Arduino Mega, son los pines 20 y 21. Todos los dispositivos I2C que encuentras en Especificar.cl —OLED, BME280, MPU-6050, LCD I2C— usan esta misma interfaz.

Librerías y uso básico

  • La librería Wire.h viene incluida en Arduino IDE
  • Wire.begin() inicializa el bus I2C
  • Wire.beginTransmission(dirección) para seleccionar el esclavo
  • Wire.write(dato) para enviar un byte
  • Wire.endTransmission() para cerrar la comunicación
  • Wire.requestFrom(dirección, cantidad) para leer bytes

Detectar direcciones I2C con el Scanner

Si no sabes la dirección I2C de tu módulo, carga el sketch "I2C Scanner" que escanea todas las direcciones de 0x01 a 0x7F e imprime por serial cuáles responden. Es indispensable cuando tienes módulos sin documentación clara o cuando dos módulos supuestamente tienen la misma dirección (como dos pantallas OLED).

Resistencias pull-up en I2C

El bus I2C requiere resistencias pull-up en SDA y SCL (típicamente 4.7kΩ a VCC). La mayoría de los módulos ya las traen incorporadas. Si tienes cables muy largos (>50 cm) o muchos dispositivos, puede ser necesario reducir las pull-up a 2.2kΩ para mejorar la integridad de la señal.

Compartir: WhatsApp
Escríbenos por WhatsApp