5.4 雨滴検知システム

5.4.1 蒸気センサー

cou41

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

couy41

パラメータ:

  • 電圧: 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ポートを選択し、コードをアップロードします。

5458448

テスト結果:

検出領域を指で触れてください。触れた領域が広いほど、値は大きくなります。

シリアルモニターを開いて、現在検出されている値(範囲: 0~4095)を観察できます。

image-20250417131110395

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ポートを選択し、コードをアップロードします。

5458448

テスト結果:

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

flo4