読者です 読者をやめる 読者になる 読者になる

Espruino 人感センサーで動きを検知してみる

Espruino Advent Calender 14日目です。

なんとなく人感センサーが好きです。焦電素子で生き物の動きを検知。自動ドアとかで使われているやつです。
回路も単純でいかにもセンサー使ったっぽくなるので電気回路初心者のボクでも動かしやすいわけで、今回はEspruinoで人感センサーを使って動きを検知してみます。

基本的にはこちらのCode Exampleそのまんまです。人感センサーもここに載ってるのと同じやつを使います。

人体感知センサーモジュール HC-SR501

配線はこんな感じ

f:id:bathtimefish:20141214160833j:plain

まず黒いワイヤをEspruinoのGNDピンに挿します。次に赤いワイヤをBatピン、緑のワイヤをA1ピンに挿します。

f:id:bathtimefish:20141214155355j:plain

そして黒いワイヤを人感センサーの左端のピン(GND)に、緑のワイヤを真ん中のピン(OUT)、赤いワイヤを右端のピン(VCC)に挿します。
これで配線は完了です。

Javascriptソースコードは以下です。

setWatch()関数を使って焦電センサーの状態を監視します。
動きが検知されるとsetWatch内のコールバックが呼ばれLED2(緑LED)が点灯する仕組みです。
setTimeoutで3秒後にLED2を消灯します。

f:id:bathtimefish:20141214154006j:plain

setWatch() はEspruino独自の関数で setInterval(callback, 0) みたいな動きをする関数ですが、オプションで監視の繰り返しや監視する電圧状態の指定、監視間隔が指定できるのでセンサーの監視に特化してるみたいです。

玄関に人が来たらアラームがなるやつとか、Espruinoで普通に作れそうでおもしろいです。