下
上図のようにポストの下部にレーザーを取り付け、ポスト内側・上部のミラーで反射させ同じく下部に取り付けたセンサーで感知します。レーザーが自由に通ることができるよう、ポストの底部分のほか、手紙と小包の仕切り部分に小さな穴を開けておきます。
センサー部分は本体から離すことができるようになっているため、下の図のように本体を二つに切り離し、4つのワイヤで接続することができます。メールボックスにセンサ部分を取り付け、本体部分は実験室においておくことにしました。
安価でシンプルなレーザーを採用しましや。このように小さなレーザーは30ドル以下で購入できます。直径8mm、長さ12mmで3Vで動きます。残念ながらPOC-光センサは2.5V電源のため、POC-光センサから十分な電源供給はできません。ただし、メインボードは3.3Vほどあるため、レーザーに電源を供給するために5本目のワイヤを使いました。
図:レーザー(右の円筒形のもの)
エンクロージャーには時間節約のため、3Dプリンタを使いました。レーザーとPOC-光センサーのセンサー部分の両方を備えたエンクロージャーを郵便ポストの下に取り付けます。
エンクロージャーが完成すると・・・センサーはメインボードからずいぶん遠くなりました。
エンクロージャーは郵便ポストの下に設置します。
シグナル部分に関しては、郵便物が入ったことを赤ライトで知らせるためPOC-カラーを使用します。コントロールソフトウェアに関しては、小型のPHPスクリプトを使用します。コードはごく簡単で、まずはセンサ値を読み取り、続いてLEDカラーを調整します。以下のコードでは、POC-光センサを'mailbox',POC-カラーを'mailindicator'と表記しています。
<?php include("yocto_api.php"); include("yocto_lightsensor.php"); include("yocto_colorled.php"); // connect to the local virtual hub if(yRegisterHub('http://127.0.0.1:4444',$errmsg)!=YAPI_SUCCESS) die($errmsg); yDisableExceptions(); // No exceptions thanks while(TRUE) { // retreive the sensor and the led indicator $sensor = yFindLightSensor('mailbox'); $led = yFindColorLed('mailindicator'); // are they connected ? if(($sensor->isOnline()) && ($led->isOnline())) { // if the light sensor is illuminated, this // means there is no mail. if($sensor->get_currentValue()>100){ $led->set_rgbColor(0x00FF00); }else{ $led->set_rgbColor(0xFF0000); } } sleep(1); // If you want to impress your friends use 1, // If you want to spare your CPU use 60 } ?> |
動画
~動画埋め込み調整中~