I2C PINS de comunicação nas placas Arduino

I2C PINS de comunicação nas placas Arduino
I2C, ou circuito inter-integrado, é um protocolo de comunicação usado para conectar dispositivos a qualquer placa de microcontrolador Arduino e utiliza uma linha de dados compartilhada (SDA) e linha de relógio (SCL) para comunicação. A biblioteca de arame embutida no Arduino IDE permite fácil comunicação com dispositivos I2C através de funções de alto nível e suporta vários barramentos i2c.

Este artigo aborda:

  • O que é a comunicação i2c em Arduino
  • I2C pinos em Arduino Uno
  • I2C pinos em Arduino Mega
  • I2C pinos em Arduino Nano
  • Breve comparação dos pinos Arduino I2C
  • Conectando dois Arduino Board usando I2C como mestre e escravo
  • Conclusão

O que é a comunicação i2c em Arduino

Os pinos de comunicação I2C se referem às conexões específicas de pinos em uma placa Arduino que são usadas para se comunicar com os dispositivos I2C. Na maioria das placas Arduino, os pinos de comunicação I2C estão localizados nos pinos A4 e A5 e são rotulados por SDA (para dados) e SCL (para relógio), respectivamente.

Alguns destaques principais da comunicação I2C incluem:

Capacidade multi-mestre e multi-escravo: I2C suporta vários dispositivos mestre e vários dispositivos de escravos em um único barramento, permitindo comunicação entre vários dispositivos ao mesmo tempo.

Contagem baixa de pinos: I2C usa apenas duas linhas, SDA e SCL, para comunicação, que reduz o número de conexões necessárias e simplifica a fiação.

Dispositivos endereçáveis: Cada dispositivo I2C no barramento tem um endereço exclusivo, permitindo fácil identificação e comunicação com dispositivos específicos.

Alta velocidade: A especificação i2C suporta taxas de transferência de dados de até 3.4 Mbps, tornando-o adequado para aplicativos de transferência de dados de alta velocidade.

Economia de energia: I2C permite a comunicação de baixa potência entre os dispositivos, permitindo que os dispositivos sejam colocados em modos de baixa energia quando não se comunicando e acorde a pedido.

I2C pinos em Arduino Uno

Na comunicação I2C, duas linhas são utilizadas:

  • Linha de dados (SDA): Linha de dados para trocar dados entre dispositivos mestre e escravo.
  • Linha de relógio (SCL): Linha do relógio para sincronizar a comunicação I2C entre dispositivos.

O dispositivo mestre é responsável por controlar a linha do relógio e iniciar a comunicação, enquanto os dispositivos escravos são responsáveis ​​por responder aos pedidos do mestre.

I2C pinos em Arduino Mega

O Mega Arduino tem vários pinos de comunicação I2C. Esses pinos são:

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

Esses pinos podem ser usados ​​para conectar dispositivos I2C, como sensores ou outros microcontroladores.

I2C pinos em Arduino Nano

Os pinos I2C no Arduino Nano são A4 (SDA) e A5 (SCL), esses pinos podem ser usados ​​para se comunicar com dispositivos I2C, como sensores, displays LCD e outros microcontroladores. Para usar esses pinos, você precisará usar a biblioteca de arames, que está embutida no Arduino IDE:

É importante observar que os pinos I2C no Arduino Nano também podem ser usados ​​como pinos de E/S digital padrão se não estiverem sendo usados ​​para a comunicação I2C. No entanto, é importante garantir que a comunicação I2C esteja desativada ou parada antes de usar esses pinos como E/S digital, pois pode causar conflitos e erros.

Breve comparação dos pinos Arduino I2C

Aqui está uma lista de algumas placas populares do Arduino e seus pinos i2C correspondentes:

Quadro I2C pinos
Arduino Nano SDA-A4 | SCL-A5
Arduino Mega SDA-A4 | SCL-A5 e 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 devido SDA-20 | SCL-21
Arduino 101 SDA-20 | SCL-21

*Os pinos i2c podem variar dependendo de qual versão da placa você está usando gentilmente, consulte a respectiva folha de dados para obter mais detalhes.

Observe que algumas das placas podem ter mais de um SDA, SCL pinos, nesse caso, você pode usar qualquer um deles conforme sua exigência e disponibilidade. Também é bom se referir à documentação oficial do conselho que você está usando, para confirmar o pinato i2C.

Conectando dois Arduino Board usando I2C como mestre e escravo

Para estabelecer a comunicação I2C entre dois conselhos de Arduino, o SDA e SCL Os pinos de ambas as placas devem estar conectados e compartilhar um terreno comum. A comunicação pode ser alcançada usando a biblioteca de fios embutidos em Arduino, que contém funções para configurar e comunicar no barramento i2c.

Esquemático

Abaixo da imagem mostra duas placas de Arduino Uno conectadas em Senhor de escravos configuração:

Para conectar o Arduino Uno com o Arduino Nano usando o Protocolo de Escravo Mestre I2C, siga a configuração abaixo:

Mega conexão Arduino com Arduino Uno usando I2C:

Conclusão

As placas Arduino podem ser configuradas para se comunicar usando o I2C conectando os pinos SDA e SCL e configurando as placas como mestre e escravo usando a biblioteca de arame em Arduino. Isso permite uma comunicação eficiente e fácil entre vários dispositivos em qualquer projeto baseado em Arduino.