#include <OneWire.h>
#include <DallasTemperature.h>
#include <U8g2lib.h>
#define ONE_WIRE_BUS 2 // Define o pino onde o sensor está conectado
#define OLED_SDA A4 // Define o pino SDA do display OLED
#define OLED_SCL A5 // Define o pino SCL do display OLED
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, OLED_SCL, OLED_SDA, U8X8_PIN_NONE);
void setup() {
u8g2.begin(); // Inicializa o display OLED
sensors.begin(); // Inicializa o sensor DS18B20
}
void loop() {
sensors.requestTemperatures(); // Solicita a leitura da temperatura
float temperatureC = sensors.getTempCByIndex(0); // Obtém a temperatura em Celsius
u8g2.firstPage(); // Inicia a página do display
do {
u8g2.setFont(u8g2_font_ncenB14_tr); // Define a fonte do texto
u8g2.setCursor(0, 30); // Define a posição do cursor
u8g2.print("Temperatura: "); // Imprime o texto
u8g2.print(temperatureC); // Imprime a temperatura
u8g2.print(" C"); // Imprime a unidade de temperatura
} while (u8g2.nextPage()); // Avança para a próxima página do display
delay(1000); // Aguarda 1 segundo antes de atualizar a temperatura
}