МЫ СОЗДАЕМ И ПРОИЗВОДИМ
ЭЛЕКТРОННЫЕ НАБОРЫ И МОДУЛИ
Описание товара
Подробное описание товара
Общие сведения
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 - не используются.
/*! * @file getCompassdata.ino * @brief Output the compass data * @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com) * @license The MIT License (MIT) * @author [dexian.huang](952838602@qq.com) * @version V1.0 * @date 2017-7-3 * @url <a href="https://github.com/DFRobot/DFRobot_QMC5883" class="redactor-autoparser-object">https://github.com/DFRobot/DFR...</a> */ #include <dfrobot_qmc5883.h> DFRobot_QMC5883 compass(&Wire, /*I2C addr*/0x0D ); void setup() { Serial.begin(9600); while (!compass.begin()) { Serial.println("Could not find a valid 5883 sensor, check wiring!"); delay(500); } if(compass.isHMC()) { Serial.println("Initialize HMC5883"); //Set/get the compass signal gain range, default to be 1.3 Ga // compass.setRange(HMC5883L_RANGE_1_3GA); // Serial.print("compass range is:"); // Serial.println(compass.getRange()); //Set/get measurement mode // compass.setMeasurementMode(HMC5883L_CONTINOUS); // Serial.print("compass measurement mode is:"); // Serial.println(compass.getMeasurementMode()); //Set/get the data collection frequency of the sensor // compass.setDataRate(HMC5883L_DATARATE_15HZ); // Serial.print("compass data rate is:"); // Serial.println(compass.getDataRate()); //Get/get sensor status // compass.setSamples(HMC5883L_SAMPLES_8); // Serial.print("compass samples is:"); // Serial.println(compass.getSamples()); } else if(compass.isQMC()) { Serial.println("Initialize QMC5883"); // compass.setRange(QMC5883_RANGE_2GA); // Serial.print("compass range is:"); // Serial.println(compass.getRange()); // compass.setMeasurementMode(QMC5883_CONTINOUS); // Serial.print("compass measurement mode is:"); // Serial.println(compass.getMeasurementMode()); // compass.setDataRate(QMC5883_DATARATE_50HZ); // Serial.print("compass data rate is:"); // Serial.println(compass.getDataRate()); // compass.setSamples(QMC5883_SAMPLES_8); // Serial.print("compass samples is:"); // Serial.println(compass.getSamples()); } else if(compass.isVCM()) { Serial.println("Initialize VCM5883L"); // compass.setMeasurementMode(VCM5883L_CONTINOUS); // Serial.print("compass measurement mode is:"); // Serial.println(compass.getMeasurementMode()); // compass.setDataRate(VCM5883L_DATARATE_200HZ); // Serial.print("compass data rate is:"); // Serial.println(compass.getDataRate()); } delay(1000); } void loop() { /** * @brief Set declination angle on your location and fix heading * @n You can find your declination on: <a href="http://magnetic-declination.com/" class="redactor-autoparser-object">http://magnetic-declination.co...</a> * @n (+) Positive or (-) for negative * @n For Bytom / Poland declination angle is 4'26E (positive) * @n Formula: (deg + (min / 60.0)) / (180 / PI); */ float declinationAngle = (4.0 + (26.0 / 60.0)) / (180 / PI); compass.setDeclinationAngle(declinationAngle); sVector_t mag = compass.readRaw(); compass.getHeadingDegrees(); Serial.print("X:"); Serial.print(mag.XAxis); Serial.print(" Y:"); Serial.print(mag.YAxis); Serial.print(" Z:"); Serial.println(mag.ZAxis); Serial.print("Degress = "); Serial.println(mag.HeadingDegress); delay(100); } </dfrobot_qmc5883.h>
Комплектация
- 1х 3-осевой компас QMC5883l;
- 1х Соединитель типа "ПАПА-ПАПА";
Ссылки
- Библиотека DFRobot_QMC5883;
- DataSheet;