気の向くままに辿るIT/ICT
webzoit.netウェブサイトホームページ
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。

EasyWordMall Arduino UNO R3互換ボード(USBケーブル付属)

EasyWordMall Arduino Pro Mini互換ボード Atmega328 5V 16MHz

Rasbeeオリジナル FT232RL互換 3.3V/5V FTDI/USB/TTL変換アダプタ

HiLetgo Mini USB Nano V3.0 ATmega328P CH340G 5V 16MHz マイクロコントローラーボード Arduinoと互換 改良版(5個セット)

SODIAL(R)MPU-6050モジュール3軸アナログジャイロセンサ+加速度センサーモジュールMPU 6050用

HiLetgo ジャンパーワイヤー(オス-オス) 20cmx40本 5セット

Rasbee ジャンパーワイヤー(オス-オス) 各種長さx65本

Rasbee 40PCS デュポン ワイヤー ジャンパー ブレッドボード 接続ワイヤー (オス-メス)1P-1Pピッチ 2.54mm 長さ 20CM 1個 [並行輸入品]

実行と停止

 リンク先の解説にある通り、コメントする箇所とコメントを外す箇所を修正したスケッチを[名前を付けて保存]し、それを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の接続エラーを示すメッセージも含まれており、うまく機能しなかった(そもそも、どうなるのが正解なのかよくわからなかった)。