目的
スマホのフラッシュライト活用してる人いますか?
落とし物探すときに隙間照らすぐらいしかないですよね。
でも、写真を撮るときに光って大切なんです。(知らんけど)
なので、被写体との距離でライトの明るさを自動で調整できるようにしました。
この記事でできること
・node.jsでobnizを操作
・超音波測距センサ(HC-SR04 )で物体との距離を測る
・LEDライト(WS2811)を光らせ、明るさを調節する
・スマホがガジェット感出てかっこよくなる(気がする)
完成したらこんな感じ
動かしたらこんな感じ
くまの距離に合わせて明るさ調整します。最高の明るさで写真撮れます。
— sawa (@sawakoshi_yy) October 18, 2020
ちなみにこのくまはマウスパッドで、嫁さんとお揃いです。#protoout#obniz#ともだちはくまpic.twitter.com/l9wJk8KsII
コード
constObniz=require('obniz');constobniz=newObniz('');// Obniz_IDに自分のIDを入れますobniz.onconnect=asyncfunction(){// RGB LEDを利用constrgbled=obniz.wired('WS2811',{gnd:0,vcc:1,din:2});// 超音波測距センサを利用するconsthcsr04=obniz.wired('HC-SR04',{gnd:8,echo:9,trigger:10,vcc:11});// ディスプレイ表示(初期画面)obniz.display.clear();obniz.display.print('Hello obniz!');// setIntervalで間隔を作るsetInterval(asyncfunction(){// 距離を取得letdistance=awaithcsr04.measureWait();// 温度をコンソールに表示console.log(distance+' mm');// obnizディスプレイに表示// 一度消してから距離+mmの単位を表示obniz.display.clear();obniz.display.print(distance+' mm');if(distance>2550){distance=255;}rgbled.rgb(distance/10,distance/10,distance/10);},1000);// 1000ミリ秒 = 1秒}考察
スマホのフラッシュライト使ってない。
光センサも使って「周りの明るさ」+「被写体との距離」でライトの明るさを調整しようと思いましたが、光センサ断念してしまいました。
被写体との距離ですが、どことの距離を計測しているか視覚的に分かるようになれば、もっと正確に明るさを調整できそうです。
嫁さんとの心の距離も測れないですかね。
