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

发布时间:2024年01月19日

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);  
				}
			}
	
		
		
	}
}

结果

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

文章来源:https://blog.csdn.net/qq_42250136/article/details/135670570
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。