SSブログ

Arduino 3軸加速度センサーのI2C接続うまく行きましたー [Arduino]

未解決だったArduinoと3軸加速度センサー『LIS3DH』のI2C接続。ようやく解決できました!

DSC03897.jpg


LIS3DH』のアドレスが見つからないと叱られてしまっていたので、I2C Scanner でハードウエアが認識されているか確認してみることにしました。グーグル先生に Arduino版があるか問い合わせたところ、すぐに見つかりました。さすがオープンハードウエアです。

http://playground.arduino.cc/Main/I2cScanner#.UyWUDfl_sms

早速、上記のウェブサイトにあるスケッチを動かしてみました。

scanner_prg1.png


動かしてみたら、意外な結果が!?

scanner_result.png


LIS3DH』と思わしきスレーブアドレスが ”0x18” と出ています。これが『LIS3DH』なのかどうか分かりませんが、他に拠り所がないので、この数字を信じて昨日のスケッチを変更してみます。

test_prg1.png


うまく行くかどうか分かりませんが、ダメもとで動かしてみましょう。

test_prg_result.png

あれ?あっさり動いてしまいました。う~む。。。さっぱり理由が分かりません。


まだ信用できないので、加速度データをとるスケッチを書いて実際にデータが取得できるか試してみます。

prg1.png


動かしてみました。どうやら結果はそれらしく出ているようです。謎が深まります。

prg_result.png


グラフにしてみました。やはり問題なさそうです。う~む。

Graph.png


理由はまだはっきりしていませんが、とりあえず動いたようです。スッキリしませんが、これで一旦決着としたいと思います。600円を無駄にせずによかった~。原因は追々突き止めていきたいと思います。
(^_^)/~



(追記)
まりすさん(https://twitter.com/maris_HY)の助言で謎がとけました!まりすさんありがとうございます!Wireライブラリの説明をきちんと読むべきでした。このサイトのNoteの部分を読んでください。

Arduino - Wire
http://arduino.cc/en/reference/wire

Wireライブラリはデバイスのアドレスを7bitで指定します。Wireライブラリに指定するアドレスは、R/Wを含む8bit のアドレスを右シフトすることで得られます。0x30, 0x31 を右にシフトすると、0x18となりますので、これが Wire ライブラリで指定するアドレスということになります。R/W の1bit は勝手につけてくれるようですね。

ということで、きちんと説明書は読みましょうというオチでした。(*^^*)


関連記事
Arduino 3軸加速度センサーで大ハマリ中。。
http://makers-with-myson.blog.so-net.ne.jp/2014-03-15

Arduino で3軸加速度センサーを試してみた!
http://makers-with-myson.blog.so-net.ne.jp/2014-03-08


※Arduino UNO の結線図を差し替えしました。(2016.4.9)





Arduinoをはじめよう 第2版 (Make:PROJECTS)

Arduinoをはじめよう 第2版 (Make:PROJECTS)

  • 作者: Massimo Banzi
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/03/16
  • メディア: 単行本(ソフトカバー)



Arduinoをはじめようキット

Arduinoをはじめようキット

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



GROVE - I2C 三軸加速度センサ ADXL345搭載

GROVE - I2C 三軸加速度センサ ADXL345搭載

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス


nice!(28)  コメント(2)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 28

コメント 2

だせいがく

シリアルプリントしたときに出てくる15000などの数字はどういったことを表しているのか教えていただきたいです。
自分も同じものを使用しているので参考にしたいと思っています。
素人質問で申し訳ないです。よろしくお願いします。
by だせいがく (2014-12-08 14:14) 

ys_oota

だせいがくさん、コメントにまったく気づいていませんでした。加速度センサーネタを書こうと久しぶりに振り返ってみてコメントにあることに気づきました。スイマセン。

数字そのものは重力加速度で正規化する必要があります。水平が保たれ静止した状態で観測された値を9.81m/s^2 とすれば他の値も算出できます。

http://makers-with-myson.blog.so-net.ne.jp/2016-03-29

に重力加速度の影響を除去するための考察も書いていますので参考にしてください。
by ys_oota (2016-03-30 01:10) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0