5.4 Sistema de Detección de Lluvia

5.4.1 Sensor de Vapor

cou41

El sensor de vapor detecta la presencia de agua, por lo que se utiliza habitualmente en la detección de lluvia. Si la lluvia golpea las almohadillas conductoras del sensor, enviará una señal a la placa Arduino.

couy41

Parámetros:

  • Voltaje: 3~5V

  • Corriente: 1.5mA

  • Potencia: 7.5mW

Abre el código 5.4.1Alarm-System con Arduino IDE.

#define SteamPin 35   //Define el pin del sensor de vapor a 35

void setup() {
  Serial.begin(9600);
  pinMode(SteamPin,INPUT);
}

void loop() {
  //Lee el valor del sensor de vapor
  int ReadValue = analogRead(SteamPin);
  Serial.print("Steam Value: ");
  Serial.println(ReadValue);
  delay(500);
}

Elige la placa ESP32 Dev Module y el puerto COM, y sube el código.

5458448

Resultado de la prueba:

Toca el área de detección con tu dedo. Cuanto mayor sea el área que toques, mayor será el valor.

Puedes abrir el monitor serie para observar el valor detectado actualmente (rango: 0~4095).

image-20250417131110395

5.4.2 Sistema de Detección de Agua de Lluvia

Abre el código 5.4.2Rainwater-Detection-System con Arduino IDE

#define SteamPin 35   //Define los pines
#define BuzzerPin 16

void setup() {
  Serial.begin(9600);
  pinMode(SteamPin,INPUT);
  pinMode(BuzzerPin,OUTPUT);
}

void loop() {
  //Lee el valor del sensor de vapor
  int ReadValue = analogRead(SteamPin);
  Serial.print("Steam Value: ");
  Serial.println(ReadValue);
  //Determina si el valor detectado está entre 800~2000
  if(ReadValue >= 800 && 2000 > ReadValue){
    //Ejecuta 3 veces
    for (int i = 0; i < 3; i++) {
      tone(BuzzerPin,200);
      delay(100);
      noTone(BuzzerPin);
      delay(100);
    }
  }
  //Determina si el valor detectado está entre 2000~4000
  else if (ReadValue >= 2000 && 4000 >= ReadValue) {
    for (int i = 0; i < 3; i++) {
      tone(BuzzerPin,400);
      delay(100);
      noTone(BuzzerPin);
      delay(100);
    }
  }
  //Determina si el valor detectado es mayor que 4000
  else if (ReadValue > 4000) {
    for (int i = 0; i < 3; i++) {
      tone(BuzzerPin,600);
      delay(100);
      noTone(BuzzerPin);
      delay(100);
    }
  }
  noTone(BuzzerPin);
  delay(500);
}

Elige la placa ESP32 Dev Module y el puerto COM, y sube el código.

5458448

Resultado de la prueba:

Cuanto mayor sea el valor detectado por el sensor de vapor, más fuerte será el sonido emitido por el zumbador.

flo4