MPU6050의 값을 arduino의 직렬로 내보내고 싶습니다.
마지막 기사
htps : // 이 m / 니가와_ 이즈미 / ms / 8d9 023547c20bc171 A0
이것이 계속됩니다.
할 일
6축 센서의 GY-521(MPU6050)의 값을 arduino(수중의 것은 Teensy3.2)로 읽어내, 그 로우 데이터를 시리얼에 써냅니다.
6축 센서란?
가속도 센서는 중력 가속도를 감지하고 수평에 대한 기울기를 포착할 수 있습니다.
자이로 센서는 각속도를 감지하고 회전의 움직임을 포착할 수 있습니다.
각각 xyz3축씩 총 6축의 데이터를 검출할 수 있는 것이 6축 센서입니다.
MPU6050의 데이터를 사용하기 쉽게 보정, 가공하여 출력하는 패키지 중 하나가 GY-521입니다.
준비물·실시 환경
연결
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 순으로 내보내집니다.
어디까지나 참고입니다만, 수중의 기판에서는 방향은 위 그림과 같이 되어 있었습니다. (※ 다르면 죄송합니다.)
다음 번 기사
htps : // 이 m/니나가와_이즈미/있어 ms/93에0d64d1c220카에940b
이 센서의 값을 사용하여 Processing3으로 작성한 화면의 오브젝트를 글리그리 이동합니다.
Reference
이 문제에 관하여(MPU6050의 값을 arduino의 직렬로 내보내고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ninagawa_Izumi/items/25cc0469ef1dee8481a5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)