MPU6050:Arduino 6軸加速度計+ジャイロ-GY 521テストと3Dシミュレーション

Arduinoで独自のクアッドコプタードローンまたはRC飛行機を作りたいと思っていますが、ジャイロを機能させる方法がわかりませんか? おそらく、6軸MPU6050モジュール(GY-521ブレイクアウトボード上)をすでに購入して、思ったほど使いやすいものではないことがわかりましたか? これを試してみてください!

ArduinoでMPU6050をテストし、画面上の3Dモデル平面でヨー、ピッチ、ロールをシミュレートする簡単な回路を配線する方法を学びます。 これは、ジャイロモジュール、ブレイクアウトボード、Arduino IDEに必要なライブラリをインストールするための学習ツールとして、MEMSジャイロを最大限に活用し、複雑なコードを最初から記述する代わりに時間を節約できるようにすることを目的としています。

必要なものはeBayで見つけることができます(以下のリンク):

  • 1 x Arduino UNO + USBケーブル
  • 1 xミニプロトタイピングブレッドボード
  • 1 x GY-521ブレイクアウトボード
  • オス-オスジャンパーケーブル
  • はんだごて+はんだ

ステップ1:以下に示すように回路を配線します。

*** :赤のケーブルはすべてVCC(+ 5V)で、黒のケーブルはGNDです。回路を配線するときは慎重に確認してください。 ブレイクアウトボードにはピンが付属していますが、はんだ付けが必要です。***

あなた自身の学習のために:

  • ジャイロモジュールは、シリアルクロック(SCL)およびデータ(SDA)を介したI2Cシリアル通信を介してArduinoと通信します。
  • MPU6050チップには3.3Vが必要ですが、GY-521ボード上の電圧レギュレーターで最大5Vを提供できます。
  • モジュールの詳細については、Arduino Playgroundのこのページにすばらしいリソースがあります。

ステップ2:I2CdevおよびMPU6050ライブラリをインストールする

InvensenseがMPU6050に最小限のデータを意図的にリリースしたため、コードをゼロから作成する場合、時間がかかり、モジュールの独自のデジタルモーション処理(DMP)エンジンをうまく利用するために多くのリバースエンジニアリングが必要になります。 誰かがすでに私たちのために大変な仕事をしているのは良いことです。 Jeff Rowbergは、加速度計/ジャイロデータを取得し、すべての計算を処理するために、Arduinoライブラリをいくつか作成しました。 ここからzipファイルとして入手できます:

//github.com/jrowberg/i2cdevlib/zipball/master

解凍したら、その中のArduinoフォルダーを見つけ、2つのフォルダー「I2Cdev」と「MPU6050」を次のディレクトリのArduino「libraries」フォルダーにコピーします。

C:\ Program Files(x86)\ Arduino \ libraries

次に、Arduino IDEを開き、例のセクションで、MPU6050内にMPU6050_DMP6が見つかるはずです。 それを開き、arduinoを接続し、適切なCOMポートを選択してスケッチをアップロードします。 シリアルウィンドウで、115200のボーレートを選択します。MPU6050接続が成功したことを確認するメッセージが表示されます。 テキストバーに何かを入力してEnterキーを押すと、データ収集をテストできます。データが表示されるはずです。

次に、ティーポットデモを実行して3Dシミュレーションを表示するようにコードを設定します。 シリアルウィンドウを閉じて、行#define OUTPUT_READABLE_YAWPITCHROLLを見つけてコメントアウトし、行//#define OUTPUT_TEAPOTのコメントを外します。 [名前を付けて保存]を選択し、変更したコードを保存する場所を選択します。 もう一度アップロードしますが、今回はシリアルウィンドウを開かないでください。

ステップ3:Processing&ToxicLibs Libraryの最新バージョンをダウンロードしてインストールします

画面上の飛行機のヨー/ピッチ/ロール値の3Dシミュレーションを実行するために、Jeff RowbergのMPU6050ライブラリのMPU6050_DMP6サンプルからティーポットデモを実行します。 ただし、Arduino IDEはデータを取得するだけなので、3Dシミュレーションを表示するには、追加のソフトウェアProcessingが必要です。 ここから処理をダウンロードしてから、好きな場所に解凍します:

//processing.org/download/?processing

実行するには、ToxicLibという最終的なライブラリが1つ必要です。 このライブラリは、Arduinoの代わりに、Processingのライブラリフォルダに移動します。 ToxicLibsライブラリの最新バージョンは次のとおりです。

//bitbucket.org/postspectacular/toxiclibs/downloads/

Processingの「libraries」フォルダーは、(処理フォルダー内から開始)以下の方法で見つけることができます:モード-> java->ライブラリー。 ToxicLibsを解凍し、すべてのコンテンツをそこに配置します。

ステップ4:シミュレーションを実行する

最後に、Processingアプリケーションファイルを開いてから、

ファイル->開く->このディレクトリをたどるC:\ Program Files(x86)\ Arduino \ libraries \ MPU6050 \ Examples \ MPU6050_DMP6 \ Processing \ MPUTeapot

そして、MPUTeapotファイルを開きます。

再生ボタンをクリックすると、システムは約20〜30秒間較正し、その期間中はジャイロを固定したままにします。

ジャイロを手に取り、ヨー/ピッチ/ロールをテストします。 すべてが正常に機能することに満足したら、自分のプロジェクトで試してみることができます。 I2CdevまたはMPU6050ライブラリとその機能を最大限に活用したい場合は、ヘッダーファイルを参照してください。

すぐにDIYドローンの作成について説明できることを望んでいるので、もしこのドローンが役立つと思ったら、InstructablesとFacebook / Twitter / Google+でフォローして、今後のプロジェクトにご期待ください。

この説明に興味があり、さらにこのようなものをご覧になりたい場合は、資料セクションのアフィリエイトリンクからこのプロジェクトの資料を購入するか、以下で寄付してください。

PayPal ://www.paypal.me/HobbyTransform

ビットコイン :1Mqe7et24Lz4DY1RUN4iAQVHkvJsdFArKR

イーサリアム :0x6d8248db1cdea6a783cb6b41ae67bb8e6144f479

ライトコイン :LW6PWESqsr8xHw6EJ9WLbsQsAyTvPnwnxJ

ダッシュ :Xemv7jud697v8tQmKfNFoMxfkd17ZayH2t

あなたのサポートは大歓迎です! ハッピーDIY!

関連記事