一、概述
GY-25
是一款低成本倾斜度模块。工作电压 3-5v
功耗小,体积小。其工作原理,是通过陀螺仪与加速度传感器经过数据融合算法最后得到直接的角度数据。 此倾斜度模块以串口 TTL
电平 全双工方式与上位机进行通信。能够在任意位置得到准确的角度, 输出的波特率有 9600bps
与
115200bps,有连续输出与询问输出两种方式,可适应不同的工作环境。
二、技术参数
名称
|
参数
|
测量范围
|
-180
°
~ 180
°
|
分辨率
|
0.01
°
|
测量精度
|
1
°
|
重复精度
|
1
°
|
响应频率
|
100 HZ
(
115200bps
)
|
工作电压
|
3~5 V
|
工作电流
|
15mA
|
工作温度
|
-20
°
~ 85
°
|
储存温度
|
-40
°
~ 125
°
|
尺寸
|
11.5mm
×
15.5mm
|
三、引脚说明
VCC:电源+ (3v-5v)
RX: 串口数据接收
TX: 串口数据发送
GND:电源地
RST:内部使用,不需要连接,悬空
B0: 内部使用,不需要连接,悬空
SCL:I2C时钟
SDA:I2C时钟
四、将GY25模块连接到Arduino Nano
下表接线方法仅供参考。
VCC | RX | TX | GND | |
Arduino Nano | 3.3v | TX | RX | GND |
注意:上传代码时要先断开Arduino Nano的RX TX,否则会导致上传失败。
五、Arduino示例代码
unsigned char Re_buf[8], counter = 0;
unsigned char sign = 0;
int YPR[3];
void setup()
{
Serial.begin(115200);
Serial.write(0xA5);
Serial.write(0x52);
}
void loop()
{
if(sign)
{
sign = 0;
if(Re_buf[0] == 0xAA && Re_buf[7] == 0x55) // 检查帧头、帧尾
{
YPR[0] = (Re_buf[1] << 8 | Re_buf[2]) / 100; // 合成数据,去掉小数点后2位
YPR[1] = (Re_buf[3] << 8 | Re_buf[4]) / 100;
YPR[2] = (Re_buf[5] << 8 | Re_buf[6]) / 100;
Serial.println(YPR[0]); // 显示航向
Serial.println(YPR[1]); // 显示俯仰角
Serial.println(YPR[2]); // 显示横滚角
delay(200);
}
}
}
void serialEvent()
{
while(Serial.available())
{
Re_buf[counter] = (unsigned char)Serial.read();
if(counter ==0 && Re_buf[0] != 0xAA)
return;
counter++;
if(counter == 8) // 收到数据
{
counter = 0; // 重新赋值,准备下一帧数据的接收
sign = 1;
}
}
}