jueves, 12 de marzo de 2026

FORMATIVE ACTIVITY 6 WHILE LOOP

CODE

#include <DHT.h> // Sintaxis estándar para librerías instaladas en el sistema
// Definición de pines y tipo de sensor
#define DHTPIN 4    
#define DHTTYPE DHT22
#define BUZZER 18    

// Inicialización del sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
  pinMode(BUZZER, OUTPUT);
  Serial.println("Detective de Bucles: Sistema Activo");
}

void loop() {
  // 1. Lectura de los valores
  float t = dht.readTemperature();
  float h = dht.readHumidity();

  // Verificación de error en lectura
  if (isnan(t) || isnan(h)) {
    Serial.println("Error al leer el sensor DHT!");
    delay(1000);
    return;
  }

  // 2. EL BUCLE WHILE
  // Se activa si temperatura > 30 O humedad < 30
  while (t > 30 || h < 30) {
   
    // EL CUERPO: La alarma suena
    Serial.println("¡ALERTA! Condición crítica.");
    tone(BUZZER, 1000);
    delay(500);
    noTone(BUZZER);
    delay(500);

    // EL CAMBIO: Indispensable para salir del bucle
    t = dht.readTemperature();
    h = dht.readHumidity();
  }
 
  delay(1000);

} 

CONNECTION  TABLE

ComponentePin en ComponentePin en ESP32
DHT22VCC3.3V
DHT22SDA4
DHT22GNDGND
Buzzer(+) Pin18
Buzzer(-) PinGND

No hay comentarios:

Publicar un comentario