“SKU:RB-02S096 ADXL335 三軸加速度模塊”的版本間的差異
來自ALSROBOT WiKi
(→?檢測角度值) |
(→?產(chǎn)品參數(shù)) |
||
第20行: | 第20行: | ||
8、固定孔尺寸(mm):23 x 18 mm<br/> | 8、固定孔尺寸(mm):23 x 18 mm<br/> | ||
9、重量(g):3g<br/> | 9、重量(g):3g<br/> | ||
+ | |||
+ | |||
+ | * 產(chǎn)品尺寸圖: | ||
+ | [[文件:size023.jpg|500px|縮略圖|居中]] | ||
+ | |||
==使用方法== | ==使用方法== | ||
* 實驗環(huán)境 | * 實驗環(huán)境 |
2017年1月21日 (六) 09:51的版本
目錄 |
產(chǎn)品概述
在加速度傳感器中有一種是三軸加速度傳感器,同樣的它是基于加速度的基本原理去實現(xiàn)工作的,加速度是個空間矢量,一方面,要準確了解物體的運動狀態(tài),必須測得其三個坐標軸上的分量;另一方面,在預(yù)先不知道物體運動方向的場合下,只有應(yīng)用三軸加速度傳感器來檢測加速度信號。由于三軸加速度傳感器也是基于重力原理的,因此用三軸加速度傳感器可以實現(xiàn)雙軸正負90度或雙軸0-360度的傾角,通過校正后期精度要高于雙軸加速度傳感器大于測量角度為60度的情況。
產(chǎn)品參數(shù)
1、產(chǎn)品類型:模擬傳感器
2、接口類型:KF2510
3、工作電壓:5V
4、引腳定義:
- X:加速度計 X 軸
- Y:加速度計 Y 軸
- Z:加速度計 Z 軸
- -:電源負極
- +:電源正極
5、檢測范圍:
- X 軸輸出值:靜止輸出偏差:±1,輸出范圍:275 - 425
- Y 軸輸出值:靜止輸出偏差:±1,輸出范圍:270 - 420
- Z 軸輸出值:靜止輸出偏差:±1,輸出范圍:280 - 425
6、工作溫度:-25℃~+85℃
7、產(chǎn)品尺寸(mm):30 x 25 mm
8、固定孔尺寸(mm):23 x 18 mm
9、重量(g):3g
- 產(chǎn)品尺寸圖:
使用方法
- 實驗環(huán)境
- 硬件環(huán)境:
(1)Starduino UNO R3 控制器 * 1個
(2)三軸加速度傳感器 * 1個
(3)USB 數(shù)據(jù)線 * 1條
- 軟件環(huán)境:Arduino 1.7.10
- 硬件連接
如圖所示,將三軸加速度傳感器連接到 Starduino UNO R3 的模擬接口上
簡單讀取輸出值
- 例子程序
void setup() { Serial.begin(115200); } void loop() { int x,y,z; Serial.print("X OUTPUT"); Serial.println(analogRead(A0)); Serial.print("Y OUTPUT"); Serial.println(analogRead(A1)); Serial.print("Z OUTPUT"); Serial.println(analogRead(A2)); }
- 程序效果
通過串口監(jiān)視器可以查看當前 X、Y、Z 軸輸出的模擬量值。
檢測角度值
- 例子程序
float Vzerog = 1.5;//ADXL335 三軸加速度計 0g 基準電壓典型值 int Sensitivity = 300;//ADXL335 三軸加速度計靈敏度參數(shù)典型值 void setup() { Serial.begin(115200); } void loop() { //獲取ADLX335三軸加速度計模擬量 int x = analogRead(A0); int y = analogRead(A1); int z = analogRead(A2); //將模擬量轉(zhuǎn)換成電壓值 float vx = x * 5.0/1024.0; float vy = y * 5.0/1024.0; float vz = z * 5.0/1024.0; //將模擬量轉(zhuǎn)換成每個軸向的g值,1.5是三軸加速度計的0g基準電壓,單位為V,300是三軸加速度計的靈敏度,單位是mv/g float Rx = (vx - Vzerog)/(Sensitivity / 1000.0); float Ry = (vy - Vzerog)/(Sensitivity / 1000.0); float Rz = (vz - Vzerog)/(Sensitivity / 1000.0); //得出重力加速度g值大小 float R = sqrt(pow(Rx,2) + pow(Ry,2) + pow(Rz,2)); //計算與三軸的夾角對應(yīng)弧度值 float Axr = acos(Rx/R); float Ayr = acos(Ry/R); float Azr = acos(Rz/R); Serial.println(Azr); //將水平弧度值轉(zhuǎn)換為對應(yīng)角度,并通過串口打印 float anglex = 180.0 * Axr / 3.14; float angley = 180.0 * Ayr / 3.14; float anglez = 180.0 * Azr / 3.14; Serial.print("anglex = "); Serial.print(anglex); Serial.print(" angley = "); Serial.print(angley); Serial.print(" anglez = "); Serial.println(anglez); delay(300); }
- 程序效果
說明:程序中,ADXL335 靈敏度及 0g 偏置電平使用的均為典型值(ADXL335 芯片手冊可查),如果測試結(jié)果與實際有誤差,可通過修改兩個值來改變 Vzerog,Sensitivity 兩個參數(shù)初始值來調(diào)節(jié)。