Este artículo cubre:
¿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:
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:
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.