潜入する映画か何かで、侵入者を感知するレーザーセキュリティーシステムを見たことがあります。
意外と作り方は簡単なので、obnizで作りました。
遮断すると携帯にバイブで通知
レーザー照射装置(左)と、レーザー受光装置(右)の間を遮ると、スマホがブルブルするシステムです。
映像だと振動が分からないので、スマホ画面を赤くするプログラムも追記しました。
クラウド経由なので、スマホがインターネットにつながれば、世界中どこでもレーザーの遮断(侵入)を知ることができます。
レーザー照射装置を作ろう
まずは、レーザーを照射する装置を作ります。
レーザーの照準を狙いやすいよう、台を3Dプリンターで作っています。
回路は簡単で、単4電池ボックスにレーザーモジュールを付けただけです。
電池ボックスに、導線をはんだ付けしました。
ここまでしてレーザー照射装置を作らずに、単にレーザーポインターを買えばいいような気もします・・・。
受光装置を作ろう
受光側にobnizが登場です。
CdSセルのついている光センサーモジュール(どこで購入したか不明)を、0~2番ピンに挿します。
0番・・・GND(-)
1番・・・5V
2番・・・入力(S)
と、しています。
そして、下記のコードをobnizの開発者コンソールなど、実行できる環境に記述しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
obniz.onconnect = async function () { obniz.io0.output(false); obniz.io1.output(true); obniz.io2.input(function(value){ console.log("value is " + value); if(value){ navigator.vibrate(3000); $("body").css("background-color","#F00"); }else{ navigator.vibrate(0); $("body").css("background-color","#FFF"); } }); } |
今回使った光センサーモジュールは、レーザー光を受けていない状態の時、SのピンがHigh(true)になります。
つまり、レーザーを遮断して2番ピン(io2)がtrueになったとき、JavaScriptのVibration APIを使い、端末をバイブレーションさせています。
スマホから実行しよう
バイブレーションするプログラムなので、PCは基本的に非対応です。スマホから実行します。
レーザーを受光装置のCdSセルに当てて、遮断を試しましょう。
レーザーを遮断するたびに、スマホが振動します。
タイムラグはあまりないですが、完全にリアルタイムとはいきません。
クラウド経由で動いているので、通信環境も影響するでしょう。
遠くから遮断を感知したいなどの要件でなければ、インターネットにつなぐ必要がないので、obnizではなく、Arduinoを使う選択肢もあると思います。
私の利用用途はマイナーですが・・・ボッチャでラインを踏む反則を、スマホの振動で感知する仕組みを簡単に作りたかったのでobnizを選びました。
ボッチャでのレーザー遮断センサー利用についても、また後日、詳細を記載します。