- リンクを取得
- ×
- メール
- 他のアプリ
光センサーはBH1750FVIを使います。aliexpressでいろいろあります。amazon.co.jpでもよいと思います。
https://www.aliexpress.com/item/32722878671.html
この辺を参考にしました。
https://www.raspberrypi-spy.co.uk/2015/03/bh1750fvi-i2c-digital-light-intensity-sensor/
Orange Pi Zero を使います。Orange Pi のサイトの Download に詳しいピン配置があるので、それを参考にします。
http://www.orangepi.org/download/orange_pi-zero-v1_11.pdf
OS は armbian にします。i2c を有効にできて、python のライブラリが使用できれば他の OS でもよいと思います。
i2c を有効にする
Orange Pi Zero で armbian を起動します。そうしたら、armbian-config を実行します。
sudo armbian-config[Hardware] を選択[i2c0] と [i2c1] にチェックを入れます
線と文字が細すぎた・・・
センサーから値を読み取ってみる
まず、センサーを認識しているか確認します。
sudo i2cdetect -y 1
すると、こんな出力があると思います。
「23」と出力されていれば、アドレス 0x23 に(何かが)検出されているということになります。
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
センサーが認識されているようなので、スクリプトの実行に必要なライブラリをインストールします。python3 は入っているので、i2c 通信の smbus をインストールします。
sudo apt install python3-smbus
続けて、センサーを読み取るスクリプト本体です。
wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bh1750.py
これを python で実行します。(センサー読み取りに管理者権限が必要なので、sudo で実行します)
$ sudo python3 bh1750.py Light Level : 129.17 lx Light Level : 109.17 lx Light Level : 110.00 lx Light Level : 110.83 lx Light Level : 110.83 lx Light Level : 110.83 lx Light Level : 110.83 lx Light Level : 110.83 lx Light Level : 110.83 lx Light Level : 111.67 lx
このように延々と Light Level が出力されれば OK です。
もしデバイスが見つからない場合は、bh1750.py をエディタで開いて "DEVICE" や "bus" の変数を適切な値に修正する必要があるかもしれません。
コメント
コメントを投稿