怎样使用MPU-6000和Raspberry Pi进行运动跟踪

步骤1:硬件必需:
实现目标所需的材料包括以下硬件组件:
1。 mpu-6000
2。 raspberry pi
3。 i2c电缆
4。树莓派的i2c盾
5。以太网电缆
步骤2:硬件连接:
“硬件连接”部分基本上说明了布线连接传感器和覆盆子pi之间需要。在任何系统上为所需的输出工作时,确保正确的连接是基本必要。因此,必需的连接如下:
mpu-6000将在i2c上运行。这是示例接线图,演示了如何连接传感器的每个接口。
开箱即用,该板配置为使用i2c接口,因此,如果您不确定,我们建议使用此连接。
您只需要四根电线! vcc,gnd,scl和sda引脚仅需要四个连接,它们通过i2c电缆连接。
这些连接如上图所示。
步骤3:运动跟踪代码:
使用树莓派pi的优势在于,它为您提供了一种灵活的编程语言,您可以使用该语言对电路板进行编程,以便将传感器与其连接。利用此开发板的这一优势,我们在这里演示其在python中的编程。 python是语法最简单的最简单的编程语言之一。可以从我们的github社区dcube store下载mpu-6000的python代码
为方便用户,我们还在这里解释代码:
作为编码的第一步,如果是python,则需要下载smbus库,因为该库支持代码中使用的功能。因此,要下载该库,您可以访问以下链接:
https://pypi.python.org/pypi/smbus-cffi/0.5.1
您可以复制这里的工作代码也是如此:
import smbus
import time
# get i2c busbus = smbus.smbus(1)
# mpu-6000 address, 0x68(104)
# select gyroscope configuration register, 0x1b(27)
# 0x18(24) full scale range = 2000 dps
bus.write_byte_data(0x68, 0x1b, 0x18)
# mpu-6000 address, 0x68(104)
# select accelerometer configuration register, 0x1c(28)
# 0x18(24) full scale range = +/-16g
bus.write_byte_data(0x68, 0x1c, 0x18)
# mpu-6000 address, 0x68(104)
# select power management register1, 0x6b(107)
# 0x01(01) pll with xgyro reference
bus.write_byte_data(0x68, 0x6b, 0x01)
time.sleep(0.8)
# mpu-6000 address, 0x68(104)
# read data back from 0x3b(59), 6 bytes
# accelerometer x-axis msb, x-axis lsb, y-axis msb, y-axis lsb, z-axis msb, z-axis lsb
data = bus.read_i2c_block_data(0x68, 0x3b, 6)
# convert the data
xaccl = data[0] * 256 + data[1]
if xaccl 》 32767 :
xaccl -= 65536
yaccl = data[2] * 256 + data[3]
if yaccl 》 32767 :
yaccl -= 65536
zaccl = data[4] * 256 + data[5]
if zaccl 》 32767 :
zaccl -= 65536
# mpu-6000 address, 0x68(104)
# read data back from 0x43(67), 6 bytes
# gyrometer x-axis msb, x-axis lsb, y-axis msb, y-axis lsb, z-axis msb, z-axis lsb
data = bus.read_i2c_block_data(0x68, 0x43, 6)
# convert the data
xgyro = data[0] * 256 + data[1]
if xgyro 》 32767 :
xgyro -= 65536
ygyro = data[2] * 256 + data[3]
if ygyro 》 32767 :
ygyro -= 65536
zgyro = data[4] * 256 + data[5]
if zgyro 》 32767 :
zgyro -= 65536
# output data to screen
print “acceleration in x-axis : %d” %xaccl
print “acceleration in y-axis : %d” %yaccl
print “acceleration in z-axis : %d” %zaccl
print “x-axis of rotation : %d” %xgyro
print “y-axis of rotation : %d” %ygyro
print “z-axis of rotation : %d” %zgyro
该代码是使用以下命令执行的:
$》 python mpu-6000.py gt; python mpu-6000.py
传感器的输出如上图所示,供用户参考。
步骤4:应用程序:
mpu-6000是一种运动跟踪传感器,可在智能手机和平板电脑的运动界面中找到其应用。在智能手机中,这些传感器可用于应用程序中,例如用于应用程序和电话控制的手势命令,增强型游戏,增强现实,全景照片捕获和查看以及行人和车辆导航。 motiontracking技术可将手机和平板电脑转换为功能强大的3d智能设备,可用于从健康和健身监控到基于位置的服务等应用。


小米6配置再曝光:搭载双摄6Plus概念与小米MIX一样
5G启用毫米波频谱:哪些频率会被采用?
在树莓派上启动多种操作系统的3种方法
恒大汽车会不会为我们带来一个全新的商业惊喜
智能水表概述及功能特点
怎样使用MPU-6000和Raspberry Pi进行运动跟踪
小米总市值已超1000亿美元,正式进入千亿俱乐部
电池电量计 IC的电池管理设计方案
英伟达将助力医疗行业的成本降低与工作负担
Vishay公司SiC45x 系列 microBUCK同步降压稳压器适合各种应用
起亚汽车考虑与多家外国公司在自动驾驶电动汽车方面展开合作
我国IPv6活跃用户数已达4.35亿
下半年国内外厂商将推出PCB基或玻璃基MiniLED背光显示器
物联网要普及,四大难点要攻克
机器人会是我们陪伴一生的的守护者吗
2019年汽车行业的九种趋势,你知道几个?
ANSYS线缆线束设计解决方案,系统电磁兼容全面仿真分析
DTS为联想的新款IdeaTab平板电脑提供高清音频
小米mix最新消息:小米mix引领手机下游产业链资本市场对特种陶瓷的追捧
u-blox助力Move-X推出新款Cicerone开发板