Robofun 機器人論壇

標題: [新手]AXDL345 & L3G4200D &VCNL4000 [打印本頁]

作者: nike0627    時間: 2013-5-6 01:07
標題: [新手]AXDL345 & L3G4200D &VCNL4000
小弟最近使用Arduino pro mini  ATmega328 (3.3V/8 MHz)
想要整合AXDL345(三軸加速規) 跟 L3G4200D(三軸陀螺儀) 跟VCNL4000(紅外線)

但是發現在code 部分Address 會重覆到

像是  {AXDL345 & L3G4200D Address 重複}

0x2D   AXDL345_Register_2D,    L3G4200D_L_OUT_Z_H

0x32   AXDL345_Register_X0,     L3G4200D_INT1_THS_XH
0x33   AXDL345_Register_X1,     L3G4200D_INT1_THS_XL
0x34   AXDL345_Register_Y0,     L3G4200D_INT1_THS_YH
0x35   AXDL345_Register_Y1,     L3G4200D_INT1_THS_YL
0x36   AXDL345_Register_Z0,     L3G4200D_INT1_THS_ZH
0x37   AXDL345_Register_Z1,     L3G4200D_INT1_THS_ZL

像是  {L3G4200D & VCNL4000 Address 重複}

0x26   VCNL4000_Write,            L3G4200D_L_OUT_TEMP
0x27   VCNL4000_Read,             L3G4200D_STATUS_REG


我走的是I2C的線路,現在個別運行都可以動,可是接在一起後,不知道code 要怎麼修改比較妥當。
不知道各位大大,有沒有推薦的修改法或者是文章可以給小弟學習。
作者: vegewell    時間: 2013-5-7 03:25
本帖最後由 vegewell 於 2013-5-7 03:28 編輯

#define   GYR_Y                 0      
#define   ACC_Z                 1   
#define   ACC_Y                 2     
#define ACC (0x53)    //accelerometer address
//
#define CTRL_REG1 0x20 // gyroscope registers
#define CTRL_REG2 0x21
#define CTRL_REG3 0x22
#define CTRL_REG4 0x23
#define CTRL_REG5 0x24

int gyroscope_Address = 105; //I2C address of the gyroscope
//
你可以忽略address

因為 Wire.h會自行處理
作者: nike0627    時間: 2013-5-30 21:46
感謝分享,我已經完成了整合了!!!

#define   GYR_Y                 0      
#define   ACC_Z                 1   
#define   ACC_Y       ...
vegewell 發表於 2013-5-7 03:25





歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2