准备好了硬件设备之后,接下来需要将这些硬件组装起来。先来看一下整体的组装结构图,我们要先对整体的结构有所了解,然后再针对每两个硬件之间的接线做详细的阐述。
我们从由至右,由上到下的顺序分别对这些硬件的接线方式和功能做一些说明。
1、MPU6050陀螺仪。这是一个6轴陀螺仪,可以对3维空间里x、y、z三个维度测量加速度和3轴旋转加速度:
对于3维加速度在这个自平衡小车中暂时用不到。我们只对3轴的旋转角加速度做处理。我们知道旋转角加速度的积分即是旋转角速度,而对旋转角速度的积分即时角度(当然这时所说的积分是狭义上的定积分)。我们假设陀螺仪这从t0时刻开始加电运转,在t0时刻陀螺仪的旋转角度为0,到t1时刻(t1-t0趋于0)后其旋转角为:
我们再来看一下MPU6050与树莓派的接线方式:
1) 陀螺仪VCC接树莓派3.3V DC Power
2) 陀螺仪GND接树莓派Ground
3) 陀螺仪SCL树莓派SCL
4) 陀螺仪SDA树莓派SDA
接线完成后,启动树莓派,MPU6050会有红灯亮起。另外还要对树莓派的系统做一些设置:
1) 修改/etc/modules文件,追加以下内容
i2c-bcm2708 i2c-dev
2) 修改/etc/modprobe.d/raspi-blacklist.conf将下面两行内容删除或用#注释掉
修改前: blacklist spi-bcm2708 blacklist i2c-bcm2708 修改后: #blacklist spi-bcm2708 #blacklist i2c-bcm2708
3) 安装i2c-tools工具
sudo apt-get install i2c-tools libi2c-dev
4) 重启树莓派:
sudo reboot -n
之后使用以下命令查看设备是否正常:
sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
可以看到在0x68上有一个设备,就是MPU6050陀螺仪。我们使用树莓派的MPU6050开源驱动,可以直接取得旋转角:https://github.com/richardghirst/PiBits.git此驱动是用C++编写的,下载后编译运行即可。
Copyright © 2015-2023 问渠网 辽ICP备15013245号