2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MPU6050の値をarduinoのシリアルに書き出したい

Last updated at Posted at 2020-08-08

SS 192.png 6軸センサの結果をarduinoに理解させたい

前回記事

の続きです。

やること

6軸センサーのGY-521(MPU6050)の値をarduino(手元のものはTeensy3.2)で読み取り、そのローデータをシリアルに書き出します。

6軸センサーとは?

加速度センサーは重力加速度を検知し、水平に対する傾きを捉えることができます。
ジャイロセンサーは角速度を検知し、回転の動きを捉えることができます。
それぞれxyz3軸ずつ、合計6軸のデータを検出できるのが6軸センサーです。
MPU6050のデータを使いやすく補正・加工して出力するパッケージの一つがGY-521です。

準備物・実施環境

  • Arduino系のもの(今回の狙いはTeensy3.2)
  • 6軸センサ GY-521(MPU6050)
  • 手元の環境はMac

接続

GY-521 Arduino
VCC 5V
GND GND
SCL SCL(Pin19)
SDA SDA(Pin18)
XDA none
AD0 none
INT none

SCL0はArduinoUno,Teensy3.2共にPin19です。
SDA0はArduinoUno,Teensy3.2共にPin18です。
接続は電源2本、信号2本の計4本で動きます。

プログラム

Arduino系のスケッチ

Arduino系

#include "MPU6050.h"
MPU6050 accelgyro;

int16_t ax, ay, az;//加速度 int16_tは2バイトの符号付き整数 
int16_t gx, gy, gz;//角速度 同上

void setup()
{
  Wire.begin();
  Serial.begin(115200);
  accelgyro.initialize();//I2Cデバイスの初期化
  delay(300);
}

void loop()
{
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  Serial.print(ax); Serial.print(", ");
  Serial.print(ay); Serial.print(", ");
  Serial.print(az); Serial.print(" : ");
  Serial.print(gx); Serial.print(", ");
  Serial.print(gy); Serial.print(", ");
  Serial.print(gz); Serial.println("");
  delay(100);//0.1秒停止。停止時間はお好みで調整。
}

エラーが出る場合(2021.01.03追記)

冒頭の #include "MPU6050.h" のところでエラーが出る場合は、ライブラリをインポートします。
メニューの「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」でMPU6050を検索し、「MPU6050」を導入すればOKです。

実行

超シンプルですが、これだけでシリアルモニタ上でずらりとデータが表示されるのが確認できるようになります。
加速度x,加速度y,加速度z : ジャイロx,ジャイロy,ジャイロz の順で書き出されます。

あくまで参考ですが、手元の基板では向きは上図のようになっていました。(※違っていたらすみません。)

次回記事

このセンサーの値を使ってProcessing3で書いた画面内のオブジェクトをグリグリ動かします。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?