// Importa la librería LiquidCrystal
#include <LiquidCrystal.h>
// Crea un objeto LiquidCrystal para el display LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
// Configura los pines del sensor de temperatura y relé del calentador
int sensorTempPin = A0;
int releCalentadorPin = 6;
// Configura los pines del sensor de presión y relé de la bomba de agua
int sensorPresionPin = A1;
int releBombaPin = 7;
// Variables para almacenar los valores de los sensores
int tempValue = 0;
int presionValue = 0;
// Variables para almacenar los valores deseados de temperatura y presión
int tempDeseada = 120;
int presionDeseada = 15;
void setup() {
// Configura el número de columnas y filas del display
lcd.begin(16, 2);
// Configura los pines del relé del calentador y de la bomba de agua como salidas
pinMode(releCalentadorPin, OUTPUT);
pinMode(releBombaPin, OUTPUT);
}
void loop() {
// Lee el valor del sensor de temperatura y convierte la lectura a grados Celsius
tempValue = analogRead(sensorTempPin);
float tempCelsius = (5.0 * tempValue * 100.0) / 1024.0;
// Lee el valor del sensor de presión
presionValue = analogRead(sensorPresionPin);
// Muestra los valores de temperatura y presión en el display LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(tempCelsius);
lcd.print(" C ");
lcd.setCursor(0, 1);
lcd.print("Presion: ");
lcd.print(presionValue);
lcd.print(" PSI");
// Si la temperatura es menor que la deseada, activa el calentador
if (tempCelsius < tempDeseada) {
digitalWrite(releCalentadorPin, HIGH);
} else {
digitalWrite(releCalentadorPin, LOW);
}
// Si la presión es menor que la deseada, activa la bomba de agua
if (presionValue < presionDeseada) {
digitalWrite(releBombaPin, HIGH);
} else {
digitalWrite(releBombaPin, LOW);
}
}