Introdução à Comunicação I2C
A comunicação I2C (Inter-Integrated Circuit) é um protocolo amplamente utilizado para conectar microcontroladores, sensores, displays, e outros periféricos em sistemas embarcados. Desenvolvido pela Philips na década de 1980, o I2C tornou-se popular devido à sua simplicidade e eficiência na troca de dados entre múltiplos dispositivos com apenas dois fios.
No barramento I2C, existem dois sinais principais: SDA (Serial Data Line) e SCL (Serial Clock Line). O SDA é responsável pela transferência de dados, enquanto o SCL fornece o sinal de clock que sincroniza a comunicação entre os dispositivos. Os dispositivos conectados ao barramento I2C são identificados por um endereço único de 7 bits ou 10 bits, permitindo que múltiplos dispositivos compartilhem o mesmo barramento sem conflito.
A comunicação I2C segue um modelo mestre-escravo, onde o dispositivo mestre (geralmente um microcontrolador) controla o barramento e inicia a comunicação, enquanto os dispositivos escravos respondem aos comandos enviados pelo mestre. Durante a operação, o mestre envia o endereço do escravo com quem deseja se comunicar, seguido de um bit de leitura ou escrita, e então os dados são trocados entre o mestre e o escravo.
Uma das vantagens do I2C é a capacidade de conectar vários dispositivos com apenas dois fios, simplificando o design do circuito. Além disso, o protocolo suporta velocidades de comunicação que variam de 100 kHz a 3,4 MHz, dependendo das necessidades do projeto.
Na BitDogLab, dois conectores I2C (tipo fêmea) estão dispostos no parte superior da placa.

Estes conectores podem ser usados com inúmeros módulos! Por exemplo:
- sensores de luz;
- sensores de temperatura, umidade e pressão atmosférica;
- sensores de distância ou proximidade;
- acelerômetros e giroscópios;
- expansores de entradas e saídas lógicas;
- expansores de canais PWM;
- e diversos outros módulos que requerem uma troca de dados de forma eficiente e organizada!
⚙ Para mais detalhes, leia o apêndice A!
Estes periféricos devem ser conectados por cabos que possuem na sua extremidade conectores (tipo macho) JST XH com 4 pinos e espaçamento 2,54mm. O detalhamento da posição de cada pino no conector é mostrado a seguir:

O cabo com o conector JST XH 2,54 mm 4 pinos é mostrado a seguir:

Compreender o funcionamento básico do I2C permitirá que você amplie as capacidades da BitDogLab, integrando diversos periféricos ao seu projeto de maneira fácil e prática.
O protocolo de comunicação I2C é muito útil tanto para receber quanto para enviar dados. Com isso em mente, quando se fala de módulos e circuitos integrados, pode-se fazer a seguinte divisão:
- Quando um módulo lê um sinal ou ação física e converte ele em um sinal elétrico, ele denomina-se sensor;
- Em contrapartida, quando um módulo recebe um sinal elétrico e o converte em uma ação física, ele denomina-se atuador.
Nos próximos dois capítulos, vamos explorar esses dois tipos de módulo um pouco mais a fundo, sempre com o protocolo de comunicação I2C em mente.
