#include <Wire.h> //Biblioteca que permite comunicação I2C entre o microcontrolador (ESP32/ESP8266) e o display OLED.
#include <Adafruit_GFX.h> //Esta é uma biblioteca gráfica genérica fornecida pela Adafruit que oferece funções para desenhar formas, texto e outros elementos gráficos.
#include <Adafruit_SSD1306.h> //Biblioteca específica para controlar o display OLED com o controlador SSD1306.
#define LARGURA 128
#define ALTURA 64
Adafruit_SSD1306 display(LARGURA, ALTURA, &Wire, -1); //Cria um objeto chamado display da classe Adafruit_SSD1306 para controlar o OLED.
/*
Largura e altura: Define as dimensões do display (128x64 pixels).
&Wire: Define a interface de comunicação I2C.
-1: Este argumento é usado para indicar que não será usado nenhum pino de reset específico. O display será reinicializado via software.
*/
void setup()
{
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
/*
Inicializa o display OLED com os seguintes parâmetros:
SSD1306_SWITCHCAPVCC: Define que o display deve ser alimentado pela fonte de 3.3V do microcontrolador.
0x3C: Define o endereço I2C do display. No caso do SSD1306, o endereço geralmente é 0x3C ou 0x3D, dependendo da configuração do módulo.
*/
}
void loop()
{
tela1();
delay(500);
tela2();
delay(500);
tela3();
delay(500);
tela4();
delay(500);
}
void tela1()
{
display.clearDisplay(); //Limpa a tela
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(45,0);
display.println("Menu");
display.setCursor(0,15);
display.println("- LED 1");
display.setCursor(0,25);
display.println(" LED 2");
display.setCursor(0,35);
display.println(" LED 3");
display.setCursor(0,45);
display.println(" LED 4");
display.display();
}
void tela2()
{
display.clearDisplay(); //Limpa a tela
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(45,0);
display.println("Menu");
display.setCursor(0,15);
display.println(" LED 1");
display.setCursor(0,25);
display.println("- LED 2");
display.setCursor(0,35);
display.println(" LED 3");
display.setCursor(0,45);
display.println(" LED 4");
display.display();
}
void tela3()
{
display.clearDisplay(); //Limpa a tela
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(45,0);
display.println("Menu");
display.setCursor(0,15);
display.println(" LED 1");
display.setCursor(0,25);
display.println(" LED 2");
display.setCursor(0,35);
display.println("- LED 3");
display.setCursor(0,45);
display.println(" LED 4");
display.display();
}
void tela4()
{
display.clearDisplay(); //Limpa a tela
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(45,0);
display.println("Menu");
display.setCursor(0,15);
display.println(" LED 1");
display.setCursor(0,25);
display.println(" LED 2");
display.setCursor(0,35);
display.println(" LED 3");
display.setCursor(0,45);
display.println("- LED 4");
display.display();
}