stylesheet

2017-08-17

FC-37 Rain Sensor をテスト

FC-37 (YL-38)は安価な雨滴センサーモジュール。 アナログ出力、デジタル出力に対応。

センサー基板、制御基板、ケーブルのセット品。感度調整用の半固定抵抗、電源LED、検出LEDを装備。

セットアップ

動作確認用にアナログ出力の値を確認できるものを作る。

以下を用意。

  • FC-37 (YL-38) 雨滴センサーモジュール
  • TM1637 デジタルチューブ
  • Arduino Nano

YL-38のAOをA5と接続。TM1637のDIO、CLKはそれぞれD11、D12に接続。VCCは5Vを使用、GNDをショート。

コード

完全版はGitHubから。
TM1637の制御にDigitalTube librariesを使用。

#include <Arduino.h>
#include <TM1637.h>

const int CLK = 12;
const int DIO = 11;
const int AO = A5;
const int OFF = 0x7E;

TM1637 tm1637(CLK,DIO);

int current = 0;
int8_t DispData[4] = {OFF, OFF, OFF, 0x00};

void display()
{
  int value = current > 9999 ? 9999 : current;
  for (int i=0; i<4; i++) {
    if (value == 0) {
      DispData[3-i] = i == 0 ? 0 : OFF;
    } else {
      DispData[3-i] = value % 10;
      value /= 10;
    }
  }
  tm1637.display(DispData);
}

void setup()
{
  Serial.begin(9600);

  tm1637.init();
  tm1637.set(BRIGHT_TYPICAL);
  display();
  pinMode(AO, INPUT);
}

void loop()
{
  int value = analogRead(AO);
  if (current != value) {
    current = value;
    display();
  }
  delay(500);
}

結果

水蒸気程度では反応なし。水滴がセンサー板にかからないと駄目なので、雨センサーとしてはONになった時点で既に手遅れな可能性大。水漏れ警報器としての使用が適当か。

これをトイレに設置、おしっこをかけると消臭しつつ自動で流してくれるようなものを作るといいかもしれない。

いや、猫の話ですよ。