### 5.4 Regenmeldesystem #### 5.4.1 Dampfsensor ![cou41](../media/cou41.png) Der Dampfsensor erkennt das Vorhandensein von Wasser und wird daher üblicherweise zur Regenmeldung eingesetzt. Wenn der Regen auf die leitfähigen Pads des Sensors trifft, sendet dieser ein Signal an das Arduino-Board. ![couy41](../media/couy41.png) **Parameter**: - Spannung: 3~5V - Strom: 1.5mA - Leistung: 7.5mW Öffnen Sie den Code **5.4.1Alarm-System** mit Arduino IDE. ```c #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); } ``` Wählen Sie das Board **ESP32 Dev Module** und den **COM**-Port aus und laden Sie den Code hoch. ![5458448](../media/5458448.png) **Testergebnis:** Berühren Sie den Erfassungsbereich mit Ihrem Finger. Je größer der berührte Bereich ist, desto größer ist der Wert. Sie können den seriellen Monitor öffnen, um den aktuell erfassten Wert (Bereich: 0~4095) zu beobachten. ![image-20250417131110395](../media/image-20250417131110395.png) #### 5.4.2 Regenwasser-Erkennungssystem Öffnen Sie den Code **5.4.2Rainwater-Detection-System** mit Arduino IDE ```c #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); } ``` Wählen Sie das Board **ESP32 Dev Module** und den **COM**-Port aus und laden Sie den Code hoch. ![5458448](../media/5458448.png) **Testergebnis:** Je größer der erfasste Wert des Dampfsensors ist, desto lauter ist der vom Summer abgegebene Ton. ![flo4](../media/flo4.png)