(SKU:RB-02S037)ADXL345 三軸加速度計(jì)

來自ALSROBOT WiKi
2015年9月30日 (三) 10:36Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航搜索


02s03702.jpg

目錄

產(chǎn)品概述

ADXL345 數(shù)字三軸加速度計(jì)是一款小而薄的超低功耗3軸加速度計(jì),分辨率高達(dá)(13位),測(cè)量范圍達(dá)± 16g。數(shù)字輸出數(shù)據(jù)為16位二進(jìn)制補(bǔ)碼格式,可通過SPI(3線或4線)或I2C數(shù)字接口訪問。ADXL345非常適合移動(dòng)設(shè)備應(yīng)用。它可以在傾斜檢測(cè)應(yīng)用中測(cè)量靜態(tài)重力加速度,還可以測(cè)量運(yùn)動(dòng)或沖擊導(dǎo)致的動(dòng)態(tài)加速度。其高分辨率(3.9mg/LSB),能夠測(cè)量不到1.0°的傾斜角度變化。該器件提供多種特殊檢測(cè)功能?;顒?dòng)和非活動(dòng)檢測(cè)功能通過比較任意軸上的加速度與用戶設(shè)置的閾值來檢測(cè)有無運(yùn)動(dòng)發(fā)生。敲擊檢測(cè)功能可以檢測(cè)任意方向的單振和雙振動(dòng)作。自由落體檢測(cè)功能可以檢測(cè)器件是否正在掉落。這些功能可以獨(dú)立映射到兩個(gè)中斷輸出引腳中的一個(gè)。正在申請(qǐng)專利的集成式存儲(chǔ)器管理系統(tǒng)采用一個(gè)32級(jí)先進(jìn)先出(FIFO)緩沖器,可用于存儲(chǔ)數(shù)據(jù),從而將主機(jī)處理器負(fù)荷降至最低,并降低整體系統(tǒng)功耗。低功耗模式支持基于運(yùn)動(dòng)的智能電源管理,從而以極低的功耗進(jìn)行閾值感測(cè)和運(yùn)動(dòng)加速度測(cè)量。

規(guī)格參數(shù)

  1. 工作電壓:3.3-5v
  2. 超低功耗:測(cè)量模式下40uA電流損耗,待機(jī)模式下0.1uA@2.5v
  3. 通訊接口:I2C、SPI(3線or4線)
  4. 接口類型:0.1"插針孔

接線方法

ADXL345 Arduino
VCC 3V3
GND GND
CS 3V3
SDO GND
SDA A4
SCL A5


實(shí)物接線圖:

Adxl345jiexian.jpg

例子程序

#include <Wire.h>
#define ADXLAddress (0x53)     //ADXL345的I2C地址(ADDR接地)
int xAcc,  yAcc,  zAcc;       // 存放加速度值
int buff[6];                  //存放寄存器高低位值,X、Y、Z軸共6個(gè)
// 加速度傳感器誤差修正的偏移量
int a_offx = 0;
int a_offy = 0;
int a_offz = 0;
void writeRegister(int deviceAddress, byte address, byte val)
 {
  Wire.beginTransmission(deviceAddress); 
  Wire.write(address);       
  Wire.write(val);        
  Wire.endTransmission();
} 
void readRegister(int deviceAddress, byte address) 
{
  Wire.beginTransmission(deviceAddress);  
  Wire.write(address);        
  Wire.endTransmission(); 
  Wire.beginTransmission(deviceAddress); 
  Wire.requestFrom(deviceAddress, 6);   
  int i = 0;
  while(Wire.available())    
  {  buff[i++] = Wire.read();  }
  Wire.endTransmission(); 
}
void initAcc() 
{
  //配置ADXL345,ADXL345采用默認(rèn)的+-2g量程,10位分辨率
writeRegister (ADXLAddress, 0x2C, 0x09);//設(shè)置輸出數(shù)據(jù)速率50Hz,帶寬25Hz。
//默認(rèn)值為0x0A,對(duì)應(yīng)輸出數(shù)據(jù)速率100Hz,帶寬50Hz
writeRegister (ADXLAddress, 0x2D, 0x08);  //設(shè)置ADXL345為測(cè)量模式。
  } 
void getAccData()
{
  readRegister(ADXLAddress, 0x32);  
  xAcc = ((buff[1] << 8) | buff[0] )+ a_offx;   
  yAcc = ((buff[3] << 8) | buff[2] )+ a_offy;
  zAcc = ((buff[5] << 8) | buff[4]) + a_offz;
}
void setup()
{
  Serial.begin(9600);
  Wire.begin();
  initAcc();
  delay(50);
}
void loop()
{
    getAccData();
    Serial.print("xAcc=");
    Serial.print(xAcc);
    Serial.print("yAcc=");
    Serial.print(yAcc);
    Serial.print("zAcc=");
    Serial.println(zAcc);
   delay(200);
}

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購買地址

Arduino ADXL345 三軸加速度計(jì)

周邊產(chǎn)品推薦

Carduino UNO R3 控制器
V5.0傳感器擴(kuò)展板

相關(guān)問題解答

如何使用stm8s103f3單片機(jī)控制adxl345三軸加速度傳感器

相關(guān)學(xué)習(xí)資料

視頻: AS-4WD輪式機(jī)器人三軸加速度計(jì)操控功能演示
視頻:Arduino ADXL345 三軸加速度計(jì)
奧松機(jī)器人技術(shù)論壇