楼主: eagler8

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

[复制链接]

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 11:00 | 显示全部楼层
19.jpg

20.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 11:10 | 显示全部楼层
GY-25串口倾斜度模块实验场景图


21.jpg


签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 12:00 | 显示全部楼层
  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.   IICLCD2004           arduino uno
  17.   VCC----------------------VCC
  18.   SCL----------------------A5
  19.   SDA----------------------A4
  20.   GND----------------------GND
  21.   实验之二:IICLCD2004显示动态角度数值
  22. */

  23. #include <Wire.h>
  24. #include <LiquidCrystal_I2C.h>
  25. int YPR[3];
  26. unsigned char Re_buf[8], counter = 0;
  27. unsigned char sign = 0;
  28. int led = 13;
  29. LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x20 for a 20 chars and 4 line display

  30. //-----------------------------------------------------------
  31. void setup()
  32. {
  33.   lcd.init();                      // initialize the lcd
  34.   // Print a message to the LCD.
  35.   Serial.begin(115200);
  36.   delay(2000);
  37.   Serial.write(0XA5);
  38.   Serial.write(0X52);    //初始化GY25,连续输出模式
  39.   lcd.backlight();
  40.   lcd.setCursor(0, 0);    //I2C接口LCD2004显示初始值
  41.   lcd.print("Yaw:");
  42.   lcd.setCursor(0, 1);
  43.   lcd.print("Pitch:");
  44.   lcd.setCursor(0, 2);
  45.   lcd.print("Roll:");
  46. }
  47. //-------------------------------------------------------------
  48. void loop() {
  49.   if (sign)
  50.   {
  51.     sign = 0;
  52.     if (Re_buf[0] == 0xAA && Re_buf[7] == 0x55)   //检查帧头,帧尾
  53.     {
  54.       YPR[0] = (Re_buf[1] << 8 | Re_buf[2]) / 100; //合成数据,去掉小数点后2位
  55.       YPR[1] = (Re_buf[3] << 8 | Re_buf[4]) / 100;
  56.       YPR[2] = (Re_buf[5] << 8 | Re_buf[6]) / 100;

  57.       lcd.setCursor(4, 0);
  58.       lcd.print("    ");
  59.       lcd.setCursor(4, 0);
  60.       lcd.print(YPR[0]);      //显示航向

  61.       lcd.setCursor(6, 1);
  62.       lcd.print("    ");
  63.       lcd.setCursor(6, 1);   //显示俯仰角
  64.       lcd.print(YPR[1]);

  65.       lcd.setCursor(5, 2);
  66.       lcd.print("    ");
  67.       lcd.setCursor(5, 2);    //显示横滚角
  68.       lcd.print(YPR[2]);
  69.       delay(100);
  70.     }
  71.   }
  72. }
  73. //----------------------------------------------------------
  74. void serialEvent() {
  75.   while (Serial.available()) {
  76.     Re_buf[counter] = (unsigned char)Serial.read();
  77.     if (counter == 0 && Re_buf[0] != 0xAA) return; // 检查帧头
  78.     counter++;
  79.     if (counter == 8)             //接收到数据
  80.     {
  81.       counter = 0;               //重新赋值,准备下一帧数据的接收
  82.       sign = 1;
  83.     }
  84.   }
  85. }
复制代码

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 12:03 | 显示全部楼层
本帖最后由 eagler8 于 2020-12-25 12:06 编辑

GY-25串口倾斜度模块实验场景图二,未输出角度数据,不知哪里出问题了


22.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 13:01 | 显示全部楼层
经过调试,LCD2004A可以显示动态角度数据了

23.jpg



24.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-25 13:09 | 显示全部楼层
经过调试,LCD2004A可以显示动态角度数据了,实验视频40秒

[url]https://v.youku.com/v_show/id_XNTAyNTI1MDY0MA==.html?spm=a2hzp.8253869.0.0

[/url]



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

本版积分规则

热门推荐

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!   
快速回复 返回顶部 返回列表