Pins de comunicación I2C en los tableros Arduino

Pins de comunicación I2C en los tableros Arduino
I2C, o circuito interintegrado, es un protocolo de comunicación utilizado para conectar dispositivos a cualquier placa de microcontrolador Arduino y utiliza una línea de datos compartida (SDA) y una línea de reloj (SCL) para la comunicación. La biblioteca de alambre incorporada en el Arduino IDE permite una fácil comunicación con dispositivos I2C a través de funciones de alto nivel y admite múltiples autobuses I2C.

Este artículo cubre:

  • ¿Qué es la comunicación I2C en Arduino?
  • Pins I2C en Arduino Uno
  • Pins I2C en Arduino Mega
  • Pins I2C en Arduino Nano
  • Breve comparación de los pines Arduino I2C
  • Conectando dos tableros Arduino usando I2C como maestro y esclavo
  • Conclusión

¿Qué es la comunicación I2C en Arduino?

Pins de comunicación I2C Consulte las conexiones PIN específicas en una placa Arduino que se utilizan para comunicarse con dispositivos I2C. En la mayoría de los tableros Arduino, los pines de comunicación I2C se encuentran en los pines A4 y A5, y se etiquetan con SDA (para datos) y SCL (para reloj) respectivamente.

Algunos aspectos destacados principales de la comunicación I2C incluyen:

Capacidad de múltiples maestras y múltiples esclavos: I2C admite múltiples dispositivos maestros y múltiples dispositivos de esclavos en un solo bus, lo que permite la comunicación entre múltiples dispositivos al mismo tiempo.

Recuento de alfileres bajos: I2C usa solo dos líneas, SDA y SCL, para la comunicación, lo que reduce el número de conexiones requeridas y simplifica el cableado.

Dispositivos direccionables: Cada dispositivo I2C en el bus tiene una dirección única, lo que permite una fácil identificación y comunicación con dispositivos específicos.

Alta velocidad: La especificación I2C admite tasas de transferencia de datos de hasta 3.4 Mbps, lo que lo hace adecuado para aplicaciones de transferencia de datos de alta velocidad.

Ahorro de energía: I2C permite la comunicación de baja potencia entre dispositivos al permitir que los dispositivos se coloquen en modos de baja potencia cuando no se comuniquen y se despierte a pedido.

Pins I2C en Arduino Uno

En la comunicación I2C, se utilizan dos líneas:

  • Linea de datos (SDA): Línea de datos para intercambiar datos entre dispositivos maestros y esclavos.
  • Línea de reloj (SCL): Línea de reloj para sincronizar la comunicación I2C entre dispositivos.

El dispositivo maestro es responsable de controlar la línea del reloj e iniciar la comunicación, mientras que los dispositivos de esclavos son responsables de responder a las solicitudes del maestro.

Pins I2C en Arduino Mega

El Arduino Mega tiene múltiples pasadores de comunicación I2C. Estos alfileres son:

  • SDA - A4 y 20
  • SCL - A5 y 21

Estos pines se pueden usar para conectar dispositivos I2C, como sensores u otros microcontroladores.

Pins I2C en Arduino Nano

Los pines I2C en el arduino nano son A4 (SDA) y A5 (SCL), estos pines se pueden usar para comunicarse con dispositivos I2C como sensores, pantallas LCD y otros microcontroladores. Para usar estos alfileres, deberá usar la biblioteca de cables, que está integrada en el Arduino IDE:

Es importante tener en cuenta que los pines I2C en el Arduino Nano también se pueden usar como pines de E/S digitales estándar si no se están utilizando para la comunicación I2C. Sin embargo, es importante asegurarse de que la comunicación I2C esté deshabilitada o detenida antes de usar estos pines como E/S digital, ya que puede causar conflictos y errores.

Breve comparación de los pines Arduino I2C

Aquí hay una lista de algunos tableros de Arduino populares y sus correspondientes pines I2C:

Junta Pins I2C
Arduino nano SDA-A4 | SCL-A5
Mega Arduino SDA-A4 | SCL-A5 y SDA-20 | SCL-21
Arduino Leonardo SDA-A4 | SCL-A5
Arduino Uno SDA-A4 | SCL-A5
Arduino micro SDA-02 | SCL-03*
Arduino Leonardo SDA-02 | SCL-03
Arduino micro SDA-02 | SCL-03
Arduino Pro Mini SDA-A4 | SCL-A5
Arduino debido SDA-20 | SCL-21
Arduino 101 SDA-20 | SCL-21

*Los pines I2C pueden variar dependiendo de la versión de la placa que esté utilizando amablemente ver la hoja de datos respectiva para obtener más detalles.

Tenga en cuenta que algunos de los tableros pueden tener más de una SDA, SCL pines, en tal caso, puede usar cualquiera de ellos según sus requisitos y disponibilidad. También es bueno referirse a la documentación oficial de la junta que está utilizando, para confirmar el pinout i2c.

Conectando dos tableros Arduino usando I2C como maestro y esclavo

Para establecer la comunicación I2C entre dos tableros Arduino, el SDA y SCL Los pines de ambos tableros deben estar conectados y compartir un terreno común. La comunicación se puede lograr mediante el uso de la biblioteca de cables incorporados en Arduino que contiene funciones para configurar y comunicarse en el bus I2C.

Esquemático

La imagen a continuación muestra dos tableros Arduino Uno conectados en Maestro-esclavo configuración:

Para conectar Arduino Uno con Arduino Nano usando el protocolo de esclavos maestro I2C, siga la siguiente configuración:

Arduino Mega Connection con Arduino Uno usando I2C:

Conclusión

Los tableros Arduino se pueden configurar para comunicarse entre sí usando I2C conectando los pines SDA y SCL y configurando las tablas como maestro y esclavo usando la biblioteca de cables en Arduino. Esto permite una comunicación eficiente y fácil entre múltiples dispositivos en cualquier proyecto basado en Arduino.