Как использовать модуль GY-521 с Arduino: полное руководство

  • GY-521 объединяет акселерометр и гироскоп на одном чипе.
  • Позволяет настроить шкалу для получения более точных измерений.
  • Легко подключается к Arduino через интерфейс I2C.
  • Он идеально подходит для проектов дронов, робототехники и носимых устройств.

Модуль Arduino GY-521

El Модуль GY-521 Этот компонент широко используется в проектах, связанных с измерением движения и ориентации, благодаря тому, что он объединяет акселерометр и гироскоп в одном устройстве. Этот компонент универсален и может использоваться в проектах с платформами разработки, такими как Arduino, предоставляя важные данные об ускорении по трем осям и угловой скорости.

Эта статья предоставит вам всю информацию, необходимую для понимания и работы с GY-521, от его наиболее технических характеристик до примеров кода, которые вы можете реализовать с помощью Arduino. Мы также увидим, как этот модуль можно подключить к Arduino и какие типы данных можно извлечь и использовать в ваших проектах.

Что такое GY-521 и как он работает?

Модуль GY-521 основан на датчике MPU-6050 — чипе, сочетающем в себе трехосный акселерометр и трехосный гироскоп. Это означает, что GY-521 может измерять как ускорение, так и угловую скорость по всем трем осям (X, Y и Z).

Акселерометр Он измеряет ускорение в трех направлениях, включая ускорение, вызванное движением, и ускорение, вызванное силой тяжести. Это означает, что он может определить угол, под которым устройство наклонено относительно Земли.

Гироскоп, в свою очередь, измеряет угловую или вращательную скорость по трем осям. Таким образом, вы можете узнать, как быстро что-то вращается и в каком направлении.

Технические характеристики GY-521

gy-521 ардуино-4

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

  • Рабочее напряжение: Он может питаться как от 3.3В, так и от 5В, благодаря тому, что в самом модуле имеется регулятор напряжения.
  • I2C-соединение: Этот модуль взаимодействует с Arduino или любой другой платформой с помощью шины I2C, что упрощает подключение и управление устройством.
  • Диапазон измерения акселерометра: Акселерометр может измерять в регулируемом диапазоне от ±2g до ±16g, что позволяет регулировать точность в соответствии с потребностями проекта.
  • Диапазон измерения гироскопа: Как и акселерометр, гироскоп имеет разные диапазоны регулировки, а именно ±250, ±500, ±1000 или ±2000 градусов в секунду.

В дополнение к этим функциям GY-521 имеет Цифро-аналоговый преобразователь (САПР) 16 бит, что обеспечивает высокую точность преобразования аналоговых сигналов от датчиков в цифровые данные, которые могут быть обработаны вашим Arduino.

Подключение GY-521 к Arduino

Подключить модуль GY-521 к Arduino очень просто благодаря интерфейсу I2C. Он Шина I2C Он использует два контакта: один для сигнала данных (SDA), а другой для тактового сигнала (SCL).

Для подключения GY-521 к плате Arduino UNO:

  • Подключите контакт VCC от модуля к выводу 5В Arduino.
  • Подключите контакт GND от модуля к выводу GND Arduino.
  • Подключите контакт SCL для вывода A5 Arduino.
  • Подключите контакт SDA для вывода A4 Arduino.

Подключив GY-521 к Arduino, вы можете загрузить простой пример кода, чтобы начать считывание данных с акселерометра и гироскопа.

Пример кода для чтения данных с GY-521 с помощью Arduino

Ниже мы покажем вам базовый пример кода, позволяющий начать считывание данных, поступающих от акселерометра и гироскопа. Библиотека используется Провод.ч что облегчает связь с устройствами I2C, такими как GY-521.

#include 

const int MPU = 0x68; // Dirección I2C del MPU-6050.
int16_t accelerometer_x, accelerometer_y, accelerometer_z;
int16_t gyro_x, gyro_y, gyro_z;
int16_t temperature;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B); // Registro de gestión de energía del MPU6050.
  Wire.write(0); // Coloca a cero para activar el sensor.
  Wire.endTransmission(true);
}

