So-net無料ブログ作成

Edisonに照度センサをつないでみる [edison]

前回,Arduinoに照度センサをつないでみたが,今回はEdisonにつないでみる.
EdisonはIntel Edison Breakout Boardを使っているので,IOは1.8Vだ.arduinoのときは5Vだったが今回は1.8Vだ.だけど,秋月のI2Cバス用双方向電圧レベル変換モジュール(PCA9306)を経由して接続するってのは変わらない.

接続はこんな感じ.
当初はこんな感じで接続していたが,Kさんからコメントいただいたように,AE-PCA9306ではVref2側を高電圧側にするべきである.
luminance_sensor_ng.png
なので,こちらの回路図のように接続すべきである.
luminance_sensor.png

今回もArduino IDEで動かしてみる.
スケッチは,前回Arduinoで動かしたときと全く一緒でOK.

が,動かしてみたらうまく動かなかった.

調べてみると,こんな記事が見つかった.
Edison のI2Cを試してみる — Edison-Note 1.3 documentation
Edison Breakout BoardでI2C通信テスト[1](C言語,mraaライブラリ,PCA9306,DRV8830を使用) - Qiita

どうやらEdisonのI2Cは内蔵プルアップが有効になっているようで,一方,秋月のレベル変換モジュールもデフォルトではプルアップが有効になっていて,これのせいでうまく通信できない.

最初はEdisonの内蔵プルアップを無効にしようと思ったんだけど,さんざんWeb上の情報を探したけど方法が見つからなかった.というわけで,秋月のレベル変換のプルアップを無効にすることにした.やりかたは,AE-PCA9306モジュール取扱説明書(927KB)に書かれている通り,ジャンパをカットすればいい.
今回は,Edison側だけレベル変換モジュールのプルアップを無効にして,照度センサ側は(センサ側でプルアップしてないので)レベル変換モジュールのプルアップは有効のままにしておく.

上記の回路図のように接続しているので,カットするジャンパは,J2とJ3 J4とJ5だ.

で,これで試したら無事通信できた.Arduinoで試したときと同じように動いたのでOKだ.
お試しあれ.
nice!(1)  トラックバック(0) 

nice! 1

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。