МЫ СОЗДАЕМ И ПРОИЗВОДИМ
ЭЛЕКТРОННЫЕ НАБОРЫ И МОДУЛИ
Описание товара
Подробное описание товара
Общие сведения
3-осевой компас QMC5883L — облегчает ориентирование на местности путём указания на магнитный полюс Земли.
Характеристики
- Питание: 3 - 5В;
- Потребление тока: 100 мкА;
- Интерфейс: I2C;
- Диапазон рабочих температур: от -40 ° C до + 85 °С;
- Габариты: 18,5 мм × 13,5 мм × 1,1 мм;
Подключение
- Выводы SDA и SCL модуля подключаются к аппаратной шине I2C Arduino.
- Выводы GND, VDD являются выводами питания (вывод VDD - питание модуля +3,3 В или 5 В)
- Выводы DRDY используется для прерывания, сигнализирует о готовности данных.
Питание
Напряжение питания модуля от 3 В до 5 В (по стандарту используется 3,3 В либо 5 В для плат Arduino.) постоянного тока, подаётся на выводы VDD и GND модуля.
Подробнее о компасе
Датчик GY-273 разработан на основе чипа QMC5883L. Трехосевой магнито-резистивные датчики. Широкодиапазонное рабочее напряжение (от 3 В до 5 В). Энергопотребление (100 мкA). Точность 1 ° до 2 ° градусов. Интерфейс I2C со стандартным и быстрым режимами. Широкий диапазон магнитного поля.
Для работы с компасом рекомендуем вам воспользоваться библиотекой DFRobot_QMC5883.
Примеры
Считывание показаний датчика и вывод их в радианах и в градусах в монитор порта.
Таблица подключения выводов датчика:
- SDA - подключается к линии данных SDA шины I2C или к выводу A4 Arduino UNO.
- SCL - подключается к линии тактирования SCL шины I2C или к выводу A5 Arduino UNO.
- GND - подключается к выводу GND Arduino UNO.
- VDD - подключается к выводу 5V Arduino UNO.
- DRDY - не используются.
#include <Wire.h> #include <DFRobot_QMC5883.h> DFRobot_QMC5883 compass; void setup() { Serial.begin(115200); while (!compass.begin()) { Serial.println("Could not find a valid QMC5883 sensor, check wiring!"); delay(500); } if(compass.isHMC()){ Serial.println("Initialize HMC5883"); compass.setRange(HMC5883L_RANGE_1_3GA); compass.setMeasurementMode(HMC5883L_CONTINOUS); compass.setDataRate(HMC5883L_DATARATE_15HZ); compass.setSamples(HMC5883L_SAMPLES_8); } else if(compass.isQMC()){ Serial.println("Initialize QMC5883"); compass.setRange(QMC5883_RANGE_2GA); compass.setMeasurementMode(QMC5883_CONTINOUS); compass.setDataRate(QMC5883_DATARATE_50HZ); compass.setSamples(QMC5883_SAMPLES_8); } } void loop() { Vector norm = compass.readNormalize(); // Calculate heading float heading = atan2(norm.YAxis, norm.XAxis); // Set declination angle on your location and fix heading // You can find your declination on: http://magnetic-declination.com/ // (+) Positive or (-) for negative // For Bytom / Poland declination angle is 4'26E (positive) // Formula: (deg + (min / 60.0)) / (180 / PI); float declinationAngle = (4.0 + (26.0 / 60.0)) / (180 / PI); heading += declinationAngle; // Correct for heading < 0deg and heading > 360deg if (heading < 0){ heading += 2 * PI; } if (heading > 2 * PI){ heading -= 2 * PI; } // Convert to degrees float headingDegrees = heading * 180/PI; // Output Serial.print(" Heading = "); Serial.print(heading); Serial.print(" Degress = "); Serial.print(headingDegrees); Serial.println(); delay(100); }
Комплектация
- 1х 3-осевой компас QMC5883l;
- 1х Соединитель типа "ПАПА-ПАПА";
Ссылки
- Библиотека DFRobot_QMC5883;
- DataSheet;