Para o projeto de efeito de olhos piscando com display OLED I2C no Arduino, as conexões são bem simples. O display OLED utiliza o protocolo I2C para comunicação, o que reduz a quantidade de pinos necessários para a conexão.
Passo a passo para as conexões:
VCC: Conecte o pino VCC do display OLED ao pino 5V do Arduino. Isso fornece a alimentação necessária para o display.
GND: Conecte o pino GND do display OLED ao pino GND do Arduino, completando o circuito de energia.
SCL: O pino SCL do display OLED deve ser conectado ao pino A5 (SCL) do Arduino, que é o pino de clock no protocolo I2C.
SDA: O pino SDA do display OLED deve ser conectado ao pino A4 (SDA) do Arduino, que é o pino de dados no protocolo I2C.
Código simples para o efeito de olhos piscando:
//------------------------------------------------------------
// ---------------- victor cunha -----------------------------
//------- exemplos basico de escrita no display oled I2C -----
//------------------------------------------------------------
//----------- Efeito de olhos piscando -----------------------
#include //INCLUSÃO DE BIBLIOTECA
#include //INCLUSÃO DE BIBLIOTECA
#include //INCLUSÃO DE BIBLIOTECA
Adafruit_SSD1306 display = Adafruit_SSD1306(); //OBJETO DO TIPO Adafruit_SSD1306
void setup() {
// Inicialize o display OLED
Wire.begin(); //INICIALIZA A BIBLIOTECA WIRE
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //INICIALIZA O DISPLAY COM ENDEREÇO I2C 0x3C
display.clearDisplay();
delay(100); // Mostra a tela de inicialização por 2 segundos
}
void loop() {
// pisca
for (int y = 30; y >15 ; y--){
display.clearDisplay();
display.fillRect(30, y, 25, 20, WHITE); // x, y, largura, altura // olho esquerdo
display.fillRect(70, y, 25, 20, WHITE); // x, y, largura, altura // Olho direito
display.display();
delay(1);
}
delay(2000);
for (int y = 15, x = 25; y < 30, x > 20 ; y++ , x--) {
display.clearDisplay();
display.fillRect(30, y, x, 18, WHITE); // x, y, largura, altura // esquerdo
display.fillRect(70, y, x, 18, WHITE); // x, y, largura, altura // direito
display.display();
delay(5);
}
}