用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2014-03-20
上传用户:tianyi223
三轴车床的控制系统
上传时间: 2015-01-18
上传用户:ryb
三自由度直升飞机最优控制的三轴控制和位置控制原程序
上传时间: 2014-06-04
上传用户:love1314
%直接型到并联型的转换 % %[C,B,A]=dir2par(b,a) %C为当b的长度大于a时的多项式部分 %B为包含各bk的K乘2维实系数矩阵 %A为包含各ak的K乘3维实系数矩阵 %b为直接型分子多项式系数 %a为直接型分母多项式系数 %
上传时间: 2014-01-20
上传用户:lizhen9880
直接型到级联型的形式转换 % [b0,B,A]=dir2cas(b,a) %b 为直接型的分子多项式系数 %a 为直接型的分母多项式系数 %b0为增益系数 %B 为包含各bk的K乘3维实系数矩阵 %A 为包含各ak的K乘3维实系数矩阵 %
上传时间: 2013-12-30
上传用户:agent
B树及其B+树的实现代码,支持模版(数据类型,M值)
上传时间: 2016-02-22
上传用户:jhksyghr
一、 Protel 99SE 软 件 介 绍 二、 编 辑 电 路 原 理 图 元 器 件 三、 编 辑 PCB 元 器 件 封 装 四、 设 计 电 路 原 理 图 五、 生 成 电 路 原 理 图 报 表 文 件 六、 设 计 印 制 电 路 板(PCB)
上传时间: 2016-12-13
上传用户:gengxiaochao
欧几里德算法:辗转求余 原理: gcd(a,b)=gcd(b,a mod b) 当b为0时,两数的最大公约数即为a getchar()会接受前一个scanf的回车符
上传时间: 2014-01-10
上传用户:2467478207
Microchip推出的PIC18系列单片机由于采用改进型的哈佛结构及优化的硬件结构,内含三个间接寻址寄存器FSR0、FSR1和FSR2, RAM 和ROM 空间都比较大, 因此PIC18非常适合于采用C语言进行软件设计。C语言具有可读性强, 便于移植等优点。 虽然MPLAB-C18 C语言编译器的编译效率比较高, 但与汇编语言相比, C的效率终究差一些, 因此在某些应用场合, 如何优化C的效率, 减小代码, 提高执行速度, 是许多工程师们的追求目标。下面介绍MPLAB-C18 C编译器的一些优化技巧, 与大家共享。
上传时间: 2013-12-20
上传用户:jkhjkh1982
使用Matlab的M文件编写的数控三轴直线运动代码,为验证DSP上的算法而编
上传时间: 2013-12-16
上传用户:zhichenglu