Подключение гироскопа GY-521 MPU-6050 к Arduio: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 24: Строка 24:


==== Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050. ====
==== Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050. ====
// подключение библиотеке
<syntaxhighlight lang="c">
 
#include "I2Cdev.h"
<nowiki>#</nowiki>include "I2Cdev.h"
#include"MPU6050.h"
 
#include"Wire.h"
<nowiki>#</nowiki>include "MPU6050.h"
 
<nowiki>#</nowiki>include "Wire.h"
 
MPU6050 accelgyro;
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t ax, ay, az;
int16_t gx, gy, gz;
int16_t gx, gy, gz;
 
void setup() {
void setup()
  Wire.begin();
 
  Serial.begin(9600);
{
  //инициализация
 
  Serial.println("Initializing I2C devices...");
 
  accelgyro.initialize();
  delay(100);
}
}


Wire.begin();
void loop() {
 
  //чтение значений гироскопа и акселерометра
Serial.begin(38400);
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
 
  //вывод значений в монитор
// инициализация
  Serial.print("a/g:\t");
 
  Serial.print(ax); Serial.print("\t");
Serial.println("Initializing I2C devices...");
  Serial.print(ay); Serial.print("\t");
 
  Serial.print(az); Serial.print("\t");
accelgyro.initialize();
 
delay(100);
 
}
 
void loop()
 
{
 
// чтение значений гироскопа и акселерометра
 
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
 
// вывод значений в монитор
 
Serial.print("a/g:\t");
 
Serial.print(ax); Serial.print("\t");
 
Serial.print(ay); Serial.print("\t");
 
Serial.print(az); Serial.print("\t");
 
Serial.print(gx); Serial.print("\t");
 
Serial.print(gy); Serial.print("\t");
 
Serial.println(gz);


  Serial.print(gx); Serial.print("\t");
  Serial.print(gy); Serial.print("\t");
  Serial.print(gz);
}
}
</syntaxhighlight>

Текущая версия от 23:20, 28 мая 2021

GY-521 – модуль с гироскопом, акселерометром и термометром на базе микросхемы MPU-6050. Данный датчик подойдёт для тех проектов, в которых вам необходимо измерить ориентацию или движения прибора в пространстве, без точных данных о его местоположении.

Модуль GY521:

Характеристики модуля GY-521 (MPU6050)

  • Питание: 3,5 – 6 В;
  • Ток потребления: 500 мкА;
  • Акселерометр диапазон измерений: ± 2 ± 4 ± 8 ± 16g,
  • Гироскоп диапазон измерений: ± 250 500 1000 2000 ° / s,
  • Интерфейс: I2C.

Подключение к плате Arduino

Порядок подключения:

  • Подключаем плату GY521 к плате Arduino по схеме
  • Загружаем в плату Arduino код-лист представленный ниже
  • Открываем монитор последовательного порта Arduino IDE и смотрим вывод данных гироскопа и акселерометра
  • При поворотах датчика данные изменяются.

Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050.

#include "I2Cdev.h"
#include"MPU6050.h"
#include"Wire.h"
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;
void setup() {
  Wire.begin();
  Serial.begin(9600);
  //инициализация
  Serial.println("Initializing I2C devices...");
  accelgyro.initialize();
  delay(100);
}

void loop() {
  //чтение значений гироскопа и акселерометра
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  //вывод значений в монитор
  Serial.print("a/g:\t");
  Serial.print(ax); Serial.print("\t");
  Serial.print(ay); Serial.print("\t");
  Serial.print(az); Serial.print("\t");

  Serial.print(gx); Serial.print("\t");
  Serial.print(gy); Serial.print("\t");
  Serial.print(gz);
}