5.4 Sistema di rilevamento della pioggia

5.4.1 Sensore di vapore

cou41

Il sensore di vapore rileva la presenza di acqua, quindi è solitamente utilizzato nel rilevamento della pioggia. Se la pioggia colpisce i pad conduttivi sul sensore, invierà un segnale alla scheda Arduino.

couy41

Parametri:

  • Tensione: 3~5V

  • Corrente: 1.5mA

  • Potenza: 7.5mW

Aprire il codice 5.4.1Alarm-System con Arduino IDE.

#define SteamPin 35   //Define the steam sensor pin to 35

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

void loop() {
  //Read the value of steam sensor
  int ReadValue = analogRead(SteamPin);
  Serial.print("Steam Value: ");
  Serial.println(ReadValue);
  delay(500);
}

Scegliere la scheda ESP32 Dev Module e la porta COM, quindi caricare il codice.

5458448

Risultato del test:

Toccare l’area di rilevamento con il dito. Maggiore è l’area toccata, maggiore sarà il valore.

È possibile aprire il monitor seriale per osservare il valore attualmente rilevato (intervallo: 0~4095).

image-20250417131110395

5.4.2 Sistema di rilevamento dell’acqua piovana

Aprire il codice 5.4.2Rainwater-Detection-System con Arduino IDE

#define SteamPin 35   //Define pins
#define BuzzerPin 16

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

void loop() {
  //Read the value of steam sensor
  int ReadValue = analogRead(SteamPin);
  Serial.print("Steam Value: ");
  Serial.println(ReadValue);
  //Determine whether the detected value is within 800~2000
  if(ReadValue >= 800 && 2000 > ReadValue){
    //Execute for 3 times
    for (int i = 0; i < 3; i++) {
      tone(BuzzerPin,200);
      delay(100);
      noTone(BuzzerPin);
      delay(100);
    }
  }
  //Determine whether the detected value is within 2000~4000
  else if (ReadValue >= 2000 && 4000 >= ReadValue) {
    for (int i = 0; i < 3; i++) {
      tone(BuzzerPin,400);
      delay(100);
      noTone(BuzzerPin);
      delay(100);
    }
  }
  //Determine whether the detected value is greater than 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);
}

Scegliere la scheda ESP32 Dev Module e la porta COM, quindi caricare il codice.

5458448

Risultato del test:

Maggiore è il valore rilevato dal sensore di vapore, più forte sarà il suono emesso dal buzzer.

flo4