МЫ СОЗДАЕМ И ПРОИЗВОДИМ
ЭЛЕКТРОННЫЕ НАБОРЫ И МОДУЛИ !
Описание товара
Подробное описание товара
Общие сведения
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;
















