步驟1:硬件必需:
實(shí)現(xiàn)目標(biāo)所需的材料包括以下硬件組件:
1。 MPU-6000
2。 Raspberry Pi
3。 I2C電纜
4。樹(shù)莓派的I2C盾
5。以太網(wǎng)電纜
步驟2:硬件連接:
“硬件連接”部分基本上說(shuō)明了布線連接傳感器和覆盆子pi之間需要。在任何系統(tǒng)上為所需的輸出工作時(shí),確保正確的連接是基本必要。因此,必需的連接如下:
MPU-6000將在I2C上運(yùn)行。這是示例接線圖,演示了如何連接傳感器的每個(gè)接口。
開(kāi)箱即用,該板配置為使用I2C接口,因此,如果您不確定,我們建議使用此連接。
您只需要四根電線! Vcc,Gnd,SCL和SDA引腳僅需要四個(gè)連接,它們通過(guò)I2C電纜連接。
這些連接如上圖所示。
步驟3:運(yùn)動(dòng)跟蹤代碼:
使用樹(shù)莓派pi的優(yōu)勢(shì)在于,它為您提供了一種靈活的編程語(yǔ)言,您可以使用該語(yǔ)言對(duì)電路板進(jìn)行編程,以便將傳感器與其連接。利用此開(kāi)發(fā)板的這一優(yōu)勢(shì),我們?cè)谶@里演示其在python中的編程。 Python是語(yǔ)法最簡(jiǎn)單的最簡(jiǎn)單的編程語(yǔ)言之一??梢詮奈覀兊腉itHub社區(qū)Dcube Store下載MPU-6000的python代碼
為方便用戶,我們還在這里解釋代碼:
作為編碼的第一步,如果是python,則需要下載SMBus庫(kù),因?yàn)樵搸?kù)支持代碼中使用的功能。因此,要下載該庫(kù),您可以訪問(wèn)以下鏈接:
https://pypi.python.org/pypi/smbus-cffi/0.5.1
您可以復(fù)制這里的工作代碼也是如此:
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
該代碼是使用以下命令執(zhí)行的:
$》 python MPU-6000.py gt; python MPU-6000.py
傳感器的輸出如上圖所示,供用戶參考。
步驟4:應(yīng)用程序:
MPU-6000是一種運(yùn)動(dòng)跟蹤傳感器,可在智能手機(jī)和平板電腦的運(yùn)動(dòng)界面中找到其應(yīng)用。在智能手機(jī)中,這些傳感器可用于應(yīng)用程序中,例如用于應(yīng)用程序和電話控制的手勢(shì)命令,增強(qiáng)型游戲,增強(qiáng)現(xiàn)實(shí),全景照片捕獲和查看以及行人和車輛導(dǎo)航。 MotionTracking技術(shù)可將手機(jī)和平板電腦轉(zhuǎn)換為功能強(qiáng)大的3D智能設(shè)備,可用于從健康和健身監(jiān)控到基于位置的服務(wù)等應(yīng)用。
責(zé)任編輯:wv
-
運(yùn)動(dòng)跟蹤
+關(guān)注
關(guān)注
0文章
7瀏覽量
6447 -
MPU-6000
+關(guān)注
關(guān)注
0文章
6瀏覽量
13401 -
樹(shù)莓派
+關(guān)注
關(guān)注
116文章
1707瀏覽量
105633
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論