#include <OneWire.h>
#include <DallasTemperature.h>
#include <U8g2lib.h>
// Pines del sensor y pantalla
#define ONE_WIRE_BUS 10
// Inicializar el sensor
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensor(&oneWire);
// Inicializar la pantalla (ajusta tu modelo si es diferente)
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);
//U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
void setup() {
Serial.begin(9600);
sensor.begin();
u8g2.begin();
}
void loop() {
sensor.requestTemperatures();
float temperatura = sensor.getTempCByIndex(0);
// Convertir el float a String y luego a char array
String tempString = String(temperatura, 2); // 2 decimales
char tempChar[10]; // Suficiente espacio para el número
tempString.toCharArray(tempChar, 10);
// Mostrar en la pantalla
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_ncenB08_tr); // Puedes cambiar la fuente
u8g2.drawStr(0, 20, "Temp:");
u8g2.drawStr(50, 20, tempChar);
u8g2.sendBuffer();
delay(1000);
}
Loading
ds18b20
ds18b20