スマホで写真撮る人は必読?スマホのフラッシュライト進化させます。


目的

スマホのフラッシュライト活用してる人いますか?
落とし物探すときに隙間照らすぐらいしかないですよね。

でも、写真を撮るときに光って大切なんです。(知らんけど)
なので、被写体との距離でライトの明るさを自動で調整できるようにしました。

この記事でできること

・node.jsでobnizを操作
・超音波測距センサ(HC-SR04 )で物体との距離を測る
・LEDライト(WS2811)を光らせ、明るさを調節する
・スマホがガジェット感出てかっこよくなる(気がする)

完成したらこんな感じ

スマホはこんな感じ

動かしたらこんな感じ

コード

const Obniz = require('obniz');
const obniz = new Obniz(''); // Obniz_IDに自分のIDを入れます

obniz.onconnect = async function () {
    // RGB LEDを利用
    const rgbled = obniz.wired('WS2811', { gnd: 0, vcc: 1, din: 2 });
    // 超音波測距センサを利用する
    const hcsr04 = obniz.wired('HC-SR04', { gnd: 8, echo: 9, trigger: 10, vcc: 11});
    // ディスプレイ表示(初期画面)
    obniz.display.clear();
    obniz.display.print('Hello obniz!');

    // setIntervalで間隔を作る
    setInterval(async function () {
        // 距離を取得
        let distance = await hcsr04.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秒
}

考察

スマホのフラッシュライト使ってない。

光センサも使って「周りの明るさ」+「被写体との距離」でライトの明るさを調整しようと思いましたが、光センサ断念してしまいました。

被写体との距離ですが、どことの距離を計測しているか視覚的に分かるようになれば、もっと正確に明るさを調整できそうです。

嫁さんとの心の距離も測れないですかね。