Raspberry Pi B+ 連接 MPU-6050 加速度計與陀螺儀六軸感測器

這裡介紹如何在 Raspberry Pi 上面安裝 MPU-6050 加速度計與陀螺儀六軸感測器,並且透過 I2C 讀取 sensor 上的資料。

Raspberry Pi B+ 使用 MPU-6050 三軸加速度計與陀螺儀組合模組

MPU-6050 是一個六軸感測器,包含三軸加速度計與三軸陀螺儀,其價格便宜(上拍賣網站買,80 元就有了),用途也很廣泛,一般的手機、平板電腦幾乎都會有這個感測器。

它的加速度計與陀螺儀可以藉由程式動態控制測量數值的範圍,加速度計的範圍有 ±2g、±4g、±8g 與 ±16g 可以選擇,而陀螺儀的測量範圍有 ±250 度/秒、±500 度/秒、±1000 度/秒與 ±2000 度/秒。

以下是 MPU-6050 在 Raspberry Pi B+ 上的使用教學。

Step 1
首先準備好 MPU-6050 感測器與相關必要的零件,如果不講究的話,只要有杜邦線可以接得起來就行了,麵包板有沒有其實無所謂,不過有麵包板接起來比較方便就是了。


這裡當然也要記得準備好自己的 Raspberry Pi,如果光只有 MPU-6050 是不能用的。

Step 2
把 MPU-6050 感測器按照下面的接法接上 Raspberry Pi B+:


對照實際的照片會像這樣。


如果您買的 MPU-6050 感測器是沒有焊接好排針的,可能會不太好接,因為排針插上去如果沒有焊起來通常容易接觸不良,建議還是直接把排針焊上去,否則很容易出問題。

正常來說,MPU-6050 接上去之後,有個紅燈會亮,如果燈沒亮大概就是有問題。


這是 Raspberry Pi B+ 上插上杜邦線的情況。


Step 3
編輯 /etc/modules,在這個檔案的最後加上兩行:
i2c-bcm2708
i2c-dev

Step 4
編輯 /etc/modprobe.d/raspi-blacklist.conf,把 spi-bcm2708i2c-bcm2708 兩個模組註解起來:
#blacklist spi-bcm2708
#blacklist i2c-bcm2708
設定完之後,重新啟動:
sudo reboot

Step 5
安裝 i2c-tools 套件:
sudo apt-get install i2c-tools
然後使用 i2cdetect 偵測一下是否有抓到 I2C 的設備:
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 的位置有偵測到一個設備,這個就是我們的 MPU-6050 感測器。

i2cdetect -y 1 指令的最後一個參數 1 是指定要掃描的 I2C 匯流排名稱,如果是用舊的 Raspberry Pi Rev. 1 就要指定為 0。不確定自己的板子該用哪一個的話,可以使用這個指令查詢:
sudo i2cdetect -l
輸出會像這樣:
i2c-1 i2c       bcm2708_i2c.1                   I2C adapter

Step 6
使用 i2cget 指令嘗試讀取 0x68 這個 I2C 設備的 register 0x75 的值:
sudo i2cget -y 0 0x68 0x75
正常來說,MPU-6050 的 register 0x75 的值會是 0x68,輸出應該會像這樣:
0x68
如果看到這樣的值,就代表 MPU-6050 已經可以把資料傳回 Raspberry Pi 了。

如果您對於樹莓派的應用有興趣,建議您可以繼續閱讀物聯網的相關文章。
本站已經搬家了,欲查看最新的文章,請至 G. T. Wang 新網站