请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
stduino 发布时间:2020-8-19 12:32
37种传感器(二十九)MPU6050陀螺仪模块+Stduino Nano&UNO
) q1 F- q& a' h! _6 g3 d+ u4 }8 Y7 g+ l, U2 y
' J( s$ b5 Y6 a. t
关键词:
51 stm32 arduino stduino单片机 stduino UNO&Nano MPU6050陀螺仪

$ i' p- _* u: ?( u3 d% S. y说明:( i8 a4 G+ T* v8 ]! ~3 ]1 ~$ B
MPU6050 陀螺仪传感器具有很多强大的功能,采用单芯片封装。该芯片由一个MEMS 加速度计,一个MEMS 陀螺仪和温度传感器组成。该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16 位的模数转换器硬件。

& U0 ^8 Q& X& }" P3 i, R
29陀螺仪模块.jpg
/ X' R  U2 H2 x1 q6 V
1 K' z7 a! F1 V7 j* Y4 u
该模块能够同时捕获 x y z 通道。它有一个I2C 接口与主控制器进行通信。对于无人机,机器人,运动传感器等许多应用来说,这是一个非常有用的设备。它也被称为陀螺仪或轴加速度计。
MPU6050加速度计01.png 7 y; q1 m! J' A
MPU6050加速度计02.png
6 y4 Q  l$ s7 c4 N6 R2 u  E5 {
就像上面的图片一样,在一个立方体的盒子里面有一个小球,盒子的四壁是用石英晶体材料。当盒子加速度发声变化时,由于惯性的作用,球就会向与加速度方向相反的地方倾斜,当小球碰到那里就会产生压电电流,通过此电流可以确定该方向上加速度大小实际测得的是压力的大小))
实际上,当模块静止时, Z 轴方向上一直受到小球的挤压(由于重力作用),也应此,该模块无法获得物体在Z 轴上的旋转角。如果必须要获得绝对的旋转角,那么可以选择性MPU9250这个九轴运动跟踪芯片。
MPU6050加速度计03.png * L) g: O2 J: h  u0 t
- l) ?$ z4 h/ ]' z
实验目的:
在本例中,我们将学习如何将传感器与 Stduino UNO一起使用,利用陀螺仪模块监测物体移动方向。

- Q$ u5 T4 Z) ~! w! x8 \3 z
器材:
Stduino UNO / Nano; 杜邦线; MPU6050 模块

! @: V2 D' [0 F) P; N2 O. ]& q
电路连接:
  MPU6050-> Stduino UNO /纳米; w0 e9 b! g9 d
  VCC-> 5V
  GND->GND
  SCL-> D9
  SDA-> D10
  XCL
  XDA
  AD0->接地
  INT-> D2
