#include <DHT.h>
//==============================
// Definición de pines
//==============================
#define DHTPIN 15
#define DHTTYPE DHT22
#define LED_PIN 2
#define BUTTON_PIN 4
#define POT_PIN 34
// Crear objeto DHT
DHT dht(DHTPIN, DHTTYPE);
// Variables
bool maquinaEncendida = false;
bool ultimoEstadoBoton = HIGH;
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
digitalWrite(LED_PIN, LOW);
Serial.println("====================================");
Serial.println(" SISTEMA IoT - AUTOPARTS S.A.");
Serial.println("====================================");
}
void loop() {
// Lectura del botón
bool estadoBoton = digitalRead(BUTTON_PIN);
// Cambiar estado solo cuando se presiona
if (ultimoEstadoBoton == HIGH && estadoBoton == LOW) {
maquinaEncendida = !maquinaEncendida;
if (maquinaEncendida) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
delay(300); // Antirrebote
}
ultimoEstadoBoton = estadoBoton;
// Lectura del DHT22
float temperatura = dht.readTemperature();
float humedad = dht.readHumidity();
// Lectura del potenciómetro
int pot = analogRead(POT_PIN);
// Simulación de temperatura del molde
float tempMolde = map(pot, 0, 4095, 20, 80);
Serial.println("--------------------------------");
Serial.print("Temperatura Ambiente: ");
Serial.print(temperatura);
Serial.println(" °C");
Serial.print("Humedad: ");
Serial.print(humedad);
Serial.println(" %");
Serial.print("Temperatura del Molde: ");
Serial.print(tempMolde);
Serial.println(" °C");
if (maquinaEncendida) {
Serial.println("Estado de la maquina: ENCENDIDA");
} else {
Serial.println("Estado de la maquina: APAGADA");
}
if (tempMolde > 60) {
Serial.println("ALERTA: Temperatura alta.");
}
delay(500);
}