2014年11月16日 星期日

9軸感應器第二彈_重力感應器ADXL345

前言:
日前從網路上購得9軸感應器GY-80, 搭配TI MSP430 Launchpad寫有關重力加速度計ADXL345程式下去實測. 若有不周,歡迎批評指教,缺漏的部份日後會慢慢補上. 轉貼或引用本篇blog內文章段落, 不必交代出處.程式碼的部分是參考網路上arduino的程式改寫成適合MSP430跑的程式,用CCSv6編譯而成,所以相關著作權法律的問題請注意一下!

說明:
高中物理教的靜止狀態下_重力加速度約1g, GY-80板子背後標示X-Y-Z軸方向就是ADXL345的X-Y-Z軸的方向. 加速計能測各種使板子產生加速度的力,含靜止時只受重力. 等下介紹靜止狀態下, 3軸各別只有單一軸受到重力量到的值, 板子測法跟上一篇介紹的一樣.

本板使用i2c通訊:
Vcc(3.3V接launchpad的pin1),
GND(接launchpad的pinpin20 GND),
SCL(接launchpad的P1.6),
SDA(接launchpad的P1.7).

讀值採16bit的2的補數, 程式中直接將X軸,Y軸,Z軸讀值16bit每個bit都秀在HW uart(9600bps)那邊,1分鐘讀一次, 16bit的數值(單位:LSB)依2的補數還原成10進位的數字(不會算的可以用小算盤來算)後還要乘上4mg/LSB(單位:毫g,10的負三次方g),實際測試數據如下:

只有z軸受力(單位:g,所以正常值應該接近1):
1111111111101011         1111111111110010                 00000000 11011000
x                                       y(-14*4/1000=-0.056g)            z(216*4/1000=0.864g)
----------------------------------------------------------------------------------------
只有y軸受力(單位:g,所以正常值應該接近1):
0000000000000010         0000000011110100                 1111111111011000
x                                       y(244*4/1000=0.976g)            z(-40*4/1000=-0.16g) 
----------------------------------------------------------------------------------------
只有x軸受力(單位:g,所以正常值應該接近1):
0000000100000000         1111111111101000                 1111111111100111
x(256*4/1000=1.024g)    y(-24*4/1000=-0.096g)           z

所有程式碼下載連結:
https://drive.google.com/file/d/0B6EVEd5P2B9ceHdYSGZYMkF4dkU/view?usp=sharing

沒有留言:

張貼留言