( K5 s+ D: O# r/ }
重点说明:
电路连接.png $ Y( {0 Y' {, l# M3 |# I, E

' N( a+ E2 [: j! `! ^# e% u
代码展示:
  1. #include<Wire.h>% o1 g% u# z/ ^
  2. const int MPU6050_addr=0x68;: k1 |: Q) u0 [5 P+ }  V. e
  3. int16_t AccX,AccY,AccZ,Temp,GyroX,GyroY,GyroZ;
    ( [( {+ ^' r8 ^
  4. void setup(){/ s  H0 e4 a3 V7 \) T( g$ Z' k
  5. //D9 SCL
    0 i6 h9 o* ^/ Q& D$ z
  6. //D10 SDA
    # h4 q5 m( a  j
  7. //5V
    + _7 n. Q! F) y
  8. //GND
    6 k  Q$ U$ m) i! p/ s' |. e
  9. Wire.begin();0 [4 ~: K' @* I$ h0 v& {6 ~
  10. Wire.beginTransmission(MPU6050_addr);
    5 Q7 Z6 b1 y+ |& V% n
  11. Wire.write(0x6B);/ h. w. r& `9 Z4 Z
  12. Wire.write(0);' s8 s( s# u0 b+ \; K0 P/ ?$ ]! I
  13. Wire.endTransmission(true);8 H! M+ n# f4 @$ [; p
  14. Serial.begin(9600);
    / x$ b$ L6 w  m9 \
  15. }. r% V. V. m7 z; L" k
  16. void loop(){# S1 L  U# w4 ^- n
  17. Wire.beginTransmission(MPU6050_addr);2 j5 \. J6 b8 I+ l, C  c7 @: f
  18. Wire.write(0x3B);
    $ `, X# N0 Y1 c) `, p* ^
  19. Wire.endTransmission(false);) X8 Y( B8 m; d
  20. Wire.requestFrom(MPU6050_addr,14,true);//按顺序读取数据
    4 C( H; e% j/ i% Q, d# e# J3 U8 m' K
  21. AccX=Wire.read()<<8|Wire.read();//X轴方向的加速度分量
    - ^5 ?- f; n  k% S# [1 }
  22. AccY=Wire.read()<<8|Wire.read();//Y轴方向的加速度分量, D+ o$ Y1 n' h, l
  23. AccZ=Wire.read()<<8|Wire.read();//Z轴方向的加速度分量
    7 ^  m6 C2 P6 h. W% j* Q
  24. Temp=Wire.read()<<8|Wire.read();) J) S) ~% y8 e
  25. GyroX=Wire.read()<<8|Wire.read();//绕X轴旋转的角速度GYR_X
    % N/ l0 C6 ]: `! M: [) T  Y0 f) U0 {/ b
  26. GyroY=Wire.read()<<8|Wire.read();//绕Y轴旋转的角速度GYR_Y
    % j3 J3 l0 C, `
  27. GyroZ=Wire.read()<<8|Wire.read();//绕Z轴旋转的角速度GYR_Z
    2 q- c# J; s) j( q. v0 F
  28. Serial.print("AccX = "); Serial.print(AccX);# I- [, z9 _* }& t% F1 x0 v
  29. Serial.print(" || AccY = "); Serial.print(AccY);
    % n: @  z  d4 b; Z" |) }8 s) P8 x( i& ]1 T. s
  30. Serial.print(" || AccZ = "); Serial.print(AccZ);. \' k5 O4 G! P# y2 \+ t
  31. Serial.print(" || Temp = "); Serial.print(Temp/340.00+36.53);; J! m1 W3 r7 B4 a+ k
  32. Serial.print(" || GyroX = "); Serial.print(GyroX);
    4 q' P: B% m0 d  u) Y
  33. Serial.print(" || GyroY = "); Serial.print(GyroY);8 `+ e" I: ]) M$ [* `3 J: S2 I
  34. Serial.print(" || GyroZ = "); Serial.println(GyroZ);
    * M3 B5 U7 [* N' ], f( p$ K4 {% K
  35. delay(100);. m3 ?- S3 ]! X9 q+ d; s
  36. }
复制代码
8 z# E; K! h+ N; S: ^0 i
实验效果:
窗口监视器,如下图所示:
29-陀螺仪模块.png
; e6 h: W4 a& J& j
7 [3 D6 f, O0 n: h% K+ w

  K+ D* W$ m6 _6 O6 g# v

Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。+ G3 \5 ~' v/ F: r+ q* j% x$ h0 Q
IDE当前支持的功能有:

  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证). W: \3 w' V. Z2 P9 p' T. Z
  O1 D/ v+ e' R4 M5 O; U9 y! j3 ~
. ~6 @5 @9 |7 l8 J0 U
  j8 h3 k2 w3 _, c- D* W

, S0 v1 H6 l# q5 X' q+ g! d

更多功能细节请前往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 boards0 I1 ]6 w9 c9 Z, Y0 Q1 Q
    ' X) w; t; i# q9 j
    ! H& U9 O  I: w: V1 Y) i: a

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


( j$ z, x8 U. C9 v! E
收藏 评论0 发布时间:2020-8-19 12:32

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版