Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Implementar Comunicação I2C com Arduino

A comunicação I2C (Inter-Integrated Circuit) é um protocolo de comunicação serial que permite a conexão de múltiplos dispositivos em um barramento de dois fios. É amplamente utilizado em projetos com Arduino devido à sua simplicidade e eficiência para conectar sensores, displays e outros periféricos.


Exemplos:


1. Configuração Básica do I2C no Arduino:


Para começar, você precisará de dois dispositivos Arduino ou um Arduino e um sensor/dispositivo compatível com I2C. O Arduino Uno, por exemplo, utiliza os pinos A4 (SDA) e A5 (SCL) para comunicação I2C.


   // Código para Arduino como Mestre I2C
#include <Wire.h>

void setup() {
Wire.begin(); // Inicia o I2C como mestre
Serial.begin(9600);
}

void loop() {
Wire.beginTransmission(8); // Endereço do dispositivo escravo
Wire.write("Hello"); // Envia uma string
Wire.endTransmission(); // Termina a transmissão
delay(1000);
}

   // Código para Arduino como Escravo I2C
#include <Wire.h>

void setup() {
Wire.begin(8); // Endereço do dispositivo escravo
Wire.onReceive(receiveEvent); // Registra o evento de recebimento
Serial.begin(9600);
}

void loop() {
delay(100);
}

void receiveEvent(int howMany) {
while (Wire.available()) {
char c = Wire.read(); // Lê um byte
Serial.print(c);
}
Serial.println();
}

2. Conectando um Sensor I2C:


Vamos conectar um sensor de temperatura e umidade DHT12, que se comunica via I2C, ao Arduino.


   #include <Wire.h>
#include "DHT12\.h"

DHT12 dht12;

void setup() {
Wire.begin();
Serial.begin(9600);
}

void loop() {
dht12\.read();
Serial.print("Temperatura: ");
Serial.print(dht12\.cTemp);
Serial.print(" *C, Umidade: ");
Serial.print(dht12\.humidity);
Serial.println(" %");
delay(2000);
}

Certifique-se de conectar o SDA do sensor ao pino A4 do Arduino e o SCL ao pino A5.


3. Dicas de Solução de Problemas:



  • Verifique se os endereços I2C dos dispositivos estão corretos. Você pode usar um scanner I2C para identificar os endereços dos dispositivos conectados.

  • Assegure-se de que as resistências pull-up estão conectadas aos pinos SDA e SCL, se necessário.

  • Verifique as conexões físicas e a alimentação dos dispositivos.


To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.