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

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


==== Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050. ====
==== Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050. ====
[[Файл:Код-лист .png]]
<syntaxhighlight lang="c">
[[Файл:Код-лист2.png]]
#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);
}
</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);
}