Робототехника → Датчики, сенсоры, дисплеи |
Товар отсутствует на складе Мы можем уведомить Вас о его поступлении. Нажмите кнопочку! ![]() |
Код товара: RDKT0384
Модуль RA088. Трехосевой цифровой магниторезистивный компас GY-271Бренд: DIY |
||||||||
|
||||||||
|
|
|||||||
Модуль GY-271 на микросхеме HMC5883L - это трехосевой цифровой магниторезистивный компас (магнитометр на три координаты). В качестве сенсоров используется три магниторезистивных датчика. Это дает возможность получать трехмерную картину направленности магнитного поля и его величину. Датчик может использоваться в мобильных телефонах, планшетах, навигационном оборудовании, при конструировании роботов и радиоуправляемых моделей. Микросхема HMC5883L компания Honeywell имеет малый размер и низкое энергопотребление, работает по шине I2C. Напряжение питания составляет 2.2-3.6В, чувствительность датчика 5 миллигаусс. Имеет автоматическую калибровку. На плате модуля GY-271 установлен стабилизатор питания, а также размещены необходимые для надежного функционирования подтягивающие резисторы и удобно расположенные контакты с шагом 2.54 мм. Модуль выполнен в виде многослойной платы, готовой к установке. Это позволяет устанавливать модуль внешнего компаса таким образом, чтобы избежать помех от близко расположенных электродвигателей робота. Модуль имеет 5 контактов: •VCC – напряжение питания (3.3 – 5 В); •GND – общий; •SDA – шина данных по интерфейсу I2C; •SCL – шина синхронизации I2C; •DRDY – сигнал о готовности компаса к работе после самокалибровки. Схема подключения к плате Arduino. Для работы с датчиком есть готовая Arduino библиотека HMC5883L, которую необходимо скачать и установить в Arduino IDE. Скетч для расчета направления (угла отклонения на север). #include "HMC5883L.h" HMC5883L sensor; void setup(){ // запуск последовательного порта Serial.begin(9600); // запуск I2C Wire.begin(); // создание экземпляра HMC5883L sensor = HMC5883L(); // инициализация HMC5883L setupHMC5883L(); } void loop(){ // расчет направления и вывод в последовательный порт float heading = getHeading(); Serial.println(heading); delay(250); } // инициализация HMC5883L, и проверка наличия ошибок void setupHMC5883L(){ int error; // чувствительность датчика из диапазона: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1 error = sensor.SetScale(0.88); // проверка на ошибку if(error != 0) Serial.println(sensor.GetErrorText(error)); // установка режима измерений как Continuous (продолжительный) error = sensor.SetMeasurementMode(Measurement_Continuous); // проверка на ошибку if(error != 0) Serial.println(sensor.GetErrorText(error)); } // считывание данных с HMC5883L и рассчет направления float getHeading(){ // получить масштабированные элементы с датчика MagnetometerScaled scaled = compass.ReadScaledAxis(); // высчитать направление float heading = atan2(scaled.YAxis, scaled.XAxis); // коррекция значения с учетом знаков if(heading < 0) heading += 2*PI; if(heading > 2*PI) heading -= 2*PI; // перевод радианов в градусы return heading * RAD_TO_DEG; } ![]() ![]() ![]() ------------------ КВЛЕ0384 - 230 |
![]() |
Модуль RI062. Компас 3-х осевой GY-283 (CJMCU-HMC5983) |