5.4 雨滴検知システム
5.4.1 蒸気センサー

蒸気センサーは水の存在を検知するため、通常は雨滴検知に使用されます。雨がセンサーの導電性パッドに当たると、Arduinoボードに信号を送ります。

パラメータ:
電圧: 3~5V
電流: 1.5mA
電力: 7.5mW
Arduino IDEで5.4.1Alarm-Systemコードを開きます。
#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);
}
ESP32 Dev ModuleボードとCOMポートを選択し、コードをアップロードします。

テスト結果:
検出領域を指で触れてください。触れた領域が広いほど、値は大きくなります。
シリアルモニターを開いて、現在検出されている値(範囲: 0~4095)を観察できます。

5.4.2 雨水検知システム
Arduino IDEで5.4.2Rainwater-Detection-Systemコードを開きます。
#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);
}
ESP32 Dev ModuleボードとCOMポートを選択し、コードをアップロードします。

テスト結果:
蒸気センサーの検出値が大きいほど、ブザーから発せられる音は大きくなります。
