楼主: eagler8

【Arduino】168种传感器系列实验(152)---GY-25串口倾斜度模块

[复制链接]

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 16:24 | 显示全部楼层
03 -.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 16:27 | 显示全部楼层
GY25是一款低成本倾斜模块
工作电压3-5v 功耗小,体积小。其工作原理,是通过陀螺仪与加速度传感器经过数据融合算法最后得到直接的角度数据。此倾斜度模块以串口TTL 电平全双工方式与上位机进行通信。该产品精度高,稳定性高。能够在任意位置得到准确的角度,输出的波特率有9600bps 与115200bps有连续输出与询问输出两种方式,可适应不同的工作环境,与各种的单片机及电脑连接。


01.jpg


签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 16:32 | 显示全部楼层
GY25模块参数
1.工作电压:3~5 V(内部低压差稳压)
2.工作电流:15mA
3.测量范围:-180°~ 180°
4.分辨率:0.01°
5.测量精度:1 °(倾斜度)
6.响应频率:100HZ(115200bps)
7.工作温度:-20°~ 85°
8.使用芯片:MCU+MPU6050
9.产品尺寸:15.5×15.5mm,引脚间距2.54mm
10.通信方式:串口通讯(波特率9600,115200), IIC通信(仅读取原始数据)

0--0.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 16:43 | 显示全部楼层
01-.jpg
06.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 16:45 | 显示全部楼层
本帖最后由 eagler8 于 2020-12-24 18:23 编辑

GY25数据读取
1.YAW/OLL/PITCH直接数据:
航向角(YAW  ) ±180°
横滚角(ROLL ) ±180°
俯仰角(PITCH) ±180°( ±90°+±90°)
角度分辨率0.01°
2.原始数据直接数据:
陀螺仪原始数据
加速度原始数据
温度数据
角度数据

GY25注意事项
(1)模块上电自校正,需保持3秒以上静止状态,建议不要用手拿着模块;
(2)角度欧拉角由于万向锁问题,横滚,俯仰在90度时候会有相互影响;
(3)模块右侧的焊接点短接,重启后模块进入 IIC 模式,客户可自行操作传感器,模块 MCU 不对传感器进行任何操作;
(4)模块I/O是TTL电平,可以直接与单片机串口连接,但不能与电脑九针串口直接连接;
(5)修改波特率指令
A5  56   修改波特率成为115200
A5   57  修改波特率成为9600

0-99 (1).jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 17:24 | 显示全部楼层
16 (1).jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 17:25 | 显示全部楼层
17.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 17:26 | 显示全部楼层
18 (1).jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-10 17:31 | 显示全部楼层
本帖最后由 eagler8 于 2020-12-10 17:33 编辑

07 (1).jpg
12.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 10:52 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.   实验一百五十二:GY-25 串口直接输出角度数据 倾斜度角度传感器模块 MPU-6050
  4.   使用步骤:
  5.   1.先下载GY25_uart程序至arduino
  6.   2.再接上GY25模块
  7.   3.按复位按键
  8.   4.打开串口,波特率115200
  9.   5、接线
  10.   GY25                arduino uno
  11.   VCC----------------------VCC
  12.   RX-----------------------TX
  13.   TX-----------------------RX
  14.   GND----------------------GND
  15.   实验之一:串口显示动态角度数值
  16. */

  17. #include <Wire.h>
  18. int YPR[3];
  19. unsigned char Re_buf[8], counter = 0;
  20. unsigned char sign = 0;
  21. int led = 13;

  22. //-----------------------------------------------------------
  23. void setup()
  24. {
  25.   Serial.begin(115200);
  26.   delay(2000);
  27.   Serial.write(0XA5);
  28.   Serial.write(0X52);    //初始化GY25,连续输出模式
  29. }
  30. //-------------------------------------------------------------
  31. void loop() {
  32.   if (sign)
  33.   {
  34.     sign = 0;
  35.     if (Re_buf[0] == 0xAA && Re_buf[7] == 0x55)   //检查帧头,帧尾
  36.     {
  37.       YPR[0] = (Re_buf[1] << 8 | Re_buf[2]) / 100; //合成数据,去掉小数点后2位
  38.       YPR[1] = (Re_buf[3] << 8 | Re_buf[4]) / 100;
  39.       YPR[2] = (Re_buf[5] << 8 | Re_buf[6]) / 100;
  40.       Serial.print("YPR:\t");
  41.       Serial.print(YPR[0], DEC); Serial.print("\t"); //显示航向
  42.       Serial.print(YPR[1], DEC); Serial.print("\t"); //显示俯仰角
  43.       Serial.println(YPR[2], DEC);                    //显示横滚角
  44.       delay(50);
  45.     }
  46.   }
  47. }
  48. //---------------------------------------------------------------
  49. void serialEvent() {
  50.   while (Serial.available()) {
  51.     Re_buf[counter] = (unsigned char)Serial.read();
  52.     if (counter == 0 && Re_buf[0] != 0xAA) return; // 检查帧头
  53.     counter++;
  54.     if (counter == 8)             //接收到数据
  55.     {
  56.       counter = 0;               //重新赋值,准备下一帧数据的接收
  57.       sign = 1;
  58.     }
  59.   }
  60. }
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

ESP8266结合blinker使用小爱同学电脑远程开机
ESP8266结合blinker使用小
blinker是点灯科技开发的面向广大物联网爱好者和创客公司研发的APP,可以安全快速有效
【Arduino】168种传感器模块系列实验(159)---MAX9814咪头传感器
【Arduino】168种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
【干货分享】mega2560原理图PCB图纸altium designer18
【干货分享】mega2560原理
分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
【限时免费领】1000 块 Wi-Fi+BLE MCU 开发板
【限时免费领】1000 块 Wi
有! >>涂鸦智能 Wi-Fi+BLE MCU 开发板
Stduino UNO mini来了,你确定不了解下嘛
Stduino UNO mini来了,你
Stduino UNO mini基于Arduino UNO板型支持数字式调用引脚,例如:pinMode(13,OUTPUT)
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表