気の向くままに辿るIT/ICT/IoT
IoT・電子工作

ArduinoとProcessingでジャイロ・加速度センサMPU6050デモ

ホーム前へ次へ
Arduinoって?

ArduinoとProcessingでジャイロ・加速度センサMPU6050デモ

ArduinoとProcessingでジャイロ・加速度センサMPU6050デモ

ArduinoとProcessingによるジャイロスコープ3軸+加速度3軸 MPU-6050デモンストレーション
2018/03/13

 『ArduinoとProcessingでジャイロ・加速度センサMPU6050デモンストレーション』を実行してみるページ。

 Lチカ、グラフプロット、アナログ+日付・温度付きデジタル時計に続くArduinoとProcessing連携第4弾。

 今回は、Arduino - MPU6050 GY521 - 6 Axis Accelerometer + Gyro (3D Simulation With Processing)の通りに、そのまま利用させて頂きました。

 尚、このスケッチ群、当初、Arduino Project Hubで見つけけたのですが、うまくいかず、続いて今回、試したリンク先(instructables.com)に沿ってやってみたところ、微妙な点は残るも一応、シミュレーションまではできたという経緯があります。

回路

 スケッチは、リンク先を参照、実行、停止、留意点は後述するとして回路として必要になるハードウェアは、ArduinoボードとMPU-6050 6軸(3軸ジャイロスコープ・3軸加速度)センサを各1個とジャンパワイヤ5本だけ。(もちろん、USBケーブルとPC、Arduino IDEもしくは代替も要るけど。)

 必要なソフトウェアは、Arduino IDEか代替とProcessing。

実行と停止

 リンク先の解説にある通り、コメントする箇所とコメントを外す箇所を修正したスケッチを[名前を付けて保存]し、それをArduinoボードに(再)アップロードしておきます。

 シミュレーションを実行するには、Processingを起動するなりして、そのままならArduinoのlibrariesディレクトリ内の[MPU6050] => [MPU6050_DMP6] => [Processing] => [MPUTeapot] => MPUTeapot.pdeを開き、スタートボタンをクリック。

 その後、10秒程度、待ち、模型飛行機の絵が動きはじめたら、MPU6050を任意に動かすと映像にも反映されます。

留意点

 Arduino Project Hubとinstructables.comで気づいた違いは、読み違いや勘違いでなければ、前者のアーカイブファイルは1つにまとまっていましたが、後者は2つ個別にダウンロード・展開したこと。

 これに伴い、I2CdevとMPU6050のスケッチダウンロード元が異なり、後者では、これら2つのフォルダをArduinoのlibrariesディレクトリにコピーすると明示されていたこと、ToxicLibsライブラリのダウンロード元が異なり、後者では、このライブラリの展開先が、Processingの探索パス内の[modes => java => libraries]ディレクトリ(なければ作成)と明示されていたこと。

 あと、前者でダウンロードしたものは、なぜか、ファイルの解凍・展開にやたらと時間がかかり、最終的に展開し終わっている模様もエラーになったアーカイブファイルがありました。

 尚、少なくともProcessing 3では、ダウンロード、指定場所に展開したToxicLibsライブラリは、Processing IDEの[スケッチ] => [ライブラリをインポート] => [ライブラリを追加]で表示されるポップアップの[Libraries]タブで当該行を選択、[↓ Install]ボタンで追加できました。

 冒頭書いた微妙な点というのは、2点あって、1つは、途中でデモがフリーズして止まってしまうこと、もう1つは、Arduino側のデータ型か、Processing側のフォント設定の問題なのか、Processingの下部ウィンドウに表示されるシリアル通信で受信した値が、文字化けしていること。

 ただ、途中でデモが止まってしまうのは、自身が、手抜きでMPU-6050にピンヘッダのはんだ付けをしておらず、接触が悪かったせいかもしれません。

 ちなみに、これも接触不良か、なぜか、スケッチ編集前のArduinoのシリアルモニタ上では、数行表示され、何かタイプしろと書いてはありますが、MPU-6050の接続エラーを示すメッセージも含まれており、うまく機能しませんでした(そもそも、どうなるのが正解なのかよくわかりませんでした)。

ホーム前へ次へ