اطلاعیه

Collapse
No announcement yet.

گیرنده rc5

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

    گیرنده rc5

    سلام دوستان من یه گیرنده rc5 دارم به شماره 138BB170304 اما نمیدونم فرکانس حاملش چقدره ایا اون عدد 304 اخر اندازه فرکانس هست یا خیر
    با تشکر
    سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

    #2
    پاسخ : گیرنده rc5

    یا باید 38 باشه یا 34

    این گیرنده اسمش دقیق چیه؟ oo: oo: oo:

    دیدگاه


      #3
      پاسخ : گیرنده rc5

      نوشته اصلی توسط h.torabi
      یا باید 38 باشه یا 34

      این گیرنده اسمش دقیق چیه؟ oo: oo: oo:
      سلام با 38 امتحان کردم کار میکنه ولی وقتی با کنترل تلوزیون تست میکنم یک دکمه از خودش ادرس ودستورای مختلفی نشون میده oo: (فعلا به این مرحله :angry:نرسیده)
      اسم دقیقش بالا نوشتم همونی که پشتش نوشته بود
      سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

      دیدگاه


        #4
        پاسخ : گیرنده rc5

        نوشته اصلی توسط سید سجاد احدزاده
        سلام با 38 امتحان کردم کار میکنه ولی وقتی با کنترل تلوزیون تست میکنم یک دکمه از خودش ادرس ودستورای مختلفی نشون میده oo: (فعلا به این مرحله :angry: نرسیده)
        اسم دقیقش بالا نوشتم همونی که پشتش نوشته بود
        برنامه گیرنده با C نوشتی یا با بیسیک؟

        دیدگاه


          #5
          پاسخ : گیرنده rc5

          نوشته اصلی توسط h.torabi
          برنامه گیرنده با C نوشتی یا با بیسیک؟
          با c
          سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

          دیدگاه


            #6
            پاسخ : گیرنده rc5

            نوشته اصلی توسط سید سجاد احدزاده
            با c
            منم دارم ی برنامه مینویسم ولی بخاطر کمبود وقت نتونستم کاملش کنم

            البته فرستنده رو درست کردم

            میتونم برنامتونه ببینم

            از روش وقفه استفاده کردید؟

            دیدگاه


              #7
              پاسخ : گیرنده rc5

              نوشته اصلی توسط h.torabi
              منم دارم ی برنامه مینویسم ولی بخاطر کمبود وقت نتونستم کاملش کنم

              البته فرستنده رو درست کردم

              میتونم برنامتونه ببینم

              از روش وقفه استفاده کردید؟
              کد:
              unsigned char bin_add[8],bin_com[8];
                unsigned char i,c,T=221;
                bit g=1;
              
              #define IRoutput PORTD.0  //Config Port
              
                
                  void dec_to_bin(unsigned char a, unsigned char op){
                    unsigned char b,c,i=7;
                    while(i<255){ //from 7 to 0 ==> Decrement from 0 == 255
                      b=a/2;
                      c=a%2;
                        if(op==1) bin_add[i]=c; //select variable addres
                        else if (op==2) bin_com[i]=c;  //select variable command
                      a=b;
                       if(a==1) { //if lasted Division=1
                        i--;
                        if(op==1) bin_add[i]=1;
                        else if (op==2) bin_com[i]=1;
                        a=0;
                       } 
                      i--; 
                    }
                  }
              
                  interrupt [TIM0_OVF] void timer0_ovf_isr(void){
                    if(g==1) IRoutput=~IRoutput;   //F=35.7 Khz
                      else IRoutput=1;
                    TCNT0=T;            //Delay for 14us
                    c++;
                  }
              
                  void modul_0(){ //send logic 0 whit modulation
                        g=1; c=0;
                        TCNT0=T;
                  Label_01:  if(c<=64) goto Label_01;
                        c=g=0;
                  Label_02:  if(c<=64) goto Label_02;
                  }
               
                  void modul_1(){ //send logic 1 whit modulation
                        c=g=0;
                        TCNT0=T;
                  Label_11:  if(c<=64) goto Label_11;
                        g=1; c=0;
                  Label_12:  if(c<=64) goto Label_12;
                  }
                  
                  void address(){
                    for(i=3; i<8; i++){
                     if(bin_add[i]==0) modul_0();
                     else if (bin_add[i]==1) modul_1();
                    }
                  }
                  
                  void command(){
                    for(i=2; i<8; i++){
                     if(bin_com[i]==0) modul_0();
                     else if (bin_com[i]==1) modul_1();
                    }
                  }
                  
                  
                  
                void sendrc5(unsigned char tog, unsigned char add, unsigned char com){
                  dec_to_bin(add,1); // 1= insert to bin_add
                  dec_to_bin(com,2); // 2= insert to bin_com
                  #asm("sei")
                  modul_1();  //chek bit
                  modul_1();  //chek bit
                  if(tog==0) modul_0();     //toggle bit=0     //110 xxxxx xxxxxx total 14bit
                  else if(tog==1) modul_1();  //toggle bit=1     //111 xxxxx xxxxxx total 14bit
                  address();
                  command();
                  #asm("cli")
                  IRoutput=0;
                  delay_ms(30);
                }
              کد:
              unsigned char x,y;
                DDRD.0=1; //output PIN 0 Of PORTD
                IRoutput=0;
                
                TCCR0=0x01;
                TCNT0=T;
                TIMSK=0x01; 
                sendrc5(0,x,y);  //toggle, address, command
              سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

              دیدگاه


                #8
                پاسخ : گیرنده rc5

                نوشته اصلی توسط سید سجاد احدزاده
                کد:
                unsigned char bin_add[8],bin_com[8];
                  unsigned char i,c,T=221;
                  bit g=1;
                
                #define IRoutput PORTD.0  //Config Port
                
                  
                    void dec_to_bin(unsigned char a, unsigned char op){
                      unsigned char b,c,i=7;
                      while(i<255){ //from 7 to 0 ==> Decrement from 0 == 255
                        b=a/2;
                        c=a%2;
                          if(op==1) bin_add[i]=c; //select variable addres
                          else if (op==2) bin_com[i]=c;  //select variable command
                        a=b;
                         if(a==1) { //if lasted Division=1
                          i--;
                          if(op==1) bin_add[i]=1;
                          else if (op==2) bin_com[i]=1;
                          a=0;
                         } 
                        i--; 
                      }
                    }
                
                    interrupt [TIM0_OVF] void timer0_ovf_isr(void){
                      if(g==1) IRoutput=~IRoutput;   //F=35.7 Khz
                        else IRoutput=1;
                      TCNT0=T;            //Delay for 14us
                      c++;
                    }
                
                    void modul_0(){ //send logic 0 whit modulation
                          g=1; c=0;
                          TCNT0=T;
                    Label_01:  if(c<=64) goto Label_01;
                          c=g=0;
                    Label_02:  if(c<=64) goto Label_02;
                    }
                 
                    void modul_1(){ //send logic 1 whit modulation
                          c=g=0;
                          TCNT0=T;
                    Label_11:  if(c<=64) goto Label_11;
                          g=1; c=0;
                    Label_12:  if(c<=64) goto Label_12;
                    }
                    
                    void address(){
                      for(i=3; i<8; i++){
                       if(bin_add[i]==0) modul_0();
                       else if (bin_add[i]==1) modul_1();
                      }
                    }
                    
                    void command(){
                      for(i=2; i<8; i++){
                       if(bin_com[i]==0) modul_0();
                       else if (bin_com[i]==1) modul_1();
                      }
                    }
                    
                    
                    
                  void sendrc5(unsigned char tog, unsigned char add, unsigned char com){
                    dec_to_bin(add,1); // 1= insert to bin_add
                    dec_to_bin(com,2); // 2= insert to bin_com
                    #asm("sei")
                    modul_1();  //chek bit
                    modul_1();  //chek bit
                    if(tog==0) modul_0();     //toggle bit=0     //110 xxxxx xxxxxx total 14bit
                    else if(tog==1) modul_1();  //toggle bit=1     //111 xxxxx xxxxxx total 14bit
                    address();
                    command();
                    #asm("cli")
                    IRoutput=0;
                    delay_ms(30);
                  }
                کد:
                unsigned char x,y;
                  DDRD.0=1; //output PIN 0 Of PORTD
                  IRoutput=0;
                  
                  TCCR0=0x01;
                  TCNT0=T;
                  TIMSK=0x01; 
                  sendrc5(0,x,y);  //toggle, address, command
                اینو قلا دیدم

                نه انشا الله وقت کنم این یکی تکمیلش کنم برنامه که نوشتم تا اینجا دستو راش کمتره
                وخیلی خلاصه تره

                قرار میدم تا دئستان استفاده کنن البته بیشتر بدرد جاهایی میخوره که حافظه کمه

                دیدگاه


                  #9
                  پاسخ : گیرنده rc5

                  نوشته اصلی توسط h.torabi
                  اینو قلا دیدم

                  نه انشا الله وقت کنم این یکی تکمیلش کنم برنامه که نوشتم تا اینجا دستو راش کمتره
                  وخیلی خلاصه تره

                  قرار میدم تا دئستان استفاده کنن البته بیشتر بدرد جاهایی میخوره که حافظه کمه
                  کافیه ادم با کارکردش اشنا باشه من ابتدا میخواستم سخت افزاری نتیجه بگیرم بعد برم سراغ نرم افزاری تنها مشکل من الان گیرندشه
                  توابع مورد نیاز فرستنده اینجا الان یکی تبدیل به باینری یکی ایجاد تاخیر دقیق با timer 0 هست البته بدون وقفه و قرار دادن مقدار باینری که توسط یک متغییر ارایه نگه داری میشه رو پورت خروجی میکرو که توسط فرستنده ارسال بشه
                  من دنبال راهی هستم که از این به عنوان یک پروتکل ارتباطی برای ارسال اطلاعات تا شعاع 10 تا 15 متری
                  باتشکر
                  سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                  دیدگاه


                    #10
                    پاسخ : گیرنده rc5

                    نوشته اصلی توسط سید سجاد احدزاده
                    کافیه ادم با کارکردش اشنا باشه من ابتدا میخواستم سخت افزاری نتیجه بگیرم بعد برم سراغ نرم افزاری تنها مشکل من الان گیرندشه
                    توابع مورد نیاز فرستنده اینجا الان یکی تبدیل به باینری یکی ایجاد تاخیر دقیق با timer 0 هست البته بدون وقفه و قرار دادن مقدار باینری که توسط یک متغییر ارایه نگه داری میشه رو پورت خروجی میکرو که توسط فرستنده ارسال بشه
                    من دنبال راهی هستم که از این به عنوان یک پروتکل ارتباطی برای ارسال اطلاعات تا شعاع 10 تا 15 متری
                    باتشکر
                    دوست عزیز این چیزی که دارید راه میندازید خودش یپروتکل هست چیز جدیدی هم نیست منم اول میخواستم با همین توابع کارم راه بندازم به این پست نگاه کن مال خودمه نتایج جالبی توش هست که همیت الان بدونی کلیییییییی میندازتت جلو
                    http://www.eca.ir/forum2/index.php?topic=106033.0

                    دیدگاه


                      #11
                      پاسخ : گیرنده rc5

                      نوشته اصلی توسط h.torabi
                      دوست عزیز این چیزی که دارید راه میندازید خودش یپروتکل هست چیز جدیدی هم نیست منم اول میخواستم با همین توابع کارم راه بندازم به این پست نگاه کن مال خودمه نتایج جالبی توش هست که همیت الان بدونی کلیییییییی میندازتت جلو
                      http://www.eca.ir/forum2/index.php?topic=106033.0
                      خودم الان میشینم واسش یه تابع مینیویسم :read:
                      سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                      دیدگاه


                        #12
                        پاسخ : گیرنده rc5

                        نوشته اصلی توسط سید سجاد احدزاده
                        خودم الان میشینم واسش یه تابع مینیویسم :read:
                        واسه فرستنده یا گیرنده ؟

                        بدردت خورد؟

                        دیدگاه


                          #13
                          پاسخ : گیرنده rc5

                          نوشته اصلی توسط h.torabi
                          واسه فرستنده یا گیرنده ؟

                          بدردت خورد؟
                          واسه هر دوش من معمولا از چیزای اماده استفاده نمیکنم و دوست دارم خودم ایده بدم چون راحت تر میتونم با هاش کار کنم
                          تایپیک هم خوندم جالب بود بازم میخوام خودم واسش تابع بنویسم
                          سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                          دیدگاه


                            #14
                            پاسخ : گیرنده rc5

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

                            دیدگاه


                              #15
                              پاسخ : گیرنده rc5

                              سلام اقای ترابی من میخوام این کارو توسط timer 0 و حالت مقایسه ocr0 انجام بدم نظرتون چیه با هم شروع کنیم ودر رابطه با کم وکیف مجرا بحث کنیم و شروع به برنامه نویسی فرستنده بکنیم :smile:
                              سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

                              دیدگاه

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