Raspberry Piで人体感知センサー(HC-SR501)を使う

Raspberry Pi


アニメ『ガーリッシュ ナンバー』(2016)

主人公の烏丸千歳がものすごくクズです。頑張っていないのに、何もしていない認識がなく、運だけで声優の主役に抜擢されたのに、実力だと思ってる。

自分の実力を知らず、成功する夢ばかり見てる。周囲には頑張る人がいるのに、なぜそんなことするんだろう、と思ってる。

自分が正しい思ってるから、「この業界はおかしい」と謙虚さがない。

失敗し続ける人の言い訳って、いつも「問題のすり替え」なんです。

きっと、このだめだめ主人公が、最後は成功するストーリーなのかもしれませんが、頑張ってない人が成功するのは悔しいので、一度落ちてから、悩みぬいて反省した後、成功してほしいなあと思います。

頑張ってないといえば、私もきっとそうです。
コマンドライン熱はもちろん冷めることはなく、気持ちは常に高みにあるのですが、時々睡魔がやってきます。

キーボードに手を置いたまま寝ちゃってるんです。

まるで魔法のように!

断続的な睡眠を効率よくとって、起きてる時間を長くすれば、きっといろいろなことができます。嗚呼、もったいない!

いったいどれだけ寝ているのでしょう。
人体感知センサーを自分に向けて、計測してみます。

使うセンサーはこれです。
sleepy-001
(HC-SR501)

白いキャップを取るとこのようになっています。
sleepy-002

配線します。赤が5V、黒がGND、黄色が人体感知センサーのHi出力3.3V(Loは0V)です。
sleepy-003

ラズパイのGPIO入力は、図の黄色の線を、12番(GPIO.26)に接続しています。
sleepy-004
そして、三脚を使って、自分へセンサーを向けます。指先や頭の動きを検知するようにします。
sleepy-005
これでセッティング完了です。

では測定スクリプトを実行します。
感知センサーの前で、人が動いた時は、High出力(3.3V)つまり1が表示されます。
人が動いていない時は、LOW出力(0V)、0が表示されます。

このセンサーは、人体検知後、最低3秒間は、High(3.3V)出力されますので、3秒以内の居眠りはセーフです。

開始時刻を記録して、感知センサーの入力をモニタします。ちょっと眠いときに計測しました。

pi@raspberrypi:~$ date +%T
22:19:15
pi@raspberrypi:~$ while :;do gpio read 26 >> awake.txt;sleep 1;done

そろそろ止めます。

pi@raspberrypi:~$ while :;do gpio read 26 >> awake.txt;sleep 1;done
^C
pi@raspberrypi:~$ date +%T
22:36:19
pi@raspberrypi:~$ sort awake.txt | uniq -c
    277 0
    722 1

0が検知していない時間、つまり私がの動きが止まっている時間。
1が検知している時間、キーボードを叩く指がピコピコ動いている時間です。

たった17分ぐらいの間でしたが、 合計277秒間寝てました。

そして、277は素数です!。

まるで魔法のようです。(問題のすり替え)

コメント

タイトルとURLをコピーしました