Подключение модуля трехосевого компаса GY-271 к Arduino

В статье детально расскажу шаги по правильному подключению модуля GY-271 к Arduino, а также продемонстрирую наглядный процесс чтения данных с датчика сразу на монитор порта. Использование данного модуля совместно с Arduino даёт возможность построить полноценный цифровой компас, способный точно определить основные направления сторон света: север, юг, восток и запад.

1. Технические параметры 


  • Тип модуля: GY-271;
  • Использованный чип: QMC5883L;
  • Источник питания: 3 – 5В;
  • Режим связи: I2C;
  • Габариты: 33 х 15 х 3 мм;
  • Вес: 2 грамм;

2. Описание модуля GY-271


Модуль оснащён современным высокочувствительным магниторезистивным датчиком QMC5883L, которая включает в себя предусилитель сигнала, автоматический демагнетизатор, систему коррекции смещения и высокоточный 12-разрядный аналого-цифровой преобразователь, обеспечивающий высокую точность измерения направления — погрешность составляет всего 1-2 градуса. Подключение к микроконтроллеру осуществляется с помощью двухпроводной шины I²C. Подключается модуль к микроконтроллерам через стандартную интерфейс-шину I²C, упрощающую работу с датчиками.

Модуль дополнительно оснащён встроенным стабилизатором напряжения, что позволяет подавать питание от стандартных источников с выходным уровнем 3,3 или 5 В. Интерфейс I²C также поддерживает напряжение 3,3 или 5 В, обеспечивая удобство и универсальность подключения.

Модуль GY-271 поставляется с микросхемами HMC5883L или QMC5883L и библиотеки отличаются. Для точного определения вашего варианта выполните сканирование шины I²C.

Конфигурация контактов:

  • VCC  – питание модуля 3.3В;
  • GND – минус от источника;
  • SDA –  шины данных I2C (SPI);
  • SCL –  шины данных I2C (SPI).
  • DRDY – Прерывающий контакт для подготовки данных.

3. Подключение модуля GY-271 к Arduino UNO


В качестве примера опишу последовательность действий по подключению 3-осевого магнитного датчика GY-271 к Arduino UNO и представлю фрагмент программы (скетч), который обеспечит вывод данных с датчика на последовательный порт.

Необходимые детали:

  • Arduino UNO R3 x 1 шт.
  • Модуль трехосевого цифрового компаса GY-271 x 1 шт.
  • Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
  • Кабель USB 2.0 A-B x 1 шт

Подключение:
Подключение GY-271 выполняется элементарно: достаточно соединить выводы согласно следующей схеме ниже. Сначала подключаем питание VCC и GND модуля присоединяется к выводу 5V и GND платы Arduino, затем контакт SCL и SDA модуля подключаем к выводу A5 и A4 Arduino.

Определение чипа:
Простейший метод идентификации модуля типа QMC5883L заключается в использовании сканера интерфейса I²C. Этот вариант отличается собственным уникальным адресом (0x0D), отличным от стандартного адреса устройства HMC5883L.

Получив указанный результат, можете быть уверены, что перед вами модификация QMC5883L.

Установка библиотки:
Для работы, будем использовать библиотеку «QMC5883LCompass» скачать можно используя интегрированную среду разработки Arduino IDE», для этого откройте «Скетч → Подключение библиотеки → Менеджер библиотек…», так же выложу библиотеки в конце статьи.

Калибровка:
Первым делом необходимо получить калибровочные показания датчика QMC5883L загрузите данный скетч на ваш Arduino.

После загрузки скетча откройте монитор последовательного порта и подвигайте модуль вперед и назад, в конце необходимо скопировать две строчки compass.setCalibrationOffsets и compass.setCalibrationScales

Программа:
Скопируйте ниже скетч и загрузите его в плату Arduino UNO вставив ваши калибровочные показания.

После загрузки скетча откройте монитор последовательного порта.

Купить Arduino UNO
Купить модуль трехосевого цифрового компаса GY-271

Вам может также понравиться...

Добавить комментарий

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