51驱动GY-25T 六轴角度倾斜度传感器模块

本文详细介绍了GY-25T六轴角度传感器模块,包括其工作原理、电气参数(如测量范围、更新频率等)、IIC通信设置方法以及与51单片机的接口示例代码。通过示例展示了如何通过IIC通信获取并解析角度数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

51驱动GY-25T 六轴角度倾斜度传感器模块

简介

GY-25T 是一款低成本数字角度传感器模块。工作电压 3-5v功耗小,体积小,安装方便。 其工作原理是,是通过陀螺仪与 加速度传感器经过数据融合算法 最后得到直接的角度数据。GY-25T 可以设置模块倾斜度报警值,开关量输出。 设定的角度阈值,有超过角度阈值,OUT 引脚直接输出高电平。IIC 模式下,如果需要,可以设置内部 IIC 地址不同,以便多个传感器直接接在同一个总线。
在这里插入图片描述

电气参数

测量范围: -180 度—180 度
更新频率: 200Hz (最快)
工作电压 : 3~5 V
工作电流: 9mA
工作温度 : -20°~ 85°
储存温度 : -40°~ 125°
分辨率 : 0.01 度

IIC通讯

设置模块 IIC 模式,需将 PS 引脚连接 GND。设置成为 IIC 模式后, RC 引脚=SCL, TD 引脚=SDA ,INT/OUT 引脚变=IIC 数据更新完成中断标志功能。 INT 引脚平时低电平,内部数据准备就绪 INT 引脚出现上升沿,用户可根据该 引脚出现上升沿后读取内部数据。IIC 设备地址为 00 寄存器值,默认 0xA4。主机 IIC 时钟速率需小于 400K, IIC 内部寄存器地址及含义请参考前面的列表。 请注意你的主机是使用 7bit 地址还是 8bit 地址。IIC 设备地址是可以修改的,可以支持多个不同地址的设备接入同一总线。模块单次写寄存器数量为 1 个。
写时序如下:

在这里插入图片描述
在这里插入图片描述
模块支持多寄存器连读,读时序如下:
在这里插入图片描述

接线

51单片机GY25-T
5VVCC
GNDGND
RCP36
TDP37
PSGND
INP35

代码

#include <reg52.h>
#include "usart.h"
#include "iic.h"  
 #include "stdio.h"
char putchar (char c)   
{        
    ES=0;        
    SBUF = c;        
    while(TI==0);        
    TI=0;        
    ES=1;        
    return 0;
}
typedef struct
{
    int16_t temp;
    int16_t roll;
    int16_t pitch;
    int16_t yaw;
} gy;
void delay_ms(unsigned int x)
{
	while(x--);
}

int main(void)
{
	u8  raw_data[9]={0};
	uint16_t datas[4]={0},delay_t;

	gy my_25t;

	u8 td=0;

	Usart_Int(9600);
	delay_ms(300);//等待模块初始化完成
	td=2;
	 Single_WriteI2C_byte(0xa4,0x02,2);//设置更新频率5hz
       switch(td)
       {
         case 0:delay_t=1010;break;
         case 1:delay_t=510;break;
         case 2:delay_t=210;break;
         case 3:delay_t=110;break;
       }
      
	while(1)
	{
		
		 if(input==0)
			{
				while(input==0);
				if(Single_ReadI2C(0xa4,0x14,raw_data,8))
				{
					my_25t.roll=((int16_t)raw_data[0]<<8)|raw_data[1];
					my_25t.pitch=((int16_t)raw_data[2]<<8)|raw_data[3];
					my_25t.yaw=((int16_t)raw_data[4]<<8)|raw_data[5];
					my_25t.temp=((int16_t)raw_data[6]<<8)|raw_data[7];
					printf("roll:%.2f,",(float)my_25t.roll/100.0f);
					printf("pitch:%.2f,",(float)my_25t.pitch/100.0f);
					printf("yaw:%.2f,",(float)my_25t.yaw/100);
					printf("temp:%.2f\r\n ",(float)my_25t.temp/100.0f);  
				}
			}
	
		
		
	}
}

结果

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值