37种传感器(二十九)MPU6050陀螺仪模块+Stduino Nano&UNO
关键词: 51 ; stm32 ; arduino ; stduino单片机; stduino UNO&Nano ;MPU6050陀螺仪
说明:
MPU6050 陀螺仪传感器具有很多强大的功能,采用单芯片封装。该芯片由一个MEMS 加速度计,一个MEMS 陀螺仪和温度传感器组成。该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16 位的模数转换器硬件。
该模块能够同时捕获 x ,y 和z 通道。它有一个I2C 接口与主控制器进行通信。对于无人机,机器人,运动传感器等许多应用来说,这是一个非常有用的设备。它也被称为陀螺仪或六轴加速度计。 就像上面的图片一样,在一个立方体的盒子里面有一个小球,盒子的四壁是用石英晶体材料。当盒子加速度发声变化时,由于惯性的作用,球就会向与加速度方向相反的地方倾斜,当小球碰到那里就会产生压电电流,通过此电流可以确定该方向上加速度大小(实际测得的是压力的大小))。 实际上,当模块静止时, Z 轴方向上一直受到小球的挤压(由于重力作用),也应此,该模块无法获得物体在Z 轴上的旋转角。如果必须要获得绝对的旋转角,那么可以选择性MPU9250这个九轴运动跟踪芯片。
实验目的: 在本例中,我们将学习如何将传感器与 Stduino UNO一起使用,利用陀螺仪模块监测物体移动方向。
器材: Stduino UNO / Nano; 杜邦线; MPU6050 模块
电路连接: MPU6050-> Stduino UNO /纳米
VCC-> 5V GND->GND SCL-> D9 SDA-> D10 XCL XDA AD0->接地 INT-> D2
重点说明:
代码展示: - #include<Wire.h>
- const int MPU6050_addr=0x68;
- int16_t AccX,AccY,AccZ,Temp,GyroX,GyroY,GyroZ;
- void setup(){
- //D9 SCL
- //D10 SDA
- //5V
- //GND
- Wire.begin();
- Wire.beginTransmission(MPU6050_addr);
- Wire.write(0x6B);
- Wire.write(0);
- Wire.endTransmission(true);
- Serial.begin(9600);
- }
- void loop(){
- Wire.beginTransmission(MPU6050_addr);
- Wire.write(0x3B);
- Wire.endTransmission(false);
- Wire.requestFrom(MPU6050_addr,14,true);//按顺序读取数据
- AccX=Wire.read()<<8|Wire.read();//X轴方向的加速度分量
- AccY=Wire.read()<<8|Wire.read();//Y轴方向的加速度分量
- AccZ=Wire.read()<<8|Wire.read();//Z轴方向的加速度分量
- Temp=Wire.read()<<8|Wire.read();
- GyroX=Wire.read()<<8|Wire.read();//绕X轴旋转的角速度GYR_X
- GyroY=Wire.read()<<8|Wire.read();//绕Y轴旋转的角速度GYR_Y
- GyroZ=Wire.read()<<8|Wire.read();//绕Z轴旋转的角速度GYR_Z
- Serial.print("AccX = "); Serial.print(AccX);
- Serial.print(" || AccY = "); Serial.print(AccY);
- Serial.print(" || AccZ = "); Serial.print(AccZ);
- Serial.print(" || Temp = "); Serial.print(Temp/340.00+36.53);
- Serial.print(" || GyroX = "); Serial.print(GyroX);
- Serial.print(" || GyroY = "); Serial.print(GyroY);
- Serial.print(" || GyroZ = "); Serial.println(GyroZ);
- delay(100);
- }
复制代码
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
更多功能集成正在进行中~
|