Arduino GY8511

Arduino GY8511
Артикул: 2504526

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino GY8511

Отличный выбор датчика! GY-8511 — это популярный и недорогой модуль на базе компасного чипа HMC5883L (реже встречаются варианты с QMC5883L). Он широко используется в проектах Arduino для определения ориентации в пространстве.

Описание модуля GY-8511

Модуль GY-8511 представляет собой плату с 3-осевым магнитометром (электронным компасом). Его основная функция — измерение силы и направления магнитного поля Земли, что позволяет определять магнитный азимут (направление относительно магнитного севера).

Принцип работы: Датчик содержит материал, сопротивление которого меняется в зависимости от силы и направления воздействующего магнитного поля. По измеренным значениям по трем осям (X, Y, Z) микроконтроллер вычисляет угол курса.

Ключевые особенности:

  • Цифровой интерфейс: Обмен данными по I2C, что упрощает подключение и требует всего 2 сигнальных провода.
  • Низкое энергопотребление: Идеален для портативных и автономных устройств.
  • Высокая чувствительность: Способен улавливать слабые магнитные поля.
  • Компактность: Небольшие габариты платы.

Технические характеристики

Характеристики приведены для базового чипа HMC5883L, который чаще всего установлен на GY-8511.

| Параметр | Значение / Описание | | :--- | :--- | | Основной чип | Honeywell HMC5883L (или аналог QMC5883L, LSM303) | | Интерфейс связи | I2C (адрес по умолчанию: 0x1E для HMC5883L) | | Напряжение питания | 3.3В (ВАЖНО! Плата имеет стабилизатор, но логические уровни — 3.3В) | | Измерительные оси | 3 оси (X, Y, Z) | | Диапазон измерений | ±1.3 – ±8.1 Гаусса (настраивается программно). Для компаса обычно ±1.3 Гс. | | Разрешение | До 0.73 мГаусс (милиГаусс) на отсчет (при диапазоне ±1.3 Гс) | | Частота обновления | До 75 Гц (настраивается) | | Температурный диапазон | -40°C … +85°C | | Ключевой вывод | DRDY (Data Ready) — вывод прерывания, сигнализирующий о готовности данных. |

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: Хотя плата имеет стабилизатор 5V -> 3.3V для питания датчика, логические уровни I2C-шины (выводы SCL/SDA) — 3.3V. Подключение напрямую к 5V-контроллерам (как классический Arduino Uno) может повредить датчик. Рекомендуется использовать:

  1. Платы Arduino с логикой 3.3V (Arduino Due, Zero, большинство ESP32/ESP8266).
  2. Преобразователь уровней (Level Shifter) для линий SCL/SDA.
  3. Подключение через резисторы-ограничители тока (~4.7 кОм) с подтяжкой к 3.3V (рискованный метод).

Парт-номера и совместимые модели

Модуль продается под разными названиями, но имеет идентичную или очень схожую схему.

Парт-номера модулей (фактически одно и то же):

  • GY-8511 (наиболее распространенное название)
  • HMC5883L Compass Module
  • QMC5883L Compass Module (функциональный аналог, часто с тем же расположением пинов)
  • GY-271 (часто используется для модулей с HMC5883L)
  • Magnetometer Module V2 / V3

Совместимые / Аналогичные датчики (по функционалу):

  • QMC5883L: Более современный аналог от китайских производителей. Имеет совместимый по выводам модуль, но может требовать другой библиотеки. Адрес I2C часто 0x0D.
  • LSM303DLHC / LSM303AGR: Комбинированный датчик (акселерометр + магнитометр). Значительно более продвинутый, также использует I2C.
  • MMC5983MA: Высокоточный магнитометр с большим диапазоном.
  • BMM150 (от Bosch): Часто встречается в модулях GY-273, используется в носимой электронике.

Подключение к Arduino (на примере HMC5883L)

Схема подключения (с использованием преобразователя уровней для 5V Arduino):

| Модуль GY-8511 | Преобразователь уровней (3.3V сторона) | Преобразователь уровней (5V сторона) | Arduino Uno (5V) | | :--- | :--- | :--- | :--- | | VCC | -> | | 3.3V или 5V (через стабилизатор на плате) | | GND | -> | -> | GND | | SCL | -> SCL | SCL -> | A5 (или SCL-пин) | | SDA | -> SDA | SDA -> | A4 (или SDA-пин) | | DRDY | | | Не подключается или на цифровой пин (опционально) |

Необходимые библиотеки для Arduino IDE:

  1. Для HMC5883L: Официальной библиотеки от Honeywell нет, но популярна библиотека Adafruit_HMC5883_U (от Adafruit) или HMC5883L (от jarzebski).
  2. Для QMC5883L: Библиотека QMC5883LCompass или QMC5883L.

Пример базового кода (с библиотекой Adafruit_HMC5883_U):

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>

Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);

void setup() {
  Serial.begin(9600);
  if (!mag.begin()) {
    Serial.println("Не найден HMC5883L!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  mag.getEvent(&event);

  // Вычисляем угол курса (в радианах) относительно магнитного севера
  float heading = atan2(event.magnetic.y, event.magnetic.x);
  // Конвертируем радианы в градусы
  float headingDegrees = heading * 180 / M_PI;
  // Корректируем склонение (узнайте для вашей местности). Например, +6.5 градусов.
  headingDegrees += 6.5;
  // Нормализуем от 0 до 360
  if (headingDegrees < 0) headingDegrees += 360;

  Serial.print("Курс: "); Serial.println(headingDegrees);
  delay(500);
}

Сферы применения:

  • Робототехника (навигация, ориентация).
  • Беспилотные модели (квадрокоптеры, самолеты, машины).
  • Умные компасы и навигационные устройства.
  • Системы отслеживания положения (в сочетании с акселерометром и гироскопом).
  • Интерактивные инсталляции и искусство.

Вывод: GY-8511 — это отличный начальный магнитометр для Arduino-проектов, связанных с определением направления. Главное — помнить о необходимости согласования уровней напряжения 3.3V/5V при подключении к классическим платам Arduino.

Совместимые модели для Arduino GY8511

Arduino GY8511