ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2013/12/19
    12
    0

    راه اندازي ماژول gy_80 با sam7x256

    با سلام حدمت تمامي اساتيد
    يه ماژول gy_80 خريدم و ميخوام با i2c راه اندازي کنم
    بعضي از آدرس ها رو توي ديتاشيت ميکرو گير آوردم ولي کلا نميدونم روند برنامه نويسي مازول چيه و کاملا گيج شدم
    اگه اين ماژول manual داره که لطفا لينکش رو بذاريد
    اگه هم کسي اونو راه اندازي کرده يا تجربه اي داره لطفا کمک کنه
    من ميخوام همه ي سنسور هاشو به جز فشار سنج راه اندازي کنم
    الان هم دور سنسور قطبنماي اون هستم
    با تشکر از همگي
  2. #2
    2013/12/19
    12
    0

    پاسخ : راه اندازي ماژول gy_80 با sam7x256

    اصلا خود ماژول بي خيال
    کسي نميتونه در مورد راه اندازي شتاب سنج سه محوره ADXL345 که با i2c ميکرو آرم اتمل کار کنه کمکم کنه
    اين که کدوم رجيستر ها رو بايد مقدار داد
    و روند کلي برنامه نويسي اون
    ممنون
  3. #3
    2013/12/19
    12
    0

    پاسخ : راه اندازي ماژول gy_80 با sam7x256

    يه برنامه براي شتاب سنج نوشتم
    اگه منيشه اساتيد يه نگاهي بهش بکنن و اشکالات اونو بهم بگن
    مشکل برنامه کجاست که هر وقت ميخوام ديتايي رو بخونم بهم صفر رو نمايش ميده
    احساس ميکنم يه پيش نياز هايي که من رعايت نميکنم
    رجيستر هاي اوليه شايد درست مقدار دهي نشده اند
    يا کد هاي مربوط به tft مشکل دارن
    براي ديباگ برنامه هر چند خط يه بار خواستم که يه عدد نشونم بده
    ولي موقعي ميکرو رو پروگرم ميکنم جاهايي که ميخوام عددي رو بهم نشون بده صفر نشون ميده
    اگه ميشه کسايي که کار کردن کمک کنن
    ممنون
    اينم کد

    کد:
    #include <at91sam7x256.h>
    #include <delay.h>
    #include <TFTLCD.h>
    #include <math.h>
    #include <stdlib.h>
    
    char PORTRAIT=0;
    
    unsigned int Accel_Xout_Val=0, Accel_Yout_Val=0, Accel_Zout_Val=0;
    int Accel_Xout_Normalized_Val=0, Accel_Yout_Normalized_Val=0, Accel_Zout_Normalized_Val=0;
     char Offset_X_Val=0,Offset_Y_Val=0,Offset_Z_Val=0;
    char Accel_XAngle=0, Accel_YAngle=0, Accel_ZAngle=0;
    
     char X_Angle[10];
     char Y_Angle[10];
     char Z_Angle[10];
    
    int tftshow_X;
    int tftshow_Y;
    int tftshow_Z;
    
    int main(){
    	
    	tftlcd_init();
    	tftlcd_putchar('1',BLUE,GREEN,1);
    	
    	*AT91C_PMC_PCER = (1<<9);
    	
    //I2c Configuration	PIO
     *AT91C_PIOA_PDR = (1<<10 | 1<<11);					  
     *AT91C_PIOA_ASR = (1<<10 | 1<<11);				    
     *AT91C_PIOA_MDER = (1<<10 | 1<<11);					  
     *AT91C_PIOA_PPUER = (1<<10 | 1<<11);
    	
    	//I2c Configuration 
     *AT91C_TWI_CWGR = 0x00017676;	
     *AT91C_TWI_CR =0x4;
    	
     *AT91C_TWI_MMR = 0x7B0200;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x3139;
     *AT91C_TWI_THR = 0x0B;
     delay_ms(1000);
    	
     *AT91C_TWI_MMR = 0x0E50100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x2D;
     *AT91C_TWI_THR = 0x08;
     delay_ms(1000);
     
     *AT91C_TWI_MMR = 0x0E50100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x2E;
     *AT91C_TWI_THR = 0x80;
     delay_ms(1000);
     
     tftlcd_putchar('2',BLUE,GREEN,1);
     
    	while(1){
    		
     *AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x1E;
     *AT91C_TWI_CR =0x3;
     Offset_X_Val= *AT91C_TWI_RHR;
    	//	tftshow_X = (int)(Offset_X_Val);
    	//	sprintf(X_Angle,"%d",tftshow_X);
    	//	tftlcd_puts(X_Angle,BLUE,GREEN,1);
    
    
     *AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x1F;
     Offset_Y_Val= *AT91C_TWI_RHR;
    
     *AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x20;
     Offset_Z_Val= *AT91C_TWI_RHR;
    tftlcd_putchar('3',BLUE,GREEN,1);		
    	
    
    		
    		*AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x33;
     Accel_Xout_Normalized_Val= *AT91C_TWI_RHR;
    		
    		*AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x35;
     Accel_Yout_Normalized_Val= *AT91C_TWI_RHR;
     
     *AT91C_TWI_MMR = 0xE51100;//Device Address ADXL345=0xE5
     *AT91C_TWI_IADR = 0x37;
     Accel_Zout_Normalized_Val = *AT91C_TWI_RHR;
     tftlcd_putchar('4',BLUE,GREEN,1);
     
     
     
     // Convert Unsigned Int To Int
      Accel_Xout_Normalized_Val = Accel_Xout_Val;
      Accel_Yout_Normalized_Val = Accel_Yout_Val;
      Accel_Zout_Normalized_Val = Accel_Zout_Val;
    		tftlcd_putchar('5',BLUE,GREEN,1);
    		
    	Accel_Xout_Val = Accel_Xout_Val-Offset_X_Val;
     Accel_Yout_Val = Accel_Yout_Val-Offset_Y_Val;
    	Accel_Zout_Val = Accel_Zout_Val-Offset_Z_Val;
    	tftlcd_putchar('6',BLUE,GREEN,1);
    	
    	// Calculate The Angle Of Each Axis
    	Accel_XAngle = 57.295*atan((float) Accel_Xout_Normalized_Val / sqrt(pow((float)Accel_Zout_Normalized_Val,2)+pow((float)Accel_Yout_Normalized_Val,2)));
    	Accel_YAngle = 57.295*atan((float) Accel_Yout_Normalized_Val / sqrt(pow((float)Accel_Zout_Normalized_Val,2)+pow((float)Accel_Xout_Normalized_Val,2)));
     Accel_ZAngle = 57.295*atan((float) sqrt(pow((float)Accel_Xout_Normalized_Val,2)+pow((float)Accel_Yout_Normalized_Val,2))/ Accel_Zout_Normalized_Val );
    	tftlcd_putchar('7',BLUE,GREEN,1);
     // ftoa(Accel_XAngle,4,X_Angle);
    	
    	 tftshow_X = (int)(Accel_XAngle);
    	 tftshow_Y = (int)(Accel_YAngle);
    	 tftshow_Z = (int)(Accel_ZAngle);
    	 tftlcd_putchar('8',BLUE,GREEN,1);
    	 
    	 sprintf(X_Angle,"%d",tftshow_X);
    	 sprintf(Y_Angle,"%d",tftshow_Y);
    	 sprintf(Z_Angle,"%d",tftshow_Z);
    	 tftlcd_putchar('9',BLUE,GREEN,1);
    	 
    	 tftlcd_puts(X_Angle,BLUE,GREEN,1);
    	 tftlcd_puts(Y_Angle,BLUE,GREEN,1);
    	 tftlcd_puts(Z_Angle,BLUE,GREEN,1);
    	 tftlcd_putchar('10',BLUE,GREEN,1);
    	 
    	}
    	
    }
  4. #4
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : راه اندازي ماژول gy_80 با sam7x256

    حقیقتشو بخای باید حتما ماژول باشه و کار کنیم تا جواب بده
    من دارمروی ی GY-521 کار میکنم و ایشالا بزودی راه میندازمش.
    باید قشنگ دیتا شیت رو بخونی رو بفهمی که چه کنی تا چه بشه. راه دیگه ای نداره
    کسه دیگه ای این ماژول رو خریداری نکرده و روش کار نکرده؟
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  5. #5
    2013/12/19
    12
    0

    پاسخ : راه اندازي ماژول gy_80 با sam7x256

    ممنون از جوابتون
    راستش رو بخوايد اين ماژول هيج manual ي نداره
    ديتاشيت قطب نما و شتاب سنج رو خوندم
    مثال ها رو هم ديدم
    احساس ميکنم رجبستر هاي کمي رو مقدار دهي ميکنم
    يه پيش نياز هاي بيشتري داره
    شبيه ساز KEIL هم کامل جواب ميده
    برنامه قطب نما رو هم ميذارم اگه وقت داشتيد و خوصله کرديد نگاهي به ديتاشبت بندازيد ببينيد من کجا دارم رجيستر رو کم مقدار دهي ميکنم
    کد:
    #include <at91sam7x256.h>
    #include <delay.h>
    #include <TFTLCD.h>
    #include <stdio.h>
     
    char PORTRAIT = 0;
    char data;
    char LCD_Show[10];
    
    int main(){
    	
    	tftlcd_init();
    		
     *AT91C_PMC_PCER = (1<<9);
    	
    //I2c Configuration	PIO
     *AT91C_PIOA_PDR = (1<<10 | 1<<11);					  
     *AT91C_PIOA_ASR = (1<<10 | 1<<11);				    
     *AT91C_PIOA_MDER = (1<<10 | 1<<11);					  
     *AT91C_PIOA_PPUER = (1<<10 | 1<<11);
    	
    //I2c Configuration 
     *AT91C_TWI_CWGR = 0x00017676;	
     *AT91C_TWI_CR =0x4;
    	
     *AT91C_TWI_MMR = 0x3C0100;//Device Address(Compass) = 0x3C
     *AT91C_TWI_IADR = 0x00;
     *AT91C_TWI_THR = 0x71;
     delay_ms(1000);
    	
     *AT91C_TWI_MMR = 0x3C0100;//Device Address(Compass) = 0x3C 
     *AT91C_TWI_IADR = 0x01;
     *AT91C_TWI_THR = 0xA0;
     delay_ms(1000);
     
     *AT91C_TWI_MMR = 0x3C0100;//Device Address(Compass) = 0x3C
     *AT91C_TWI_IADR = 0x02;
     *AT91C_TWI_THR = 0x00;
     delay_ms(1000);
     tftlcd_putchar('1',BLUE,GREEN,1);
    	
    	while(1){
    		
     *AT91C_TWI_MMR = 0x3D1100;			
     *AT91C_TWI_IADR = 0x06;	
    	*AT91C_TWI_CR =0x3;
    	tftlcd_putchar('2',BLUE,GREEN,1);
    		
     while((*AT91C_TWI_SR & 0x2) == 0);
     data=*AT91C_TWI_RHR;
    	tftlcd_putchar('3',BLUE,GREEN,1);
     		
     while((*AT91C_TWI_SR & 0x1) == 0);	
     delay_ms(10);
     tftlcd_putchar('4',BLUE,GREEN,1);		
    			
     sprintf(LCD_Show,"%d",data);
     tftlcd_puts(LCD_Show,BLUE,GREEN,1);
     delay_ms(1000);	
     tftlcd_putchar('5',BLUE,GREEN,1);
    		
     *AT91C_TWI_MMR = 0x3C0100;//Device Address(Compass) = 0x3C
     *AT91C_TWI_IADR = 0x03;
    		
    	}	
    }
    واقعا شرمنده از اين که وقتتون رو گرفتم
    اگه وقت کرديد يه نگاه بهش بندازيد
    واقعا ممنون
نمایش نتایج: از 1 به 5 از 5

موضوعات مشابه

  1. کمک در راه اندازي ماژول قطب نما GY-271
    توسط Fanoudi در انجمن میکروکنترلرهای AVR
    پاسخ: 61
    آخرين نوشته: 2019/07/13, 17:57
  2. کمک در راه اندازي ماژول GY-29
    توسط Zebelkhanbala در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2014/11/19, 16:30
  3. راه اندازي تاچ ماژول LCD N96
    توسط IRT در انجمن NXP
    پاسخ: 3
    آخرين نوشته: 2014/01/23, 15:09
  4. زاه اندازي ماژول فرستنده و ماژول گيرنده تصوير
    توسط milad1993 در انجمن ماژول های RF - ISM Band و بلوتوث
    پاسخ: 4
    آخرين نوشته: 2013/06/11, 23:47
  5. راه اندازي سخت افزاري arm sam7x256
    توسط brja در انجمن ATMEL
    پاسخ: 16
    آخرين نوشته: 2011/06/23, 11:00

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •