Informatics Point
Информатика и проектирование
#include "Wire.h"
#include "HMC5883L.h"L compass;setup(){.begin(9600);.begin();= HMC5883L(); // создаем экземпляр HMC5883L библиотекиL(); // инициализация HMC5883L
}loop(){heading = getHeading();.println(heading);(250);
}
void setupHMC5883L(){
// инициализация HMC5883L, и проверка наличия ошибокerror;= compass.SetScale(0.88); // чувствительность датчика из диапазона: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1
if(error != 0) Serial.println(compass.GetErrorText(error)); // если ошибка, то выводим ее= compass.SetMeasurementMode(Measurement_Continuous); // установка режима измерений как Continuous (продолжительный)(error != 0) Serial.println(compass.GetErrorText(error)); // если ошибка, то выводим ее
}getHeading(){
// считываем данные с HMC5883L и рассчитываем направлениеscaled = compass.ReadScaledAxis(); // получаем масштабированные элементы с датчика
float heading = atan2(scaled.YAxis, scaled.XAxis); // высчитываем направление
// корректируем значения с учетом знаков(heading < 0) heading += 2*PI;
if(heading > 2*PI) heading -= 2*PI;
return heading * RAD_TO_DEG; // переводим радианы в градусы
}
Чувствительность датчика задается функцией SetScale() и может быть выбрана только из следующих значений: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1.
После загрузки скетча в контроллер Arduino и запуске утилиты мониторинга порта, следует увидеть поступающие данные с датчика, представленные на (Рис.3):
Рис.3 Поступающие данные с датчика
Вращая датчик вокруг своей оси, будет изменяться градус поворота. 0° - это будет север, а 180° - юг. Следует помнить, что датчик очень чувствителен к любым намагниченным предметам, а также к сотовым телефонам и другим подобным устройствам излучающих магнитные поля. Также датчик необходимо располагать строго в горизонтальной плоскости, стоит его наклонить и тогда данные будут неверные. При применении цифровых компасов в робототехнике это необходимо учитывать и обычно, такие цифровые компасы применяют в паре с цифровым акселерометром, для компенсации наклона.
Схемотехника параметрических, линейных и импульсных стабилизаторов напряжения постоянного тока
Для выполнения курсовой работы были выбраны две схемы источников
вторичного электропитания с линейным и импульсным регулированием.
Импульсное регулировани ...
Ремонт и диагностика смартфонов HTC
Смартфон
(англ. smartphone - умный телефон) - мобильный телефон, дополненный
функциональностью карманного персонального компьютера.
Смартфоны
отличаются от ...
Проектирование и расчет трассы радиорелейной линии
Одним из основных видов средств связи являются радиорелейные линии прямой
видимости, которые используются для передачи сигналов многоканальных телефонных
со ...
Меню сайта
2025 © www.informaticspoint.ru