#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Configuración del LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C 0x27, 16 columnas y 2 filas
// Pines
const int lm35Pin = A0; // Pin del sensor LM35
const int buzzerPin = 8; // Pin del buzzer
// Umbral de temperatura (en grados Celsius)
const float tempThreshold = 30.0;
void setup() {
// Inicializar el LCD
lcd.begin();
lcd.backlight();
lcd.print("Temperatura:");
// Configurar el pin del buzzer como salida
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// Leer el valor analógico del sensor LM35
int sensorValue = analogRead(lm35Pin);
// Convertir el valor analógico a temperatura en grados Celsius
float temperature = (sensorValue * 5.0 / 1023.0) * 100.0;
// Mostrar la temperatura en el LCD
lcd.setCursor(0, 1);
lcd.print(temperature);
lcd.print(" C ");
// Verificar si la temperatura supera el umbral
if (temperature > tempThreshold) {
// Activar el buzzer
digitalWrite(buzzerPin, HIGH);
lcd.setCursor(0, 1);
lcd.print("ALERTA! ");
} else {
// Apagar el buzzer
digitalWrite(buzzerPin, LOW);
}
// Esperar un momento antes de la siguiente lectura
delay(500);
}