はじめに
Raspberry Pi Picoとレインセンサーを使用して雨滴を検知し、アラートを出す方法を紹介します。また、レインセンサーの動作原理についても説明し、実際のMicroPythonのコードも作ってみました。
レインセンサーの仕組み
レインセンサーは主に以下の2つの部分で構成されています。
雨検知プレート
プレートには導電性のパターンが配置されており、乾燥しているときは回路が開いた状態になります。水滴がプレートに付着すると、導電性が向上し、回路が閉じることで抵抗値が変化します
制御モジュール
センサーの信号を処理し、デジタルおよびアナログ出力を提供します。デジタル出力は、抵抗が一定のしきい値を下回ったときにトリガーされ、アナログ出力は検知された水の量に応じて変化する電圧を出力します。
配線
アナログ出力(AO)はラズベリーパイのアナログGPIOに接続してください。
RaspberryPi Pico | レインセンサ |
VSYS(39番) | VCC |
GND(38番) | GND |
GP0(1番) | DO |
GP26(31番) | AO |
タッチセンサをつかってLEDを操作する
水滴を検知すると、It is rainingという文字を出します。乾燥状態でIt is not raining…と表示されるように抵抗値を調整してください。
from machine import Pin, ADC
from time import sleep
water_sensor_DO = Pin(0, Pin.IN)
water_sensor_ADC = ADC(0) # GPI26
while True:
if water_sensor_DO.value() == 0:
print("It is raining: {}".format(water_sensor_ADC.read_u16()))
sleep(0.5)
else:
print("It is not raining...")
sleep(0.5)
まとめ
応用すると以下も可能です。
・アラートのトリガー ブザーやLEDを接続して、雨の検知時に通知を出す
・データの記録 センサーの読み取り値をファイルに保存したり、クラウドに送信する
・スマート連携 ホームオートメーションシステムと連携し、雨が降った際に窓を自動で閉じる
工夫次第で色々なことができると思います。ぜひ一度試してみてください。
コメント