Оглавление:
- Шаг 1: Обзор BMG160:
- Шаг 2: Что вам нужно..
- Шаг 3: Подключение оборудования:
- Шаг 4: Измерение 3-осевого гироскопа Код Arduino:
- Шаг 5: Приложения:
Видео: Подключение 3-осевого гироскопического датчика BMG160 к Arduino Nano: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
В современном мире более половины молодежи и детей увлекаются играми, и все, кто увлекается ими, увлеченные техническими аспектами игр, знают важность определения движения в этой области. Нас тоже поразило то же самое, и, просто чтобы показать это на досках, мы подумали о работе над датчиком гироскопа, который может измерять угловую скорость любого объекта. Итак, датчик, который мы взяли для решения этой задачи, - BMG160. BMG160 - это 16-битный цифровой трехосный гироскопический датчик, который может измерять угловую скорость в трех перпендикулярных измерениях комнаты.
В этом уроке мы собираемся продемонстрировать работу BMG160 с Arduino Nano.
Для этого вам понадобится следующее оборудование:
1. BMG160
2. Arduino Nano
3. Кабель I2C
4. I2C Shield для Arduino Nano.
Шаг 1: Обзор BMG160:
Прежде всего, мы хотели бы познакомить вас с основными функциями сенсорного модуля BMG160 и протоколом связи, по которому он работает.
BMG160 - это, по сути, 16-битный цифровой трехосный гироскопический датчик, который может измерять угловые скорости. Он способен вычислять угловые скорости в трех перпендикулярных измерениях комнаты, по осям x, y и z, и выдавать соответствующие выходные сигналы. Он может связываться с платой raspberry pi, используя протокол связи I2C. Этот конкретный модуль разработан для удовлетворения требований как для потребительских приложений, так и для промышленных целей.
Протокол связи, по которому работает датчик, - I2C. I2C означает межинтегральную схему. Это протокол связи, в котором связь осуществляется через линии SDA (последовательные данные) и SCL (последовательные часы). Это позволяет одновременно подключать несколько устройств. Это один из самых простых и эффективных протоколов связи.
Шаг 2: Что вам нужно..
Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:
1. BMG160
2. Arduino Nano
3. Кабель I2C
4. I2C Shield для Arduino Nano.
Шаг 3: Подключение оборудования:
В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Arduino. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:
BMG160 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.
Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого.
Все, что вам нужно, это четыре провода! Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.
Эти соединения показаны на рисунках выше.
Шаг 4: Измерение 3-осевого гироскопа Код Arduino:
А теперь давайте начнем с кода Arduino.
При использовании сенсорного модуля с arduino мы включаем библиотеку Wire.h. Библиотека Wire содержит функции, которые облегчают обмен данными i2c между датчиком и платой Arduino.
Полный код Arduino приведен ниже для удобства пользователя:
# include // BMG160 I2C адрес 0x68 (104)
#define Addr 0x68
установка void ()
{
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр диапазона
Wire.write (0x0F);
// Настраиваем полный диапазон шкалы 2000 dps
Wire.write (0x80);
// Остановка передачи I2C
Wire.endTransmission ();
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр пропускной способности
Wire.write (0x10);
// Устанавливаем полосу пропускания = 200 Гц
Wire.write (0x04);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
}
пустой цикл ()
{
данные типа int без знака [6];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбор регистра данных гирометра
Wire.write (0x02);
// Остановка передачи I2C
Wire.endTransmission ();
// Запрос 6 байтов данных
Wire.requestFrom (Адрес, 6);
// Чтение 6 байтов данных
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
если (Wire.available () == 6)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
данные [2] = Wire.read ();
данные [3] = Wire.read ();
данные [4] = Wire.read ();
данные [5] = Wire.read ();
}
задержка (300);
// Конвертируем данные
int xGyro = ((данные [1] * 256) + данные [0]);
int yGyro = ((данные [3] * 256) + данные [2]);
int zGyro = ((данные [5] * 256) + данные [4]);
// Выводим данные на последовательный монитор
Serial.print («Ось вращения X:»);
Serial.println (xGyro); Serial.print («Ось вращения Y:»);
Serial.println (yGyro); Serial.print («Ось вращения Z:»);
Serial.println (zGyro);
задержка (500);
}
Шаг 5: Приложения:
BMG160 имеет разнообразное применение в таких устройствах, как сотовые телефоны и устройства человеко-машинного интерфейса. Этот сенсорный модуль был разработан для удовлетворения требований для потребительских приложений, таких как стабилизация изображения (DSC и камера-телефон), игровые и указывающие устройства. Он также используется в системах, требующих распознавания жестов, и в системах внутренней навигации.
Рекомендуемые:
Подключение газового датчика к Arduino: 4 шага
Сопряжение газового датчика с Arduino: датчик дыма MQ-2 чувствителен к дыму и следующим легковоспламеняющимся газам: сжиженный нефтяной газ, бутан, пропан, метан, спирт, водород. Сопротивление датчика разное в зависимости от типа газа. Датчик дыма имеет встроенный потенциометр
Подключение датчика температуры LM35 к Arduino: 4 шага
Подключение датчика температуры LM35 к Arduino: термометры - это полезный прибор, который долгое время использовался для измерения температуры. В этом проекте мы создали цифровой термометр на базе Arduino для отображения текущей температуры окружающей среды и изменений температуры на ЖК-дисплее. Это может быть
Подключение датчика температуры DS18B20 к Arduino и ESP8266: 8 шагов
Сопряжение датчика температуры DS18B20 с Arduino и ESP8266: Привет, как дела, ребята! Акарш от CETech. Сегодня мы собираемся добавить новый датчик в наш арсенал, известный как датчик температуры DS18B20. Это датчик температуры, аналогичный DHT11, но имеющий другой набор применений. Будем сравнивать с
Подключение датчика DHT11 / DHT22 к облаку с помощью платы на базе ESP8266: 9 шагов
Подключение датчика DHT11 / DHT22 к облаку с помощью платы на базе ESP8266: в предыдущей статье я подключил свою плату NodeMCU на базе ESP8266 к службе Cloud4RPi. Пришло время для настоящего проекта
Правильное подключение светодиодов: последовательное и параллельное подключение: 6 шагов
Правильная разводка светодиодов: последовательное и параллельное соединение: в этой инструкции мы говорим о светодиодах - светоизлучающих диодах и о том, как мы можем их подключить, если у нас есть несколько устройств. Это один урок, который я хотел бы знать с самого начала, потому что, когда я начал возиться с электронными схемами, я построил несколько