#include "pico/stdlib.h"
#include "hardware/i2c.h"
#include "ssd1306.h"
#define BOTAO_PIN 2
#define I2C_PORT i2c0
#define SDA_PIN 0 // Pino SDA configurado no Wokwi
#define SCL_PIN 1 // Pino SCL configurado no Wokwi
int main() {
// Inicializa UART para depuração
stdio_init_all();
// Configuração do botão
gpio_init(BOTAO_PIN);
gpio_set_dir(BOTAO_PIN, GPIO_IN);
gpio_pull_up(BOTAO_PIN); // Ativa pull-up interno
// Inicializa o I2C
i2c_init(I2C_PORT, 400 * 1000); // Configura I2C para 400 kHz
gpio_set_function(SDA_PIN, GPIO_FUNC_I2C);
gpio_set_function(SCL_PIN, GPIO_FUNC_I2C);
gpio_pull_up(SDA_PIN);
gpio_pull_up(SCL_PIN);
// Inicializa o display OLED
ssd1306_init(I2C_PORT);
ssd1306_clear();
while (1) {
ssd1306_clear(); // Limpa o display
if (gpio_get(BOTAO_PIN) == 0) { // Verifica se o botão está pressionado
ssd1306_draw_string(0, 0, "Pressionado", true); // Escreve "Oi" no display
} else {
ssd1306_draw_string(0, 0, "Solto", true); // Escreve "Oie" no display
}
ssd1306_update(I2C_PORT); // Atualiza o display
sleep_ms(100); // Pequeno delay para evitar mudanças muito rápidas
}
return 0;
}