モーションセンサー装置の作り方 / 2020年11月4日

1)MPU6050 と arduino の半田付け


arduino_pro_microとMPU6050を、4本の線で半田付けして、繋ぐだけです。

2)arduino に MPU6050用プログラムを書き込む

装置を作るまでは簡単ですが、ArduinoとMPU6050を接続した後、MPU6050を扱うためのプログラム(スケッチ)をarduinoに書き込むのがちょっと面倒です。
以下の作業は、作成したモーションセンサーをパソコンにつないだ状態で行ってください。
まずarduinoダウンロードサイトからArduino software(IDE)をダウンロード、インストールします。
次にJrowberg氏のライブラリを(CodeボタンのDownloadZIP)からダウンロードして、解凍してできるi2cdevlib-masterの中の、arduinoフォルダの中のI2CdevとMPU6050の2つのフォルダを、インストールしたArduino software(Arduinoフォルダ)のlibrariesフォルダーにコピーします。そこでArduinoIDEを起動してファイルメニューの「スケッチの例」からMPU6050のIMU_Zeroを開きます。ツールメニューからボード(必要に応じてプロセッサ)をarduinoの機種に合わせて、「マイコンボードに書き込み」して、シリアルモニターから、MPU6050固有の校正値を取得します。
そのあとMPU6050のMPU6050_DMP6_using_DMP_V6.12を開きます。 これがモーションセンサーのデータを読み込むためのプログラムです。これを少し書き換えます。
まず、先ほど得た値を下記6行の部分に入力します。
// supply your own gyro offsets here, scaled for min sensitivity
mpu.setXGyroOffset(51);
mpu.setYGyroOffset(8);
mpu.setZGyroOffset(21);
mpu.setXAccelOffset(1150);
mpu.setYAccelOffset(-50);
mpu.setZAccelOffset(1060);
次に、以下の2行を探しだして、
#define OUTPUT_READABLE_YAWPITCHROLL
//#define OUTPUT_TEAPOT

の2行をそれぞれ
//#define OUTPUT_READABLE_YAWPITCHROLL
#define OUTPUT_TEAPOT

と書き換えて、OUTPUT_TEAPOTの方を有効にします。
さらに、//wait for ready という行を探し、その下の4行をコメントアウトします。
// wait for ready
// Serial.println(F("\nSend any character to begin DMP programming and demo: "));
// while (Serial.available() && Serial.read()); // empty buffer
// while (!Serial.available()); // wait for data
// while (Serial.available() && Serial.read()); // empty buffer again

「マイコンボードに書き込み」から、このソースをArduinoに書き込むと、モーションセンサー装置の完成です。

3)永島医科の赤外線眼振装置にセンサー装置を取り付ける


このセンサー装置を永島医科の赤外線カメラに取り付けたところです。カメラの映像はデジ造(LPCA-DAV4)でUSB変換しています。パソコンと繋げば、眼振頭位記録システムの出来上がりです。
モリタ製作所など、他社の赤外線眼振カメラにも取り付けられると思います。