nRF : MPU6050 DMP pedometer
MUP6050:三軸加速度センサ・三軸ジャイロセンサモジュール Amazon等で安価に購入できるため、慣性計測装置(IMU:Inertial Measurement Unit)としてはよく使われ情報を多く目にする。ただ、マイコンからの命令で、ジャイロの値を読んだり、加速度センサの値を読み込んだりするのは難易度的に低く、必要なレジスタへの書き込み、読み込みさえできれば値を得る事は難しくない。 一方で、MUP6050の本当の真価を得るためには、DMP(Digital Motion Processor)を使わないとその価値は得られない。DMPは、内部処理機能に必要なプログラム(これはTDKが用意していてバイナリーで配布されている)を送り込みする事で動作させる事ができる。その間マイコンによる監視が不要にできる しかし以外と情報は少ない。ArduinoでDMP対応のライブラリーが提供されているので参考にはなるが、メモリの都合上、UNO,NANOではそのままでは試す事できない事もあり、情報が少ない。特にnRF系でというと情報がそこそこ少ないので、ここでは、NordicのnRFに移植し、万歩計を実装する手順を記載する。 1.必要ファイルの準備 MUP6050の公式サイト https://invensense.tdk.com/developers/software-downloads/#smartmotion MPU eMD6.12をクリック ログインを求められるので、Usernameとパスワードを入力してログインする。 (アカウントがない場合は、アカウントの作成をする) zipファイルのダウンロードが終わったら適当に解凍する。 エクスプローラーから \motion_driver_6.12\arm\STM32F4_MD6\Projects\eMD6\core\driver\eMPL を開いておく。元にするファイルは、 このフォルダに入っている6つのファイル。 ユーザガイド motion-driver-6-1-user-guide.pdf に記載されているように、I2C関係、時間待ち、時間計測、ログの出力に関する関数を使うプラットフォームにあわせて用意してやる。例題として、TI社のMSP430やSTM社のSTMF4が収録されているので、それを参考にしながら、NordicのnR