Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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: