GY-25 角度测量实验

GY-25是一款倾斜度传感器模块,价格在40块钱左右,主要是因为在家,没把实验室的传感器拿回来,所以用这款来尝试控制算法,用于获得数据。其工作电压在3-5v功耗小,体积小。其工作原理是通过陀螺仪与加速度传感器通过数据融合算法最后得到直接的酵素数据。其体积小、高性价比、串口输出格式是特点,可以应用于许多方面。

技术参数 & 引脚说明

名称 参数
测量范围 -180°~180°
分辨率 0.01°
测量精度
重复精度
响应频率 100HZ(115200bps)
工作电压 3~5V
工作电流 15mA
工作温度 -20°~85°
存储温度 -40°~125°
尺寸 11.5mm×15.5mm
表1.技术参数
引脚 名称 说明
Pin1 VCC 3-5V
Pin2 RX 串口数据接受
Pin3 TX 串口数据发送
Pin4 GND 接地
Pin5 RST 内部使用,不需要连接,悬空
Pin6 B0 内部使用,不需要连接,悬空
Pin7 SCL I2C 时钟,按需连接
Pin8 SDA I2C 数据,按需链接
表2.引脚说明

命令字节

  • 0xA5+0x51:查询模式,直接返回角度值,需每次读取都发送
  • 0xA5+0x52:自动模式,直接返回角度值,只需要初始化时发送一次
  • 0xA5+0x53:自动模式,ASC码输出,便于直接电脑助手查看
  • 0xA5+0x54:校正模式,校正俯仰横滚角0度,需要保持水平时候发送
  • 0xA5+0x55:校正模式,校正航向0度,航向任意角度清零

代码

//GY-25  ARDUINO
//   GY25                  arduino UNO
//   VCC----------------------VCC
//   RX-----------------------TX
//   TX-----------------------RX
//   GND----------------------GND#include <Wire.h>
int YPR[3];
unsigned char Re_buf[8],counter=0;
unsigned char sign=0;void setup()
{Serial.begin(115200);  delay(2000);   Serial.write(0XA5);Serial.write(0X52);    //初始化GY25,连续输出模式
}
//-------------------------------------------------------------
void loop() {serialEvent();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.print("YPR[0]: ");Serial.print(YPR[0]);      //显示航向Serial.print(" "); Serial.print("YPR[1]: ");                    Serial.print(YPR[1]);     Serial.print(" ");Serial.print("YPR[2]: ");  Serial.print(YPR[2]);   Serial.println("");   delay(100);           }}
}
//---------------------------------------------------------------
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;}      }
}

软串口

由于角度传感器共需要两个,但是,硬件串口只有一个,所以需要增加一个软串口来完成同时获得两个角度传感器的数值,如果存在硬件串口和软件串口的差异,可以通过同时启用两个软串口,来解决这个问题。软串口通信的库函数是SoftwareSerial库,那么这个库的使用只需要简单知道如下语法,其他的和Serial相同。

#include <SoftwareSerial.h>  //包含头文件
Software mySerial(rxPin,txPin) //创建SoftwareSerial类,并完成引脚定义

之后就可以开开心心的用软串口读取数据啦。

角度传感器测量实验 GY-25相关推荐

  1. 串口使用及测量实验1

    工程文件:https://github.com/A-Y-1/HNU 串口部分的实验和综合实验(RS485总线评分系统)我都是使用c或c++编写,结果不是很好(上课用老师的代码速通了,懒得改,直接一个字 ...

  2. 眼图观测实验报告_眼图观察测量实验

    实验 12 眼图观察测量实验 一.实验目的 1. 学会观察眼图及其分析方法,调整传输滤波器特性. 二.实验仪器 1. 眼图观察电路(底板右下侧) 2 . 时钟与基带数据发生模块,位号: G 3 . 噪 ...

  3. 光敏传感器实验报告_光敏传感器光电特性测量实验分析报告.ppt

    思考题 1.光电效应有哪些分类? 光电效应可以分为外光电效应和内光电效应. 2.光敏电阻的物理基础是什么? 内光电效应. * * 光敏传感器的光电特性测量实验 实验简介 光敏传感器是将光信号转换为电信 ...

  4. 声速的测量的实验原理和应用_示波器的原理和使用声速测量实验报告.docx

    示波器的原理和使用声速测量实验报告.docx 示波器的原理和使用.声速测量一实验目的1了解示波器的基本结构及其工作原理,学习并掌握示波器的基本使用方法2学习电信号有关参数的基本概念及其测量3了解声波在 ...

  5. matlab模拟超声波信号_MATLAB模拟超声波声速测量实验

    MATLAB 模拟超声波声速测量实验 曾凡平 ; 田浩 [期刊名称] <高校实验室工作研究> [年 ( 卷 ), 期] 2009(000)001 [摘要] 为了实验教学演示和深入地揭示驻波 ...

  6. 切削力matlab数据处理,基于MATLAB的切削力测量实验数据的处理及分析

    基于MATLAB 的切削力测量实验数据的处理及分析 卞化梅 , 牛小铁 , 陈金英 , 郭 勇 (北京工业职业技术学院 , 北京 100042) 摘 要 : 以曲面铣削加工实验数据的处理为例 ,介绍了 ...

  7. 眼图观测实验报告_实验2 眼图观察测量实验

    姓名裴振启指导教师邵军花日期 实验 2 眼图观察测量实验 一. 实 验目的 学会观察眼图及其分析方法,调整传输滤波器特性. 二. 实 验仪器 1. 眼图观察电路 2 .时钟与基带数据发生模块,位号: ...

  8. 实验二 无线网络环境RSSI测量实验

    无线网络技术教程第四版实验二 无线网络环境RSSI测量实验 目录 无线网络技术教程第四版实验二 无线网络环境RSSI测量实验 1 实验要求和目的 2 实验原理和背景 3 实验环境和软件 4 实验过程与 ...

  9. 大学物理实验电学基本参数的测量实验报告_大物实验基本测量实验报告(共8篇).doc...

    大物实验基本测量实验报告(共8篇) 大物实验基本测量实验报告(共8篇) 实验报告基本测量 实验题目:1.实验目的 (1)掌握游标卡尺的读数原理和使用方法,学会测量不同物体的长度. (2)掌握千分尺(螺 ...

  10. 大学物理实验电学基本参数的测量实验报告_基本电学参数测量物理实验,天津科技大学...

    基本电学参数测量实验报告 班级 ***** 组 A 姓 名 *** 学号 ******** 实验成绩 [实验目的] 了解电学实验的要求.操作流程和安全知识: 学习电学实验中常用仪器的使用方法: 学会测 ...

最新文章

  1. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)
  2. 二维码Data Matrix的解码实现(zxing-cpp)
  3. OBYC PRY PRV
  4. 【深度学习】数形结合的图像处理(文末介绍了一种新型网络)
  5. 小巨型计算机应用什么领域,计算机应用基础 10
  6. DayDayUp:那些属于程序猿江湖的鄙视链(看完别笑^~^,哈哈,haha)
  7. ITK:将2D图像堆叠为3D图像
  8. 多客户端异步通讯框架
  9. nssl1257-A【数论】
  10. Angular gitlab持续集成之runner配置
  11. 金蝶k3安装详细步骤_ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤...
  12. Memory for crash kernel (0x0 to 0x0) notwithin permissible range
  13. layuiadmin配置mysql_layuiAdmin 后台管理模板
  14. 集线器、交换机、路由器、中继器及网关、网桥之间的区别
  15. Rapid SCADA中文使用说明书(一)
  16. ArcGIS:横向图例设置
  17. 金蝶服务端调用OSF服务
  18. 手绘 | 7天自助游玩古都西安 3
  19. node 安装(新)
  20. java StringBuilder追加换行符

热门文章

  1. vim的大小写转换方法总结
  2. 计算机基础单位:位,字节,兆等关系
  3. java游戏繁体字名字_繁体字游戏名(精选500个)_繁体字游戏名字大全_繁体字游戏网名...
  4. 打字教程新手篇-指法练习的重要性和注意事项
  5. 妊娠糖尿病食谱、控糖食谱
  6. 路由在电话网和计算机网中的区别,计算机猫和路由器之间有什么区别
  7. dejavu中如何添加html文件,如何使用iText和Flying Saucer在HTML中创建PDF格式的字体? | 所有编程讨论 | zhouni.net...
  8. C#金额转大写的方法
  9. angular里的$even和$odd的应用
  10. 网站服务器会把手机拉黑吗,怎么知道对方手机把我拉黑了