So-net無料ブログ作成

I2Cロジックレベル変換モジュールを使ってみた [Arduino]

ブログの読者の方から、最初の頃の記事について”5V駆動のArduino UNO の I2C を 3.3Vのデバイスに直接接続しているのはおかしいのでは?” というご指摘を受けました。

ご指摘ごもっともでして、きちんとI2Cロジックレベル変換モジュールを使って回路を組み直すことにしました。使用したモジュールはだいぶ昔に秋葉原で買ってきたノーブランド品です。


I2CLogicLevelShifter.JPG


Arduino UNO から センサー(ジャイロセンサー)への接続は下記のようになります。Arduino UNO から出力される 5V の I2C のラインを 3.3V に変換して出力します。


ジャイロI2C.png


実際に組んだ回路がこちらです。


DSC03904.jpg


I2Cロジックレベル変換モジュールとジャイロセンサーの接続を拡大してみました。


DSC03903.JPG


ジャイロセンサーの動作の詳細についてはこちらの記事を参照してください。


Arduino でジャイロセンサーを試してみた
http://makers-with-myson.blog.so-net.ne.jp/2014-06-21


最近のマイコンは 3.3Vや1.8V駆動が徐々に一般的になってきていますが、Arduinoの世界はまだまだ5Vが多いので、これからも出番はありそうですね。
(^_^)/~





PCA9306搭載 I2C用ロジックレベル変換ボード

PCA9306搭載 I2C用ロジックレベル変換ボード

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



ロジックレベル双方向変換モジュール

ロジックレベル双方向変換モジュール

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



BSS138搭載4CH-I2C用双方向ロジックレベルコンバータ

BSS138搭載4CH-I2C用双方向ロジックレベルコンバータ

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




風邪をひいてしまいダウン・・・ [徒然日記]

今週に入ってから出勤しても眠気がぜんぜんとれず、デスクでうつらうつらすることが多かったのですが、昨日の昼過ぎから猛烈に喉が痛くなってきました。筋肉痛も出てきて、これは季節外れのインフルかもと思い、会社を早退して病院へ直行。

幸いインフルではなく、花粉症で喉が荒れたところに風邪の菌に感染したんでしょうとのこと。少し安心したのですが、唾を飲み込むのも痛い喉と筋肉痛でそのままダウン。今日は会社をお休みして一日中寝ていました。


misawa.jpg
http://jigokuno.com/

仕事がたまっているので、明日には会社に復帰するつもりですが、まだ喉の痛みと筋肉痛が残っているので、少し心配です。今夜もぐっすり寝て明日に備えたいと思います。

皆さまも季節外れの風邪にお気を付けください。
(^_^)/~





実は怖い のどの痛み! (ワニブックスPLUS新書)

実は怖い のどの痛み! (ワニブックスPLUS新書)

  • 作者: 井上 里可
  • 出版社/メーカー: ワニブックス
  • 発売日: 2015/10/08
  • メディア: 新書



風邪とごはん―ひく前ひいたひいた後

風邪とごはん―ひく前ひいたひいた後

  • 作者: 渡辺 有子
  • 出版社/メーカー: 筑摩書房
  • 発売日: 2009/12
  • メディア: 単行本



風邪の話―たかが風邪、されど風邪、風邪対策の知恵とヒント

風邪の話―たかが風邪、されど風邪、風邪対策の知恵とヒント

  • 作者: 松永 貞一
  • 出版社/メーカー: 日本医学館
  • 発売日: 2007/03
  • メディア: 単行本




加速度&ジャイロセンサー MPU-6050 の Digital Motion Processor の使い方 [Arduino]

InvenSense の加速度・ジャイロセンサー MPU-6050 には Digital Motion Processor (DMP)が搭載されています。といっても、DMPって何するものかよく分かっていません。(*^.^*)


MPU6050.jpg


データシートを見てもイマイチよく分からないので、グーグル先生に聞いてみるも良い答えがない。ならば、プログラムを見れば分かるだろうと思い、ライブラリとサンプルをダウンロードしてきました。


SNS-1007_MPU-6050_Module.rar
http://wiki.androciti.com/download/SNS-1007/SNS-1007_MPU-6050_Module.rar


解凍すると MPU6050/Examples/MPU6050_DMP/MPU6050_DMP.ino にサンプルがありました。中を読み解くとなんとなく見えてきました。

MPU6050 mpuMPU6050 のクラス
mpu.initialize()MPU6050を初期化
mpu.dmpInitialize()MPU6060 の DMP を初期化 戻り値:0 なら正常
mpu.setDMPEnabled(true)DMP を起動
mpu.getIntStatus()割り込みステータスを取得 0x10:FIFO overflow, 0x02: DMP data ready
mpu.dmpGetFIFOPacketSize()DMPのFIFOのパケットサイズを取得
mpu.getFIFOCount()現在のFIFOのカウントを取得
mpu.resetFIFO()FIFOをリセット
mpu.getFIFOBytes(fifoBuffer, packetSize)FIFOデータを取得
mpu.dmpGetQuaternion(&q, fifoBuffer)取得データからQuaternionデータを取得
mpu.dmpGetEuler(eular, &q)QuaternionデータからEular角を取得
mpu.dmpGetGravity(&g, &q)Quaternionデータから重力値を取得
mpu.dmpGetYawPitchRoll(ypr, &q, &g)Qaternionと重力値からYow Pitch Roll 値を取得
mpu.dmpGetAccel(&aa, fifoBuffer)FIFOデータから加速度データを取得
mpu.dmpGetLinerAccel(&aaReal, &aa, &g)重力の影響を除いた加速度データを取得
mpu.dmpGetLinerAccelInWorld(&aaWorld, &aaReal, &q)3次元空間に変換した加速度データを取得



最後の2つのAPIの違いがよく分からないと思いますが、これはどうやら進行方向に向かっている加速度を3次元へのマッピングする処理のようです。




アルゴリズムをわざわざ考えなくてもよいので、これは楽ですね。なんとなく使い方は分かってきましたので、この週末にでも試してみたいと思います。
(^_^)/~






6軸(3軸加速度+3軸ジャイロ)センサーを探す [Arduino]

息子から加速度センサーだけではダメ出しをされてしまったので、6軸センサーを探しました。いろいろ探したのですが、安くて使用実績も多そうなのが InvenSense のセンサーです。




このセンサーは内部にDigital Motion Processor という DSP も搭載されており、補正済のデータも取得できるようです。しかもArduino用のライブラリも用意されています。3.3Vで駆動できるのも嬉しいですね。


andociti MPU-6050三軸加速度三軸ジャイロセンサーモジュール
InvenSensePLUSarduino.png


で、さっそく注文をしてしまいました。面白そうなデモプログラムも用意されているので試すのが楽しみです。











EasyWordMall Pro Mini モジュール Atmega328 3.3V 8M Arduino用

EasyWordMall Pro Mini モジュール Atmega328 3.3V 8M Arduino用

  • 出版社/メーカー: Apple Trees E-commerce co., LT
  • メディア: その他



FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

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