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

【更好用的单片机】【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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版