اطلاعیه

Collapse
No announcement yet.

راه اندازی سنسور ژیزوسکوپ itg3205 با codevision AVR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی سنسور ژیزوسکوپ itg3205 با codevision AVR

    چند روزیه که برا رباتم ژیروسکوپ itg3205 رو خریدم. تونستم با i2c (توابع آماده avr codvision) رجیستر idش که عدد 104 هست رو بخونم. اما چند ثانیه طول نکشید که 0 بهم داد و در بعضی مواقع هم 255. چند روز بعد هم یکی از دوستان دوباره با همین i2c راش انداخت ولی بازم همین جوری شد.اگه کسی قبلا اونو یا مثلشو راه انداخته بی زحمت راهنمایی کنه. :biggrin:
    و همچنین میخاستم بدونم اگه با twi برنامشو بنویسم فرقی نمیکنه؟؟؟؟؟؟؟
    البته هرچی تلاش میکنم با twi راش بندازم نمیشه. یعنی تو مرحله ایجاد حالت استارت گیر میکنه. :angry:
    یکی به داد ما برسه .... :cry2:

    #2
    پاسخ : راه اندازی سنسور ژیزوسکوپ itg3205 با codevision AVR

    salam
    twi ham mishe nevesht vali ghablesh ye ketabkhone vasash tarif kon
    man khodam rash andakhtam
    vali balad nistam chejori inja bezaramesh faghat khode ketabkhone itg ro vasat mizaram bad ba khode code wizard twi ro faal kon va ketabkhonato baz khani kon

    #define ITG_ADDRESS 0x68
    #define ITG_PWR_MGM 0x3E
    #define ITG_X1 0x1D
    #define ITG_X0 0x1E
    #define ITG_Y1 0x1F
    #define ITG_Y0 0x20
    #define ITG_Z1 0x21
    #define ITG_Z0 0x22
    #define ITG_DLPF_FS 0x16
    #define ITG_TEMP_OUT_H 0x1B
    #define ITG_TEMP_OUT_L 0x1C
    #define ITG_SMPLRT_DIV 0x15
    #define ITG_INT_CFG 0x17

    unsigned char ITG_SENSORS[8];


    // TWI functions
    #include <twi.h>
    #include <stdio.h>

    ////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////

    unsigned char inline read_ITG()//unsigned char * ITG_SEN)
    {
    //////////////////////////X////////////////////////
    unsigned char ToBeSent[2];
    //unsigned char data[2];

    ToBeSent[0]=ITG_X1;
    //ToBeSent[1]=0B11010001;
    twi_master_trans(ITG_ADDRESS,ToBeSent, 1, ITG_SENSORS, 8);
    return 1;
    }
    ////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////
    unsigned char init_ITG()
    {
    unsigned char Temp[2];

    Temp[0]=ITG_PWR_MGM;
    Temp[1]= 0;//PLL with Z Gyro reference
    if(!twi_master_trans(ITG_ADDRESS, Temp, 2, 0, 0))//write POWER_CTL
    {
    return 0;
    }

    Temp[0]=ITG_DLPF_FS;
    Temp[1]= 0x18; //0x1E(5hz);// 0x18;//FS_SEL = 3h , DLPF_CFG = 2h
    if(!twi_master_trans(ITG_ADDRESS, Temp, 2, 0, 0))//write DLPF
    {
    return 0;
    }

    Temp[0]=ITG_SMPLRT_DIV;
    Temp[1]= 0B00100000;
    if(!twi_master_trans(ITG_ADDRESS, Temp, 2, 0, 0))//write DLPF
    {
    return 0;
    }

    Temp[0]=ITG_INT_CFG;

    Temp[1]= 0x00;
    if(!twi_master_trans(ITG_ADDRESS, Temp, 2, 0, 0))
    {
    return 0;
    }
    return 1;
    }

    دیدگاه

    لطفا صبر کنید...
    X