#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/i2c.h"
#include "lcd_i2c.h" // Inclua a biblioteca do LCD I2C
#define I2C_MASTER_SCL_IO 8 // Pino SCL
#define I2C_MASTER_SDA_IO 9 // Pino SDA
#define I2C_MASTER_NUM I2C_NUM_0
#define I2C_MASTER_FREQ_HZ 100000
#define LCD_ADDR 0x27 // Endereço I2C do LCD (pode variar)
void i2c_master_init(void) {
i2c_config_t conf;
conf.mode = I2C_MODE_MASTER;
conf.sda_io_num = I2C_MASTER_SDA_IO;
conf.sda_pullup_en = GPIO_PULLUP_ENABLE;
conf.scl_io_num = I2C_MASTER_SCL_IO;
conf.scl_pullup_en = GPIO_PULLUP_ENABLE;
conf.master.clk_speed = I2C_MASTER_FREQ_HZ;
i2c_param_config(I2C_MASTER_NUM, &conf);
i2c_driver_install(I2C_MASTER_NUM, conf.mode, 0, 0, 0);
}
void app_main(void) {
i2c_master_init(); // Inicializa o I2C
lcd_init(LCD_ADDR); // Inicializa o LCD
lcd_clear(); // Limpa o display
lcd_set_cursor(0, 0); // Define o cursor na primeira linha
lcd_print("Hello, ESP32!"); // Exibe mensagem
while (1) {
vTaskDelay(pdMS_TO_TICKS(1000)); // Aguarda 1 segundo
}
}