相關(guān)商品

  • Arduino Leonardo 萊昂納多控制器 原裝進(jìn)口
  • Arduino 4WD 移動機(jī)器人平臺 鋁合金小車(黑色) 電子大賽
  • Arduino 4WD 移動機(jī)器人平臺 鋁合金小車電子大賽(12V 100R 金屬電機(jī))
  • 1602液晶擴(kuò)展板 v2.0 Arduino LCD 1602 Keypad Shield
  • Arduino 雙H橋直流電機(jī)驅(qū)動板 步進(jìn)電機(jī)驅(qū)動板 機(jī)器人配件
  • Arduino傳感器 HMC5883L 數(shù)字電子羅盤 智能小車 機(jī)器人配件
  • USB接口連接線 USB轉(zhuǎn)TTL Arduino 數(shù)據(jù)下載線 USB cable for Arduino
  • Arduino實(shí)驗(yàn)連接線 進(jìn)口優(yōu)質(zhì)彩色單芯杜邦線(20CM)單片機(jī)
  • Arduino 4WD 移動機(jī)器人平臺 鋁合金小車(12V 200R金屬電機(jī))電子大賽
  • Arduino 12864點(diǎn)陣液晶 51單片機(jī) 帶字庫 帶教程講解 液晶顯示屏
  • Arduino LCD12864 點(diǎn)陣液晶擴(kuò)展板 12864液晶屏 送Arduino庫文件
  • Arduino IIC/I2C LCD1602 字符液晶顯示器 送庫文件 電子積木
  • Arduino Serial LCD1602 字符液晶顯示器 串行液晶 電子積木
  • Arduino UNO R3 控制器 ATmega328P-PU+ATmega16U2 arduino 原裝進(jìn)口
  • 原裝進(jìn)口 Arduino Mega ADK 2560 開發(fā)板 Arduino uno R3 控制器
  • 奧松機(jī)器人 Arduino UNO R3 V5.0傳感器擴(kuò)展板 電子積木 正品保障 傳感器套件專配 單片機(jī)開發(fā)
  • Arduino實(shí)驗(yàn)連接線 20P杜邦線 單片機(jī)
  • 奧松機(jī)器人 4WD鋁合金移動小車 Arduino開發(fā)平臺 編程玩具 新品
  • Arduino 4WD 移動機(jī)器人平臺 鋁合金小車(6V金屬電機(jī)) 電子大賽
  • Arduino 4WD 移動機(jī)器人平臺 鋁合金小車(銀色) 電子大賽
  • Serial Controlled Motor Driver 電機(jī)驅(qū)動板 Sparkfun 原裝進(jìn)口
  • Arduino IIC LCD2004 I2C接口字符液晶顯示器 帶庫文件 電子積木
  • Arduino Mini 05 Sparkfun原裝進(jìn)口 ATmega328 控制器
  • 12V 1A 開關(guān)電源適配器 樹莓派 Raspberry Pi 液晶屏 適配器
  • Arduino 雙路大功率直流電機(jī)驅(qū)動擴(kuò)展板 VNH5019 美國Pololu原裝
  • Arduino 直流電機(jī)驅(qū)動板 MiniMoto DRV8830 IIC/I2C Sparkfun原裝
  • RoboClaw 2x7A 電機(jī)驅(qū)動板 (V5) 直流電機(jī)控制器 Pololu原裝進(jìn)口
  • RoboClaw 電機(jī)驅(qū)動板 2x30A 控制器 智能小車 Pololu 原裝進(jìn)口
  • Starduino UNO R3 控制器 ATmega328P-PU+ATmega32U2 (直插) 兼容Arduino
  • 9軸姿態(tài)傳感器 LSM9DS1 三軸加速度計(jì) 陀螺儀 磁力計(jì) Sparkfun
  • AS-2WD 鋁合金小車移動平臺 移動機(jī)器人 【1:48電機(jī)版】 電子大賽
  • AS-2WD 鋁合金小車移動平臺 移動機(jī)器人 【1:120電機(jī)版】 電子大賽
  • AS-2WD 鋁合金小車移動平臺 移動機(jī)器人【舵機(jī)版】電子大賽
  • 學(xué)Arduino玩轉(zhuǎn)機(jī)器人制作 愛上 Arduino套件 愛上制作圖書 機(jī)器人制作知識大全 愛上機(jī)器人
  • Arduino 9 Axes Motion Shield 9軸運(yùn)動擴(kuò)展板 三軸加速度計(jì)
  • Arduino UNO R3 配套亞克力外殼 拼裝外殼 透明盒子 專用保護(hù)盒子
  • Arduino uno 配套 傳感器擴(kuò)展板 Arduino XBee Sensor Shield
  • Arduino Steven 控制器 ATMEGA32U4 Arduino mini 控制器
  • 原裝進(jìn)口 Arduino Mega 2560 控制器板 Arduino uno升級 A000067
  • 原裝 Arduino UNO R3 控制器 ATmega328 單片機(jī) 官方中文版
  • Arduino LCD 12864液晶搖桿擴(kuò)展板 液晶屏 Arduino兼容開發(fā)板
  • Arduino ADXL345 三軸加速度傳感器 三軸加速度計(jì) 電子積木
  • 相關(guān)文章

    當(dāng)前位置: 首頁 > 產(chǎn)品評測 > 【產(chǎn)品測評】基于 ADXL345 三軸加速度計(jì)的角度測試儀

    【產(chǎn)品測評】基于 ADXL345 三軸加速度計(jì)的角度測試儀

    編輯:neil2016-09-27 瀏覽次數(shù):1439

    三軸加速度傳感器采用ADXL345芯片,此芯片應(yīng)用MEMS技術(shù),具有SPI和IIC數(shù)字輸出功能,芯片小巧輕薄,功耗低,量程可變,分辨率高。外形尺寸僅為3mm×5mm×1mm;在典型電壓Vs=2.5V時功耗電流約為25~130μA,最大量程可達(dá)±16g,另可選擇±2、±4、±8g 量程,可采用固定的4mg/LSB 分辨率模式,該分辨率可測得0.25°的傾角變化。

           ADXL345非常適合移動設(shè)備應(yīng)用。它可以在傾斜檢測應(yīng)用中測量靜態(tài)重力加速度,還可以測量運(yùn)動或沖擊導(dǎo)致的動態(tài)加速度。該器件提供多種特殊檢測功能,活動和非活動檢測功能。通過比較任意軸上的加速度與用戶設(shè)置的閾值來檢測有無運(yùn)動發(fā)生。敲擊檢測功能可以檢測任意方向的單振和雙振動作。自由落體檢測功能可以檢測器件是否正在掉落。這些功能可以獨(dú)立映射到兩個中斷輸出引腳中的一個。

    下面我們就使用ADXL345三軸加速度計(jì)制作角度測試儀

    在實(shí)驗(yàn)前,先對ADXL345三軸加速度計(jì)傳感器接口做個簡單的介紹

    本模塊使用ADXL345的IIC通信接口

    共有四個引腳分別是:+、-、SDA、SCL

    其中+、-是模塊的供電Vcc和GND,SDA是IIC的時鐘引腳、SCL是IIC的數(shù)據(jù)引腳

    接下來開始進(jìn)行試驗(yàn)

    * 準(zhǔn)備硬件

    1、Carduino UNO R3 控制器 * 1個

    2、LCD12864 液晶擴(kuò)展板 * 1個

    3、杜邦線 * 4條

    4、USB數(shù)據(jù)線 * 1條

    * 硬件連接

    如圖所示:本實(shí)驗(yàn)接線非常簡單,LCD12864液晶擴(kuò)展板接口是與Carduino UNO R3控制器完全兼容的,將他們對應(yīng)插接在一起即可,然后連接ADXL345模塊,+、- 分別連接到液晶擴(kuò)展板的 Vcc(紅色排針)、GND(黑色排針),SDA 連接 A4,SCL 連接 A5

     

    * 示例代碼

    #include "U8glib.h"

    #include   //調(diào)用arduino自帶的I2C

    #define Register_ID 0     //器件ID

    #define Register_2D 0x2D  //靜止、活動、休眠、喚醒

    #define Register_X0 0x32  //X軸數(shù)據(jù)0

    #define Register_X1 0x33  //X軸數(shù)據(jù)1

    #define Register_Y0 0x34  //Y軸數(shù)據(jù)0

    #define Register_Y1 0x35  //Y軸數(shù)據(jù)1

    #define Register_Z0 0x36  //Z軸數(shù)據(jù)0

    #define Register_Z1 0x37  //Z軸數(shù)據(jù)1

    int ADXAddress = 0xA7>>1;  //轉(zhuǎn)換為7位地址

    int X0,X1,X_out;

    int Y0,Y1,Y_out;

    int Z1,Z0,Z_out;

    int valx,valy,valz;

    U8GLIB_MINI12864 u8g(5, 6, 2, 4, 3);

    void draw()

    {

      u8g.setFont(u8g_font_unifont);   

      

      u8g.drawStr( 0,11,"x_angle:");

      u8g.setPrintPos(70,11);

      u8g.print(valx);

      

      u8g.drawStr( 0,36,"y_angle:");

      u8g.setPrintPos(70,36);

      u8g.print(valy);

      

      u8g.drawStr( 0,63,"z_angle:");

      u8g.setPrintPos(70,63);

      u8g.print(valz);

      }

      

    int Readx()

    {

     Wire.beginTransmission(ADXAddress);

      Wire.write(Register_X0);//請求X0數(shù)據(jù)

      Wire.write(Register_X1);//請求X1數(shù)據(jù)

      Wire.endTransmission();

      Wire.requestFrom(ADXAddress,2);//發(fā)送請求

      if(Wire.available()<=2);

      {

        X0 = Wire.read();//收到X0數(shù)據(jù)

        X1 = Wire.read();//收到X1數(shù)據(jù)

        X1 = X1<<8;

        X_out = X0+X1;

      }

      valx = map(X_out,-256,256,-90,90);

      return valx;

    }

      

      int Ready()

      {

       Wire.beginTransmission(ADXAddress);

       Wire.write(Register_Y0);

       Wire.write(Register_Y1);

       Wire.endTransmission();

       Wire.requestFrom(ADXAddress,2);

       if(Wire.available()<=2);

      {

        Y0 = Wire.read();

        Y1 = Wire.read();

        Y1 = Y1<<8;

        Y_out = Y0+Y1;

      }

      valy = map(Y_out,-256,256,-90,90);

      return valy;

      }

      

        int Readz()

      {

       Wire.beginTransmission(ADXAddress);

       Wire.write(Register_Z0);

       Wire.write(Register_Z1);

       Wire.endTransmission();

       Wire.requestFrom(ADXAddress,2);

       if(Wire.available()<=2);

      {

        Z0 = Wire.read();

        Z1 = Wire.read();

        Z1 = Z1<<8;

        Z_out = Z0+Z1;

      }

      valz = map(Z_out,-256,256,-90,90);

      return valz;

      }

      

    void setup() {

      Serial.begin(9600); //設(shè)置通信波特率

      Wire.begin();  //初始化I2C

      Wire.beginTransmission(ADXAddress);//發(fā)送芯片地址

      Wire.write(Register_2D);//特性控制

      Wire.write(8);//關(guān)閉休眠模式

      Wire.endTransmission();//結(jié)束發(fā)送

    }

     

    void loop() {

      valy = Ready();

      valx = Readx();

      valz = Readz();

        u8g.firstPage();

      do  {

        draw();

      }

      while( u8g.nextPage() );

      delay(200);

    }

    注意此程序需要使用到庫文件,大家可以點(diǎn)擊此處,進(jìn)入奧松機(jī)器人官方技術(shù)論壇,下載模塊的示例程序及技術(shù)文檔

           * 程序效果

    如圖所示:在LCD12864液晶擴(kuò)展板上會實(shí)時顯示當(dāng)前傳感器的X、Y、Z軸角度

     

     

    ----------------------------------------------------------------------------------------------------------------

    奧松機(jī)器人官網(wǎng):www.robotbase.cn

    微信號:搜索公眾號“奧松機(jī)器人”

    QQ群: 271230889(討論,解惑)

    微博:@奧松機(jī)器人基地

    ----------------------------------------------------------------------------------------------------------------

    溫馨提示:予人玫瑰,手留余香;如果你喜歡這篇文章,不妨轉(zhuǎn)發(fā)推薦給你身邊的朋友!

     

    • 用戶評價

    zxczxcgs
    咨詢內(nèi)容:
    很好
    管理員:
    謝謝您的認(rèn)可,歡迎您咨詢問題呢!
    總計(jì) 1 個記錄,共 1 頁。 第一頁 上一頁 下一頁 最末頁
    用戶名: 匿名用戶
    E-mail:
    評價等級:
    評論內(nèi)容:
    驗(yàn)證碼:
    captcha

    Hi,大家好,我是小奧!

    歡迎來到奧松機(jī)器人的世界!

    需要咨詢服務(wù)請點(diǎn)小奧哦!

    • 銷售咨詢: 銷售咨詢
    • 銷售咨詢: 銷售咨詢
    • 技術(shù)支持: 技術(shù)支持
    • 咨詢電話:
      0451-86628691
    Top