Электронный компонент:Плата Xadow с компасом
Черновик |
Плата Xadow с компасом
Эта плата оснащена 3-осевым цифровым компасом, чья точность составляет 1-2 градуса. Основной компонент платы – это датчик магнитных полей HMC5883, и он коммуницирует с микроконтроллером через шину I2C.
Купить плату Xadow с компасом можно по этой ссылке.
Характеристики
- Рабочее напряжение – 3.3 вольта
- Линейность – не более 0.1% от полной шкалы (в диапазоне ±2 гаусс)
- Разрешение – 10 мГс (миллигаусс)
- Диапазон измерения – от ±1 до ±8 гаусс
- I2C-адрес:
- 7 бит – 0x1E
- 8 бит (чтение) – 0x3D
- 8 бит (запись) – 0x3C
- Рабочая температура – от -30°C до +85°C
- Размеры – 25.43 мм х 20.35 мм
Демо-проект
Давайте сделаем проект, который будет считывать с компаса «сырые» данные, калибровать эти данные, используя магнитное склонение для вашего региона, и, наконец, указывать направление (в градусах и радианах).
Как найти магнитное склонение
Перед тем, как продолжить, нам нужно рассчитать магнитное склонение для места, в котором вы находитесь. В градусах его можно узнать по этой ссылке. К примеру, магнитное склонение для места, в котором нахожусь я – это -2°37’, что в переводе на градусы означает -2.617˚. Теперь эти градусы нужно преобразовать в радианы, и это рассчитывается так: -2.617 / (2 x π) = -0.0456752665 рад. Но нам будет достаточно и 4 цифр после точки, поэтому сокращаем это значение до -0.0456 рад. Это значение вы должны будете задать для переменной declinationAngle, которая находится в самом начале демо-скетча.
Примечание: Подключая кабель, следите за тем, чтобы одна его сторона была подключена к порту, который находится на стороне со срезанными углами, а другая – к порту, который находится на стороне с целыми углами. Пример показан на картинке выше.
Код
Теперь загрузите библиотеку «Grove 3-Axis Digital Compass» и установите ее в IDE Arduino. О том, как устанавливать библиотеки в IDE Arduino, читайте здесь или здесь.
Откройте в IDE Arduino демо-скетч «HMC5883L_Example», кликнув на Файл > Примеры > Digital Compass > HMC5883L_Example (Файл > Примеры > Digital Compass > HMC5883L_Example). Замените значение в переменной declinationAngle на то, что рассчитали выше.
Загрузите код и откройте монитор порта, чтобы посмотреть результаты.
Полезные ссылки
- Даташит для 3-осевого цифрового компаса HMC5883
- Схемы платы Xadow с компасом в формате Eagle
- Библиотека «Grove 3-Axis Digital Compass»