void loop() {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B); // Comienza a leer desde el registro 0x3B (datos de aceleración).
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 14, true); // Solicita 14 registros del sensor.

  // Leer datos de aceleración:
  accelerometer_x = Wire.read() << 8 | Wire.read();
  accelerometer_y = Wire.read() << 8 | Wire.read();
  accelerometer_z = Wire.read() << 8 | Wire.read();

  // Leer datos de giroscopio:
  gyro_x = Wire.read() << 8 | Wire.read();
  gyro_y = Wire.read() << 8 | Wire.read();
  gyro_z = Wire.read() << 8 | Wire.read();

  Serial.print("Acc: X="); Serial.print(accelerometer_x);
  Serial.print(" | Y="); Serial.print(accelerometer_y);
  Serial.print(" | Z="); Serial.println(accelerometer_z);
  Serial.print("Gyro: X="); Serial.print(gyro_x);
  Serial.print(" | Y="); Serial.print(gyro_y);
  Serial.print(" | Z="); Serial.println(gyro_z);
  delay(500);
}

Этот базовый код будет считывать данные ускорения и вращения по всем трем осям и отображать значения на последовательном мониторе Arduino.

Регулировка масштаба и чувствительности

GY-521 позволяет отрегулировать масштаб и чувствительность как акселерометра, так и гироскопа, что полезно, если вы хотите получить более точные измерения или для проектов, в которых вы ожидаете обнаружить более резкие движения.

Чтобы изменить масштаб гироскопа и акселерометра, необходимо изменить определенные регистры MPU-6050. Вот как это сделать:

  • Шкала акселерометра: Вы можете настроить диапазон до ±2g, ±4g, ±8g или ±16g, зарегистрировав АКЦЕЛ_КОНФИГ. В зависимости от значения, записанного в этот регистр, назначается нужный диапазон.
  • Шкала гироскопа: Для гироскопа диапазон можно регулировать в пределах ±250, ±500, ±1000 и ±2000 градусов в секунду путем регистрации ГИРО_КОНФИГ.

Внеся эти изменения, датчик изменит свою чувствительность, что позволит вам получать более точные данные или обнаруживать более широкий диапазон движения.

Фильтрация данных: Дополнительный фильтр

Одна из проблем при работе с такими датчиками, как GY-521, заключается в том, что данные ускорения и гироскопа часто имеют определенный уровень шума. Чтобы улучшить качество данных, вы можете применить дополнительный фильтр который объединяет оба датчика для получения более точной оценки ориентации устройства.

Дополнительный фильтр использует данные гироскопа для измерения быстрых изменений ориентации, а данные акселерометра используются для коррекции дрейфа и получения более стабильных долгосрочных измерений.

Приложения GY-521

Благодаря способности измерять ускорение и угловую скорость GY-521 используется в самых разных проектах и ​​приложениях. Некоторые из наиболее распространенных включают в себя:

  • Системы управления дроном: Информация, предоставляемая акселерометром и гироскопом, является ключом к поддержанию стабильности в полете.
  • Робототехника: Некоторые роботы используют данные об ускорении и вращении для перемещения и обнаружения изменений в окружающей среде.
  • Портативные устройства: Датчики, подобные GY-521, используются в таких устройствах, как фитнес-браслеты или умные часы, для измерения движений пользователя.

Это всего лишь несколько примеров, но возможности применения поистине безграничны, когда дело доходит до измерения и интерпретации данных о движении и ориентации.

Заключение: Почему вам следует выбрать GY-521 для своих проектов

GY-521 с интегрированным акселерометром и гироскопом на одном чипе является мощным и универсальным инструментом для любого электронного проекта. Будучи совместимым с Arduino и имеющим интерфейс I2C, его действительно легко интегрировать в любую систему. Кроме того, его настраиваемость с точки зрения чувствительности и тот факт, что его можно реализовать в различных робототехнике, управлении движением и других проектах, делают его идеальным выбором для любого производителя или инженера, проходящего обучение.

Если вы ищете надежный и простой в использовании датчик с множеством применений, GY-521 обязательно должен быть в вашем списке обязательных компонентов.


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.