Оглавление:
- Шаг 1. Общая информация о модуле «Компас»
- Шаг 2: Необходимые компоненты
- Шаг 3. Сопряжение модуля компаса GY-511 с Arduino
- Шаг 4: Калибровка модуля компаса GY-511
- Шаг 5: Схема
- Шаг 6: Код
- Шаг 7: создание цифрового компаса
- Шаг 8: Схема
- Шаг 9: Код
- Шаг 10: что дальше?
Видео: Как использовать модуль GY511 с Arduino [сделать цифровой компас]: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Обзор
В некоторых проектах в области электроники нам необходимо знать географическое положение в любой момент и соответственно выполнить определенную операцию. В этом руководстве вы узнаете, как использовать модуль компаса LSM303DLHC GY-511 с Arduino для создания цифрового компаса. Сначала вы узнаете об этом модуле и о том, как он работает, а затем узнаете, как связать модуль LSM303DLHC GY-511 с Arduino.
Что вы узнаете
- Что это за модуль компаса?
- Модуль компаса и интерфейс Arduino.
- Сделайте цифровой компас с модулем GY-511 и Arduino.
Шаг 1. Общая информация о модуле «Компас»
Модуль GY-511 включает в себя 3-осевой акселерометр и 3-осевой магнитометр. Этот датчик может измерять линейное ускорение в полном масштабе ± 2 г / ± 4 г / ± 8 г / ± 16 г и магнитные поля в полном масштабе ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Гаусс.
Когда этот модуль помещается в магнитное поле, в соответствии с законом Лоренца в его микроскопической катушке индуцируется ток возбуждения. Модуль компаса преобразует этот ток в дифференциальное напряжение для каждого направления координат. Используя эти напряжения, вы можете рассчитать магнитное поле в каждом направлении и получить географическое положение.
Кончик
QMC5883L - еще один широко используемый модуль компаса. Этот модуль, который имеет аналогичную структуру и применение, что и модуль LMS303, немного отличается по производительности. Поэтому, если вы занимаетесь проектами, будьте осторожны с типом вашего модуля. Если ваш модуль QMC5882L, используйте соответствующую библиотеку и коды, которые также включены в руководство.
Шаг 2: Необходимые компоненты
Компоненты оборудования
Ардуино UNO R3 * 1
GY-511 3-осевой акселерометр + магнитометр * 1
Сервомотор TowerPro SG-90 * 1
1602 ЖК-модуль * 1
Джемперы * 1
Программные приложения
IDE Arduino
Шаг 3. Сопряжение модуля компаса GY-511 с Arduino
Модуль компаса GY-511 имеет 8 контактов, но вам нужно только 4 из них для взаимодействия с Arduino. Этот модуль взаимодействует с Arduino по протоколу I2C, поэтому подключите контакты SDA (выход I2C) и SCK (вход часов I2C) модуля к контактам I2C на плате Arduino.
Примечание. Как видите, в этом проекте мы использовали модуль GY-511. Но вы можете использовать эту инструкцию для настройки других модулей компаса LMS303.
Шаг 4: Калибровка модуля компаса GY-511
Для навигации сначала необходимо откалибровать модуль, то есть установить диапазон измерения от 0 до 360 градусов. Для этого подключите модуль к Arduino, как показано ниже, и загрузите следующий код на свою плату. После выполнения кода вы можете увидеть минимальное и максимальное значения диапазона измерения для осей X, Y и Z в окне последовательного монитора. Эти числа понадобятся вам в следующей части, поэтому запишите их.
Шаг 5: Схема
Шаг 6: Код
В этом коде вам понадобится библиотека Wire.h для связи I2C и библиотека LMS303.h для модуля компаса. Вы можете скачать эти библиотеки по следующим ссылкам.
LMS303.h Библиотека
Библиотека Wire.h
Примечание. Если вы используете QMC5883, вам понадобится следующая библиотека:
MechaQMC5883L.h
Здесь мы объясняем код для LMS303, но вы также можете загрузить коды для модуля QMC.
Давайте посмотрим на некоторые из новых функций:
compass.enableDefault ();
Инициализация модуля
compass.read ();
Чтение выходных значений модуля компаса
running_min.z = min (running_min.z, compass.mz); running_max.x = макс (running_max.x, compass.m.x);
Определение минимального и максимального значений диапазона измерения путем сравнения измеренных значений.
Шаг 7: создание цифрового компаса
После калибровки модуля мы собираемся построить компас, подключив к модулю серводвигатель. Так что индикатор сервопривода всегда показывает нам северное направление, как красная стрелка на компасе. Для этого сначала модуль компаса вычисляет географическое направление и отправляет его в Arduino, а затем, применяя соответствующий коэффициент, вы вычисляете угол, на который серводвигатель должен вращаться, чтобы его индикатор указывал на магнитный север. В конце концов, мы применяем этот угол к серводвигателю.
Шаг 8: Схема
Шаг 9: Код
Для этой части вам также понадобится библиотека Servo.h, которая по умолчанию установлена в вашем программном обеспечении Arduino.
Давайте посмотрим на некоторые из новых функций:
Серво Серво1;
Инициализация модуля
compass.read ();
Представляем объект серводвигателя
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
Инициализация модуля компаса и серводвигателя
Аргумент Servo1.attach () - это номер вывода, подключенного к серводвигателю.
compass.m_min = (LSM303:: vector) {- 32767, -32767, -32767}; compass.m_max = (LSM303:: vector) {+ 32767, +32767, +32767};
Используя эти строки, вы определяете минимальные и максимальные значения для измерения диапазона, полученные в предыдущей части.
float heading = compass.heading ((LSM303:: vector) {0, 0, 1});
Функция heading () возвращает угол между осью координат и фиксированной осью. Вы можете определить фиксированную ось с помощью вектора в аргументе функции. Например, здесь, определяя (LSM303:: vector) {0, 0, 1}, ось Z рассматривается как постоянная ось.
Servo1.write (заголовок);
Функция Servo1.write () применяет значение, считываемое модулем компаса, к серводвигателю.
Примечание Обратите внимание, что серводвигатель может иметь магнитное поле, поэтому лучше разместить серводвигатель на подходящем расстоянии от модуля компаса, чтобы он не отклонялся от модуля компаса.
Рекомендуемые:
Как использовать модуль RFID-RC522 с Arduino: 5 шагов
Как использовать модуль RFID-RC522 с Arduino: в этом руководстве я расскажу об основополагающем принципе работы модуля RFID вместе с его тегами и микросхемами. Я также приведу краткий пример проекта, который я сделал с использованием этого модуля RFID со светодиодом RGB. Как обычно с моими Ins
Цифровой компас и средство определения курса: 6 шагов
Цифровой компас и средство определения курса: Авторы: Каллан Уилан, Эндрю Люфт Блейк Джонсон Благодарности: Калифорнийская морская академия Эван Чанг-Сиу Введение: Основой этого проекта является цифровой компас с отслеживанием курса. Это позволяет пользователю следить за курсом на большом расстоянии
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: 4 шага
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: многие люди знают, как использовать штангенциркуль для измерения. Из этого туториала Вы узнаете, как разобрать цифровой штангенциркуль, и объясните, как работает цифровой штангенциркуль
Цифровой компас с использованием Arduino и магнитометра HMC5883L: 6 шагов
Цифровой компас с использованием Arduino и магнитометра HMC5883L: Привет, ребята, этот датчик может указывать географический север, юг, восток и запад, мы, люди, также можем использовать его время от времени, когда это необходимо. Так. В этой статье давайте попробуем понять, как работает датчик магнитометра и как его взаимодействовать с микроконтроллером
Как использовать терминал Mac и как использовать ключевые функции: 4 шага
Как использовать терминал Mac и как использовать основные функции: мы покажем вам, как открыть терминал MAC. Мы также покажем вам несколько функций Терминала, такие как ifconfig, изменение каталогов, доступ к файлам и arp. Ifconfig позволит вам проверить ваш IP-адрес и ваш MAC-адрес