资源简介
arduino HMMC5883L - 库文件 支持C与Arduino
arduino示例教程

代码片段和文件信息
/*
HMC5883L.cpp - Class file for the HMC5883L Triple Axis Digital Compass Arduino Library.
Version: 1.1.0
(c) 2014 Korneliusz Jarzebski
www.jarzebski.pl
This program is free software: you can redistribute it and/or modify
it under the terms of the version 3 GNU General Public License as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not see .
*/
#if ARDUINO >= 100
#include “Arduino.h“
#else
#include “WProgram.h“
#endif
#include
#include “HMC5883L.h“
bool HMC5883L::begin()
{
Wire.begin();
if ((fastRegister8(HMC5883L_REG_IDENT_A) != 0x48)
|| (fastRegister8(HMC5883L_REG_IDENT_B) != 0x34)
|| (fastRegister8(HMC5883L_REG_IDENT_C) != 0x33))
{
return false;
}
setRange(HMC5883L_RANGE_1_3GA);
setMeasurementMode(HMC5883L_CONTINOUS);
setDataRate(HMC5883L_DATARATE_15HZ);
setSamples(HMC5883L_SAMPLES_1);
mgPerDigit = 0.92f;
return true;
}
Vector HMC5883L::readRaw(void)
{
v.XAxis = readRegister16(HMC5883L_REG_OUT_X_M) - xOffset;
v.YAxis = readRegister16(HMC5883L_REG_OUT_Y_M) - yOffset;
v.ZAxis = readRegister16(HMC5883L_REG_OUT_Z_M);
return v;
}
Vector HMC5883L::readNormalize(void)
{
v.XAxis = ((float)readRegister16(HMC5883L_REG_OUT_X_M) - xOffset) * mgPerDigit;
v.YAxis = ((float)readRegister16(HMC5883L_REG_OUT_Y_M) - yOffset) * mgPerDigit;
v.ZAxis = (float)readRegister16(HMC5883L_REG_OUT_Z_M) * mgPerDigit;
return v;
}
void HMC5883L::setOffset(int xo int yo)
{
xOffset = xo;
yOffset = yo;
}
void HMC5883L::setRange(hmc5883l_range_t range)
{
switch(range)
{
case HMC5883L_RANGE_0_88GA:
mgPerDigit = 0.073f;
break;
case HMC5883L_RANGE_1_3GA:
mgPerDigit = 0.92f;
break;
case HMC5883L_RANGE_1_9GA:
mgPerDigit = 1.22f;
break;
case HMC5883L_RANGE_2_5GA:
mgPerDigit = 1.52f;
break;
case HMC5883L_RANGE_4GA:
mgPerDigit = 2.27f;
break;
case HMC5883L_RANGE_4_7GA:
mgPerDigit = 2.56f;
break;
case HMC5883L_RANGE_5_6GA:
mgPerDigit = 3.03f;
break;
case HMC5883L_RANGE_8_1GA:
mgPerDigit = 4.35f;
break;
default:
break;
}
writeRegister8(HMC5883L_REG_CONFIG_B range << 5);
}
hmc5883l_range_t HMC5883L::getRange(void)
{
return (hmc5883l_range_t)((readRegister8(HMC5883L_REG_CONFIG_B) >> 5));
}
void HMC5883L::setMeasurementMode(hmc5883l_mode_t mode)
{
uint8_t value;
value = readRegister8(HMC5883L_REG_MODE);
value &= 0b11111100;
value |= mode;
writeRegister8(HMC5883L_REG_MODE value);
}
hmc5883l_mode_t HMC5883L::getMeasurementMode(void)
{
uint8_t value;
value = readRegister8(HM
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 653 2017-07-31 16:54 Arduino-HMC5883L-master\CHANGELOG
....... 5919 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L.cpp
....... 3291 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L.h
....... 1541 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_calibrate\HMC5883L_calibrate.ino
....... 1837 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_calibrate_MPU6050\HMC5883L_calibrate_MPU6050.ino
....... 1876 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_compass\HMC5883L_compass.ino
....... 2349 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_compass_MPU6050\HMC5883L_compass_MPU6050.ino
....... 3167 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_compensation_ADXL345\HMC5883L_compensation_ADXL345.ino
....... 3293 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_compensation_MPU6050\HMC5883L_compensation_MPU6050.ino
....... 2674 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_processing\HMC5883L_processing.ino
....... 2970 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_processing_MPU6050\HMC5883L_processing_MPU6050.ino
....... 4259 2017-07-31 16:54 Arduino-HMC5883L-master\HMC5883L_simple\HMC5883L_simple.ino
....... 35121 2017-07-31 16:54 Arduino-HMC5883L-master\LICENSE
....... 71472 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_calibrate_processing\artificialHorizon.png
....... 33031 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_calibrate_processing\artificialHorizonRing.png
....... 1582 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_calibrate_processing\HMC5883L_calibrate_processing.pde
....... 65440 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing\compass.png
....... 56282 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing\compassPlateBlack.png
....... 56429 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing\compassPlateWhite.png
....... 34504 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing\compassRing.png
....... 7323 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing\HMC5883L_compensation_processing.pde
....... 65440 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_processing\compass.png
....... 56282 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_processing\compassPlateBlack.png
....... 56429 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_processing\compassPlateWhite.png
....... 34504 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_processing\compassRing.png
....... 7821 2017-07-31 16:54 Arduino-HMC5883L-master\Processing\HMC5883L_processing\HMC5883L_processing.pde
....... 934 2017-07-31 16:54 Arduino-HMC5883L-master\README.md
目录 0 2018-02-06 12:38 Arduino-HMC5883L-master\Processing\HMC5883L_calibrate_processing
目录 0 2018-02-06 12:38 Arduino-HMC5883L-master\Processing\HMC5883L_compensation_processing
目录 0 2018-02-06 12:38 Arduino-HMC5883L-master\Processing\HMC5883L_processing
............此处省略14个文件信息
- 上一篇:AjaxLogin.rar
- 下一篇:图形学课程设计运动的小球
相关资源
- mpu6050+hmc5883L.rar
- ADNS-3080光流传感器测试程序Arduino
- EESkill NRF24L01 无线模块用户手册
- Arduino nano 工程文件
- Arduino教程 Lesson 之--自制风扇
- 基于Arduino的智能环境监控系统设计
- 基于Arduino和Machtalk的温棚环境监测系
- arduino pca9685多舵机同时控制案例
- arduino技术内幕
- Arduino电子设计实战指南.零基础篇_超
- 物联网智能家居平台DIY:ARDUINO 物联网
- 实验1.zip arduino跑马灯led灯实验,串口
- opencat所有资料.zip
- arduino主机,stm8从机。I2C测试 。每次
- DS18B20_Serial_println.ino
- ps2手柄arduino库文件
- 基于手机蓝牙的arduino遥控小车
- arduino中的can库函数
- 密码+指纹锁资料包.rar
- 贝壳物联arduino esp8266 demo版本
- HMC5883L罗盘指南针模块库文件及中英文
- arduino 小贱钟源码及教程
- Atom-TMC2208Pilot在Arduino上运行的应用程
- hmc5883l在stm32上的应用
- 写字机制作方案
- PID-增量式PID和位置式PID算法实现和
- Building Wireless Sensor Networks Using Arduin
- vc控制Arduino,实现串口通信
- Arduino入门经典
- Arduino所有库.zip
评论
共有 条评论