#include <Wire.h> //LIBRERIA DEL SENSOR
#include <LiquidCrystal_I2C.h> // LIBRERIA DEL DISPLAY
#include <OneWire.h> // LIBRERIA DE POTENCIOMETRO
#include <DallasTemperature.h> // LIBRERIA DE NTC
// Configuración del DE LA PANTALLA
LiquidCrystal_I2C lcd(0x27, 20, 4); // Dimenciones modelo especifico
// Configuración del DS18B20
#define SENSORDS 17 // definicion del puerto del SENSOR DS18B20
OneWire oneWire(SENSORDS);
DallasTemperature sensors(&oneWire);
// Pines del potenciometro y NTC
#define POTENCIOMETRO 34
#define SENntc 32
void setup() {
Serial.begin(115200);
lcd.begin();
lcd.backlight();
sensors.begin();
}
void loop() {
// Leer el valor del potenciómetro
int potValue = analogRead(Potenciometro);
float potVoltage = (potValue / 4095.0) * 3.3;
// Leer el valor del sensor NTC
int ntcValue = analogRead(SENntc);
float ntcVoltage = (ntcValue / 4095.0) * 3.3;
// Leer el sensor DS18B20
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
// Mostrar valores en la pantalla
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Pot: ");
lcd.print(potVoltage, 2);
lcd.print(" V");
lcd.setCursor(0, 1);
lcd.print("NTC: ");
lcd.print(ntcVoltage, 2);
lcd.print(" V");
lcd.setCursor(0, 2);
lcd.print("Temp: ");
lcd.print(temperatureC);
lcd.print(" C");
// Llamar a las subfunciones para leer sensores
float potVoltage = leerPotenciometro();
float ntcVoltage = leerNTC();
float temperatureC = leerDS18B20();
// Llamar a la subfunción para actualizar la pantalla
actualizarLCD(potVoltage, ntcVoltage, temperatureC);
delay(2000); // Actualizar cada 2 segundos
}