追記と書き直し(2020/01/25)
5年ぶりにやってみたらリンクは切れてるし、うまく動かなかったしで修正しながら書き直した。
Arduino UNOでなくNanoで行った。
数字が流れるだけじゃ味気ないので、もう少し目で見て楽しめるものをということだが、何が何でも自分でコードは書かない(書けない)という前提で、探しまくって見つけたのがこのサイトだ。
About Jeff Rowberg’s I2C lib for the MPU-6050
読んでもらえば分かるが必要なものは以下のもの。
※以下へ行って丸ごとZIPをダウンロードしてどこかへ解凍する。
https://github.com/jrowberg/i2cdevlib
i2cdevlib-master というフォルダに解凍されたとする。
※Teapot demo これはArduino用のスケッチだ。
i2cdevlib-master¥Arduino¥MPU6050
と
i2cdevlib-master¥Arduino¥I2Cdev
をArduino IDEのLibraryフォルダにコピーする。
Arduinoのスケッチは
i2cdevlib-master¥Arduino¥MPU6050¥examples¥MPU6050_DMP6
にある MPU6050_DMP6.ino を使う。
これを以下のように書き換えてからNanoに書き込む。
※Processing これは開発環境のようだ。
Downloadから環境に合ったものをもらってきて適当なところに解凍しておく。
ここでは processing-2.2.1 というフォルダになったとして話を進める。
※toxiclibs library これは Processing のライブラリだ。
一番新しいのをもらってきて解凍して、中のフォルダ群を processing-2.2.1¥sketchbook¥libraries C:\Users\username\Documents\Processing\libraries 以下にコピーしておく。
※MPUTeapot.pdeこれは
Processing で実行する3D描画用のプログラムが
i2cdevlib-master¥Arduino¥MPU6050¥examples¥MPU6050_DMP6¥Processing¥MPUTeapot
にある MPUTeapot.pde だ。
processing-2.2.1¥MPUTeapot に入れておけと書いてある。
実行手順(迷いながらの我流)
上で書き換えた MPU6050_DMP6.ino をNanoに書き込んで実行する。
配線は
VCC – 3.3V
GND – GND
SCL – A5
SDA – A4
INT – D2
とする。
シリアルモニターを開くと下に示したように表示されるので、「a」とでも入力して「送信」をクリックする。
すると、文字化けでもしたような意味不明の文字が流れ始めるので、センサーの動きに合わせて変化することを確認してからシリアルモニタとArduino IDEを閉じる。
Processingを起動してMPUTeapot.pdeを読み込んだら、
ポートの名前を指定している部分を下のように書き換えてから実行する。
これはNanoがCOM5につながっている例だ。
すると飛行機の3Dが表示されて、これがセンサーの動きに合わせて動く。
こんなに細かい動きまで拾ってたんだとつくづく感心した。
「某海外通販で購入したArduino UNO R3 互換機で遊ぶ」のその他の記事一覧へ
Tweet追記
3Dではないが、後にPICでもやってみた。
「PIC16F1827 + MPU6050 Module (InvenSense MPU6050搭載 三軸加速度センサ・三軸ジャイロセンサモジュール)」
「PIC16F1827 + MPU6050 Module + VB6」