Este artigo aborda:
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:
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:
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.