你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【更好用的单片机】【Stduino】Stduino学习(二十九)MPU6050...

[复制链接]
stduino 发布时间:2020-8-19 12:32
37种传感器(二十九)MPU6050陀螺仪模块+Stduino Nano&UNO


关键词:
51 stm32 arduino stduino单片机 stduino UNO&Nano MPU6050陀螺仪

说明:
MPU6050 陀螺仪传感器具有很多强大的功能,采用单芯片封装。该芯片由一个MEMS 加速度计,一个MEMS 陀螺仪和温度传感器组成。该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16 位的模数转换器硬件。

29陀螺仪模块.jpg

该模块能够同时捕获 x y z 通道。它有一个I2C 接口与主控制器进行通信。对于无人机,机器人,运动传感器等许多应用来说,这是一个非常有用的设备。它也被称为陀螺仪或轴加速度计。
MPU6050加速度计01.png
MPU6050加速度计02.png
就像上面的图片一样,在一个立方体的盒子里面有一个小球,盒子的四壁是用石英晶体材料。当盒子加速度发声变化时,由于惯性的作用,球就会向与加速度方向相反的地方倾斜,当小球碰到那里就会产生压电电流,通过此电流可以确定该方向上加速度大小实际测得的是压力的大小))
实际上,当模块静止时, Z 轴方向上一直受到小球的挤压(由于重力作用),也应此,该模块无法获得物体在Z 轴上的旋转角。如果必须要获得绝对的旋转角,那么可以选择性MPU9250这个九轴运动跟踪芯片。
MPU6050加速度计03.png

实验目的:
在本例中,我们将学习如何将传感器与 Stduino UNO一起使用,利用陀螺仪模块监测物体移动方向。

器材:
Stduino UNO / Nano; 杜邦线; MPU6050 模块

电路连接:
  MPU6050-> Stduino UNO /纳米
  VCC-> 5V
  GND->GND
  SCL-> D9
  SDA-> D10
  XCL
  XDA
  AD0->接地
  INT-> D2

重点说明:
电路连接.png

代码展示:
  1. #include<Wire.h>
  2. const int MPU6050_addr=0x68;
  3. int16_t AccX,AccY,AccZ,Temp,GyroX,GyroY,GyroZ;
  4. void setup(){
  5. //D9 SCL
  6. //D10 SDA
  7. //5V
  8. //GND
  9. Wire.begin();
  10. Wire.beginTransmission(MPU6050_addr);
  11. Wire.write(0x6B);
  12. Wire.write(0);
  13. Wire.endTransmission(true);
  14. Serial.begin(9600);
  15. }
  16. void loop(){
  17. Wire.beginTransmission(MPU6050_addr);
  18. Wire.write(0x3B);
  19. Wire.endTransmission(false);
  20. Wire.requestFrom(MPU6050_addr,14,true);//按顺序读取数据
  21. AccX=Wire.read()<<8|Wire.read();//X轴方向的加速度分量
  22. AccY=Wire.read()<<8|Wire.read();//Y轴方向的加速度分量
  23. AccZ=Wire.read()<<8|Wire.read();//Z轴方向的加速度分量
  24. Temp=Wire.read()<<8|Wire.read();
  25. GyroX=Wire.read()<<8|Wire.read();//绕X轴旋转的角速度GYR_X
  26. GyroY=Wire.read()<<8|Wire.read();//绕Y轴旋转的角速度GYR_Y
  27. GyroZ=Wire.read()<<8|Wire.read();//绕Z轴旋转的角速度GYR_Z
  28. Serial.print("AccX = "); Serial.print(AccX);
  29. Serial.print(" || AccY = "); Serial.print(AccY);
  30. Serial.print(" || AccZ = "); Serial.print(AccZ);
  31. Serial.print(" || Temp = "); Serial.print(Temp/340.00+36.53);
  32. Serial.print(" || GyroX = "); Serial.print(GyroX);
  33. Serial.print(" || GyroY = "); Serial.print(GyroY);
  34. Serial.print(" || GyroZ = "); Serial.println(GyroZ);
  35. delay(100);
  36. }
复制代码

实验效果:
窗口监视器,如下图所示:
29-陀螺仪模块.png


Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
IDE当前支持的功能有:

  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)




更多功能细节请前往www.stduino.com进行了解

已经支持的芯片&板型列表:

  • Stduino UNO&Nano
  • Nucleo 144 boards
  • Nucleo 64 boards
  • Nucleo 32 boards
  • Discovery boards
  • Eval boards
  • STM32MP1 series coprocessor boards
  • Generic STM32F0 boards
  • Generic STM32F1 boards
  • Generic STM32F3 boards
  • Generic STM32F4 boards
  • Generic STM32H7 boards
  • Generic STM32L0 boards
  • 3D printer boards
  • LoRa boards
  • Electronic Speed Controller boards
  • Generic flight controllers
  • Garatronics boards
  • Midatronics boards


更多功能集成正在进行中~


收藏 评论0 发布时间:2020-8-19 12:32

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版