Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

ESP32開発ボード(Arduino)で光センサー(GY-30 BH1750FVI)を使う

 

こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。

 

以前、Raspberry Pi zeroで光センサーを使ってみましたが、ESP32開発ボード(Arduino)でもやってみようと思います!

光センサーBH1750FVI(GY-30)で明るさを測定する - Opensourcetechブログ

 

 

やって Try ♪

 

 

配線

こんな感じです。

f:id:opensourcetech:20200224100515j:plain

 

具体的には、以下のように接続しています。

 ※前者が光センサー、後者がESP32開発ボード

VCC-3.3V

SCL-D22

SDA-D21

ADD-GND

GND-GND

f:id:opensourcetech:20200224111125p:plain


f:id:opensourcetech:20200224110949p:plain

 あとは、Arduino IDE(PC)とESP32開発ボードの接続をデータ転送も可能なUSBケーブルで行えばOKです。

 

うまくデバイスと接続できない方は、以下の設定周りを見直すといいかと思います。

ボードとか、Upload Speedとか、シリアルポートなど。

f:id:opensourcetech:20200224112321p:plain

 

 

BH1750FVIライブラリのインストール

Arduino IDEのツール > ライブラリを管理と辿り、BH1750FVIライブラリをインストールします。

 

f:id:opensourcetech:20200224111755p:plain

f:id:opensourcetech:20200224111810p:plain

f:id:opensourcetech:20200224111828p:plain

 

インストールされたら、スケッチ > ライブラリをインクルードに表示されるようになります。

f:id:opensourcetech:20200224111849p:plain

 

 

スケッチの作成

 作成といっても、サンプルとして用意されているものを使用すればOkです。

ファイル > スケッチ例 > BH1750FVI > BH1750FVI_Simpleと辿ればサンプルがあります。

f:id:opensourcetech:20200224112142p:plain

 

なお、今回は1箇所だけ修正しました。

光度(ルクス)測定のインターバルですが、デフォルトでは250msecとなっているので、

1000msecにしました。

※お好みでカスタムください。

f:id:opensourcetech:20200224112148p:plain

 

その後、デバイスへの書き込み。

デバイスによっては、Bootを押しながら書き込みます。

※詳細は、以下の記事。

ESP32 Arduino書き込み時「A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header」となった時の対応方法」 - Opensourcetechブログ

 

 

光度(ルクス)測定

では、実際に測定してみます。

※単位はルクス(単位面積当たりの明るさ度合いを表す単位)

観測結果は、シリアルモニタで確認します。

ツール > シリアルモニタ、もしくはショートカットCtrl+Shift+M(Windowsの場合)

f:id:opensourcetech:20200224112945p:plain

 

 

まず、リビングの明るさ。

450ルクス程度。

f:id:opensourcetech:20200224100516j:plain

f:id:opensourcetech:20200224113302p:plain

 

 

イベントでもらったノベルティの懐中電灯。

6,500ルクス程度。

f:id:opensourcetech:20200224100544j:plain

f:id:opensourcetech:20200224113356p:plain

 

 

そして太陽光。

39,000ルクス。

桁違いですね。太陽拳、まぶしいわけです。

f:id:opensourcetech:20200224100702j:plain

f:id:opensourcetech:20200224113435p:plain

 

 

 

明るさの基準

 調べてみるとちゃんと基準がありました。

JIS Z 9110:2011 照明基準総則

kikakurui.com

色々と測定したくなりますね。

f:id:opensourcetech:20200224141456p:plain

f:id:opensourcetech:20200224141501p:plain

f:id:opensourcetech:20200224141506p:plain

 

 

 

 

 

まとめ・考察

今回やってみてわかったのですが、

シンプルなIoT機器としてみた場合、ESP32はRaspberry Pi zeroより扱いやすいですね。

※逆にいろいろなパッケージをインストールして使い倒したい場合は、Raspberry Pi zeroに軍配かな。

 

その他、マイコンいじりは

・ハード・パーツ・ソフトウェア・電機関連・センサーで測定対象となるものなど多くのことを学ぶことが出来る総合学習である。

・はんだ付けで手先が器用になる。

・太陽拳のまぶしさを数値化でき、より原作(ドラゴンボール)を身近に感じる。

・もっと色々と試してみたくなる。

などなどいいことばかり!

 

 

 

 

 

 

 

 

 

 

アフィリエイトのアクセストレード

 

 

 

 

 

 

www.slideshare.net

github.com

www.facebook.com

twitter.com

www.instagram.com

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

 

Opensourcetech by Takahiro Kujirai