este guia, vou levá-lo através dos passos para programar uma tela I2C e, além disso, mostrar como detectar seu endereço I2C. Se você já se perguntou como trazer suas ideias à vida usando uma tela OLED I2C e um Arduino, você está no lugar certo. Vamos começar?
1. Introdução ao I2C e Telas OLED
I2C, ou “Inter-Integrated Circuit”, é um protocolo de comunicação que permite a conexão de múltiplos dispositivos em um único conjunto de fios. As telas OLED I2C são populares devido à sua eficiência energética, alto contraste e capacidade de exibir informações gráficas e textuais.
2. Materiais Necessários
- Arduino (Uno, Mega, Nano, etc.)
- Tela OLED I2C
- Cabos jumper
- Protoboard (opcional)
3. Conexão dos Componentes
Conecte a tela OLED ao Arduino da seguinte maneira:
- VCC da tela -> 5V do Arduino
- GND da tela -> GND do Arduino
- SDA da tela -> Pin A4 (SDA) do Arduino
- SCL da tela -> Pin A5 (SCL) do Arduino
4. Localizando o Endereço I2C de Seus Dispositivos
Antes de começarmos a programar, é essencial saber o endereço I2C de seus dispositivos. Se você não tiver essa informação, pode usar o Arduino para descobri-la. O código para isso envia um “ping” para cada um dos 128 endereços I2C possíveis e verifica se há uma resposta. O endereço do dispositivo responderá, permitindo que você o identifique.
#include <Wire.h>
#define TEMPOLEITURA 100
#define TEMPOESPERA 3000
byte endereco;
byte codigoResultado=0;
byte dispositivosEncontrados=0;
void setup() {
Serial.begin(9600);
Wire.begin();
while (!Serial);
scanI2c();
}
void scanI2c(){
for (endereco=0; endereco<128; endereco++){
Wire.beginTransmission(endereco);
codigoResultado = Wire.endTransmission();
if (codigoResultado==0){
Serial.print ("Dispositivo I2c detectado no endereço: ");
Serial.println(endereco,HEX);
dispositivosEncontrados++;
delay(TEMPOESPERA);
}
delay(TEMPOLEITURA);
}
if (dispositivosEncontrados>0){
Serial.print("Foi encontrado um total de: ");
Serial.print(dispositivosEncontrados);
Serial.println(" dispositivos");
}
else{
Serial.println("Nenhum dispositivo foi encontrado !!!");
}
}
void loop() {
}
5. Programação da Tela I2C
a. Bibliotecas Necessárias
Antes de começar, você precisará instalar as bibliotecas Adafruit_GFX
e Adafruit_SSD1306
. Elas estão disponíveis no Gerenciador de Bibliotecas do Arduino IDE.
b. Código de Exemplo
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display = Adafruit_SSD1306();
void setup(){
Wire.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(WHITE);
display.setTextSize(1);
display.clearDisplay();
}
void loop() {
display.setCursor(20,10);
display.print("WJ Componentes");
display.display();
delay(500);
display.clearDisplay();
}
Conclusão
Programar uma tela I2C com Arduino é um processo simples e gratificante. Com a adição da funcionalidade de descoberta do endereço I2C, você está mais preparado do que nunca para trabalhar com uma variedade de dispositivos. Esperamos que este tutorial tenha sido útil e que você esteja tão animado quanto nós para criar projetos incríveis com sua tela OLED e Arduino. Lembre-se, a WJ Componentes está sempre aqui para ajudá-lo em sua jornada de eletrônica e robótica. Até a próxima!
Deixe um comentário