### 5.4 Regen detectiesysteem #### 5.4.1 Stoom sensor ![cou41](../media/cou41.png) De stoom sensor detecteert de aanwezigheid van water, dus wordt deze meestal gebruikt bij regendetectie. Als de regen de geleidende pads op de sensor raakt, stuurt deze een signaal naar het Arduino-bord. ![couy41](../media/couy41.png) **Parameters**: - Spanning: 3~5V - Stroom: 1.5mA - Vermogen: 7.5mW Open de **5.4.1Alarm-System** code met 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); } ``` Kies het **ESP32 Dev Module** bord en de **COM** poort, en upload de code. ![5458448](../media/5458448.png) **Testresultaat:** Raak het detectiegebied aan met uw vinger. Hoe groter het gebied dat u aanraakt, hoe groter de waarde zal zijn. U kunt de seriƫle monitor openen om de momenteel gedetecteerde waarde te observeren (bereik: 0~4095). ![image-20250417131110395](../media/image-20250417131110395.png) #### 5.4.2 Regenwater detectiesysteem Open de **5.4.2Rainwater-Detection-System** code met 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); } ``` Kies het **ESP32 Dev Module** bord en de **COM** poort, en upload de code. ![5458448](../media/5458448.png) **Testresultaat:** Hoe groter de gedetecteerde waarde van de stoom sensor is, hoe luider het geluid dat de zoemer produceert zal zijn. ![flo4](../media/flo4.png)