まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

2016年07月

GY-302モジュールを使った簡単な照度計

 GY-302というモジュールを入手した。これにはロームのAmbient Light Sensor BH1750FVIで照度を測定しI2Cで読み出せる。

 照度計に関しては秋月電子から入手できる浜松ホトニクスのS9705を使ってなんとかしようと思っていたが、タイマ関連の設定をもっと厳密にする必要があって手を出せないでいた。
S9705照度計をスケッチのみで/Arduino 1.6.6のシリアルプロッタ

Arduino用のライブラリFlexTimer2では不正確な場合があり、以下の記事が参考になる。
FlexiTimer2の挙動の調査(Arduino)(ラジオペンチ)

 さて、GY-302モジュールならI2Cで読み取るだけということなので、簡単にできそうである。精度もセンサのばらつきにのみ左右される。ということでAmazon経由で購入。

GY-302 BH1750 光照度照明モジュール [並行輸入品]GY-302 BH1750 光照度照明モジュール [並行輸入品]

Phishine
売り上げランキング : 27339

Amazonで詳しく見る
by G-Tools

 BH1740FVI資料。Typ 3.0V動作、I2C。
http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf

 GY-302モジュール資料。Vcc 5V入力をLDOで3.3Vに変換しBH1740FVIの電源にしている。SCL/SDAはプルアップ付き。I2Cのアドレスを設定するADDRはプルダウンされている。
BH1750 BH1750FVI Digital Light intensity Sensor Module For AVR Arduino 3V 5V

 ライブラリと作例も見つかった。ほぼそのまま使用する。
bh1750fvi (GY-302) Light Sensor Module(Simple Arduino Skeches)

 GY-302モジュールをそのままArduinoの端子に差し込んでみた。SCLをA5、SDAをA4になるようにさしてVccとGNDは無理やりワイヤで接続、ADDRはA3にささるのでピンの設定でGNDに落とした。

 スケッチはこちら。
https://gist.github.com/houmei/60255efe8029ca7a79e51a9c698a34ab

2016-GY302

 MacOSX10.10.5 / Arduino IDE 1.0.6にBH1750ライブラリを置く。ターゲットはDuemilanove w/ATmega328互換のCrowduino。秋月電子で扱っているデジタル照度計 LX-1010Bとだいたい同じ照度を表示することを確認。
 BH1750ライブラリ自体はArduino固有の操作をやっているわけではなく単にI2Cの送受信なので他のマイコンに持っていくのも簡単そう。

Digisparkを使ったPC人感センサとセルフパワーUSBハブ

 DIgisparkと焦電センサモジュールと組み合わせて、人がいる時はディスプレイをONでしばらく使ってなかったらOFFというのを作ってみた。
 動作原理は簡単で、焦電センサに感があった時にマウスを少し動かすというもの。これでPC側からは人が操作しているように見える。ディスプレイの設定で30分後に画面OFFにしておけば、人がいなくなったら自動的にOFFになる。また人が近づいだらマウスが動いたようにみえるので画面はONになる。
これ、U-NEXTで動画見てるとき無操作のままだとディスプレイがOFFになり中断されるのが嫌で作った。AmazonPrimeの動画再生時だとこうならないのに。

ソースは以下。
https://gist.github.com/houmei/76a1d26c207333ba5b7496113de297de

201607PIR


 さて、思いついて書くのは簡単だったのだがその後うまくいかなかった。MacBookPro15(2011)だとDigispark接続後にタッチパッドが効かなくなる。MacBookPro13(2009)ではマウス動作が無視される。PRIMERGY TX100S3 Windows7だとデバイスドライバがインストールされずUnknown Deviceとなる。しかしいずれもArduino IDEからはプログラムができる。なんでだ。
 調べたら、USBハブやUSB延長ケーブル経由だとうまく認識されない場合があるということだ。
Digispark 超小型ARDUINOクローン WINDOWS インストール(気分はメイカーズ)

 USBハブやUSB延長ケーブルを使わずDigisparkをUSBポートに直結したらうまく認識した。しかしMacBookPro13(2009)では相変わらずうまくいかない。安定させるには?セルフパワーUSBハブを使ったらどうだろうか。
 いま市販している小型のUSBハブはバスパワーといって、電源を接続元からもらっている。4ポートハブにUSBデバイスを繋いだ電力はUSBハブ自身を含めて接続元PCのUSBポートが供給できる電力を越えられない。セルフパワーUSBハブはACアダプタなどを接続し電力はそこからもらう。市販品だと種類は少ないが液晶テレビにUSBハードディスクをつなぐときに安定化させるなどの宣伝で売っている。で、近所のヤマダ電機から500円で買ってきた。

結果:すべてOK
MacBookPro15(2011) → USBハブ → Digispark
MacBookPro13(2009) → USBハブ → Digispark
TX100S3 Windows7 → USBハブ → USB延長ケーブル → Digispark

ということでDigisparkをPCにつないで使うときはUSBポート直結かセルフパワーUSBハブ経由がよさそう。DigisparkのVINに電源を供給する方法もあるが、これは試していない。

 使ったUSBハブはこれ↓
ELECOM USBハブ セルフ/バスパワー両用 タブレットスタンドタイプ microB-USB[A]変換アダプタ付属 4ポート ブラック U2HS-S401SBKELECOM USBハブ セルフ/バスパワー両用 タブレットスタンドタイプ microB-USB[A]変換アダプタ付属 4ポート ブラック U2HS-S401SBK

エレコム 2013-10-24
売り上げランキング : 3299

Amazonで詳しく見る
by G-Tools


HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]

HiLetgo
売り上げランキング : 110268

Amazonで詳しく見る
by G-Tools


記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