こんにちは! けい(Twitter)です。
たまたまネットサーフィンしていたら、「マイクロ波レーダーセンサー」なるものを見つけました。ラズパイでレーダーが使えるということで、少し興奮気味でぽちりました。
今回は、そのセンサーの紹介をしていきたいと思います。
目次
レーダーセンサー(RCWL-0516)
お値段なんと100円です。超安い。
外見はこのような感じになっています。
ピンヘッダは実装されていないので、自分ではんだ付けする必要があります。
見た目からして、アンテナのようなものが基板上に実装されています。
原理
マイクロ波ドップラーレーダー
このブログを見に来ている方は、ドップラー効果はご存じだと思います。
学校でドップラー効果を習ったときは「音」の波に対してでしたが、「電波」に対しても適用されるようです。
アンテナから遠ざかる物体にマイクロ波を照射させると反射波の波長が長くなり、逆に近づく物体に照射させると反射波の波長が短くなります。
この周波数の変化を検知するセンサーとなっております。
機能
- 供給電圧:4〜28 VDC(5 Vでテスト済み)
- 動作周波数:〜3.2 GHz
- 送信電力:20 mW(標準)/ 30 mW(最大)
- 検出距離:〜7 m
公式のデータシートが中国語なので、英語で出回っている情報を集めましたが、正確性は怪しいです。
ご了承ください。
ピン
CDS | 外付けフォト抵抗器 |
VIN | 4〜28 DC電源入力 |
OUT | HIGH(3.3V) モーション検出 / LOW(0V) 通常時 |
GND | アース(0V) |
3V3 | 3.3V電源出力 |
今回は、真ん中3つの[VIN/OUT/GND]を使用します。
通常であれば、この3つのピンだけで充分です。
OUTピン
OUTからは、モーションが検出されたときに3.3Vが出力され、検出されない通常時に0Vが出力されます。
デフォルトでは、2秒間HIGHが維持されるようです。
基板裏にチップコンデンサを取り付けると、維持する時間を変更することができるようです。
CDSピン
CDSは、光可変抵抗器と呼ばれるもので、光量によって抵抗値が変わる抵抗です。
↓こんなやつ
これをつければ、暗い時だけ、つまり夜間だけセンサーをオンにすることができます。
ラズパイと接続
今回は、レーダーセンサーがONになったとき、LEDが光るという単純なギミックを作ってみましょう。
これだけのギミックであればラズパイを使う必要がありませんが、LEDが光るという部分のプログラムを変えるだけで、沢山の面白いギミックを作ることができます。
回路図
黄色い基板をレーダーセンサーと見立ててください。
・GPIO5 <-> レーダーセンサーOUT
・GPIO6 <-> LEDの+
というように繋いています。
ここで注意することは、レーダーセンサーの入力Vinが4~28Vなので、ラズパイの5Vの電源ピンに繋ぐということです。
3.3Vのピンに繋ぐと、不安定な状態になります。
デモプログラム
上の回路図で動作するプログラムをpythonで作ってみました。
import pigpio
import time
GPIO_IN = 5
GPIO_OUT = 6
pi = pigpio.pi()
pi.set_mode(GPIO_IN, pigpio.INPUT)
pi.set_mode(GPIO_OUT, pigpio.OUTPUT)
pi.set_pull_up_down(GPIO_IN, pigpio.PUD_DOWN)
pi.write(GPIO_OUT, 0)
try:
while True:
DATA = pi.read(GPIO_IN)
print(DATA)
if DATA:
pi.write(GPIO_OUT, 1)
else:
pi.write(GPIO_OUT, 0)
time.sleep(1)
except KeyboardInterrupt:
pi.write(GPIO_OUT, 0)
pi.stop()
上のプログラムをコピペして「rader_test.py」という名前で保存してください。
$ sudo pigpiod
$ python3 rader_test.py
これらのコマンドをターミナルで入力することで、動作させることができます。
デモ動画
まとめ
今回はレーダーセンサーをラズパイで使ってみました。
人が通ることを検知してライトを点ける、とかの単純な用途の場合はラズパイを使う必要はなく、独立して動作させることもできます。
ではまた!