指南针度数
#include <Wire.h>int I2C_COMPASS_ADDRESS=0xD0;
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600);// start serial for output
}
int Compass_Degree()
{
int degree=0;
degree=Wire.requestFrom(I2C_COMPASS_ADDRESS, 0)*256;
delayMicroseconds(50);
degree=degree+ Wire.requestFrom(I2C_COMPASS_ADDRESS,1);
delayMicroseconds(50);
return degree;
}
void loop()
{
int degree1=Compass_Degree();
Serial.println(degree1);
delay(300);
}
为啥总显示0 啊 为啥 啊 大家帮我看看 谢谢 您买的是模块来的吧?您的模块的读数是使用串口输出的,您打开看到的3个轴都是0是吧?原因有几个:1、是硬件的问题(芯片本身没有焊好)。2、设置的问题(没有按照datasheet上面设置)。一般都是这两个问题,你试试看! 找一个I2C的程序的例子看看,程序完全不靠谱
页:
[1]