Подключение гироскопа GY-521 MPU-6050 к Arduio: различия между версиями
| Строка 15: | Строка 15: | ||
== Подключение к плате Arduino == | == Подключение к плате Arduino == | ||
[[Файл:Подключение_к_плате_Arduino.png|альт=]] | [[Файл:Подключение_к_плате_Arduino.png|альт=]] | ||
| + | |||
| + | === Порядок подключения: === | ||
| + | |||
| + | * Подключаем плату GY521 к плате Arduino по схеме | ||
| + | * Загружаем в плату Arduino код-лист представленный ниже | ||
| + | * Открываем монитор последовательного порта Arduino IDE и смотрим вывод данных гироскопа и акселерометра | ||
| + | * При поворотах датчика данные изменяются. | ||
| + | |||
| + | ==== Код-лист для считывания значений гироскопа и акселерометра с датчика MPU6050. ==== | ||
| + | // подключение библиотеке | ||
| + | |||
| + | <nowiki>#</nowiki>include "I2Cdev.h" | ||
| + | |||
| + | <nowiki>#</nowiki>include "MPU6050.h" | ||
| + | |||
| + | <nowiki>#</nowiki>include "Wire.h" | ||
| + | |||
| + | MPU6050 accelgyro; | ||
| + | |||
| + | int16_t ax, ay, az; | ||
| + | |||
| + | int16_t gx, gy, gz; | ||
| + | |||
| + | void setup() | ||
| + | |||
| + | { | ||
| + | |||
| + | |||
| + | |||
| + | } | ||
| + | |||
| + | Wire.begin(); | ||
| + | |||
| + | Serial.begin(38400); | ||
| + | |||
| + | // инициализация | ||
| + | |||
| + | 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.println(gz); | ||
| + | |||
| + | } | ||
Версия 16:51, 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(38400);
// инициализация
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.println(gz);
}

