اطلاعیه

Collapse
No announcement yet.

[پروژه] پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

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

    پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

    قابل توجه دوستان و آقای aivhl :nerd:
    لینک ها رو میزنم چیزی نمیاره لینک ها درستن؟ :question:
    در جهان هرگز مشو مدیون احساس کسی - تا نباشد رایگان مهرت گروگان کسی
    گوهر خود را نزن بر سنگ هر ناقابلی - صبر کن پیدا شود گوهر شناس قابلی

    دیدگاه


      پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

      نوشته اصلی توسط sami222
      قابل توجه دوستان و آقای aivhl :nerd:
      لینک ها رو میزنم چیزی نمیاره لینک ها درستن؟ :question:
      با سلام،

      با توجه به اینکه میکروچیپ به ایران سرویس نمیده، باید از برنامه هایی که IP رو تغییر میدن استفاده کنید! مثل F r e e G a t e
      اگر نتونستید دانلود کنید، بگید تا براتون پ کنم :mrgreen:
      مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

      Sh_Nourbakhsh@Yahoo.com

      http://s2.picofile.com/file/7170362468/_Wall_e_.jp

      دیدگاه


        پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

        نوشته اصلی توسط aivhl
        با سلام،

        اگر به Code Hopping علاقمند هستید، فایل زیر که از شرکت MicroChip هستش رو دانلود و نصب کنید :

        http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2616& param=en532672&dwn=en532669

        پس از نصب، یک فایل اجرایی که تولید کننده کلید هست دارید و تعدادی PDF با برنامه سورس اسمبلی و C که در خصوص انکد و دیکد کد هاپینگ با میکروهای PIC آموزش داده.
        میکروهای استفاده شده از خانواده PIC هستند ولی اگر علاقمند باشید، با توضیحات کاملی که داده شده میتونید به AVR پورتشون کنید.

        اطلاعات تکمیلی هم در اینجا وجود داره :

        http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2075& param=en505853&Pagetitle=Application%20Notes
        با سلام

        از اینکه این رفرنس واقعا عالی رو معرفی کردین واقعا ممنون
        چون بنده بعد از سوال اقای افشارنوری خیلی گشتم تا رفرنس خوبی معرفی کنم ولی مثل اینکه شما موفقتر و سریعتر بودید

        این هم یه رفرنس در حد تیم ملی از اتمل با سورسش

        http://www.atmel.com/Images/Atmel-2600-AVR411-Secure-Rolling-Code-Algorithm-for-Wireless-Link_Application-Note.pdf
        http://www.atmel.com/Images/AVR411.zip

        البته دارم یه توضیحات کلی با یه مثال ساده فارسی اماده میکنم تا انشالله در اختیار دوستان قرار بدم

        به همین سادگی :nice:
        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

        دیدگاه


          پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

          نوشته اصلی توسط امیر افشارنوری
          از راهنماییتون ممنونم
          در صورت امکان فایل اول را پلود کنید. به ف ی ل ت ر ش ک ن دسترسی ندارم
          http://s4.picofile.com/file/7739861826/Microchip_KeeLoq_Decryption.rar.html

          به همین سادگی :nice:
          تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
          به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

          دیدگاه


            پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

            با سلام،

            از اینکه این رفرنس واقعا عالی رو معرفی کردین واقعا ممنون
            چون بنده بعد از سوال اقای افشارنوری خیلی گشتم تا رفرنس خوبی معرفی کنم ولی مثل اینکه شما موفقتر و سریعتر بودید
            من هم به نوبه خودم از شما تشکر میکنم. شما از معدود افراد این سایت هستید که اطلاعات مفید خودتون رو با سایرین شریک میشید و اطلاعات خوبی رو به علاقمندان ارائه میکنید...

            راستش من سالها پیش در این مورد مطالعه داشتم و بهترین رفرنس ها و اطلاعاتی که دیده بودم، همین بود، سایر اطلاعات خیلی کاربردی نبودن.
            علت اینکه خیلی موضوع رو جدی نگرفتم این بود که ریموت های هاپینگ اون موقع اصلا توی ایران نبود، بعد هم که اومد خیلی گرون بود!
            شما از چه ریموتی استفاده میکنید؟ چنده و از کجا تهیه میکنید؟
            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

              نوشته اصلی توسط aivhl
              من هم به نوبه خودم از شما تشکر میکنم. شما از معدود افراد این سایت هستید که اطلاعات مفید خودتون رو با سایرین شریک میشید و اطلاعات خوبی رو به علاقمندان ارائه میکنید...
              دقیقا"درسته
              من به نوبه خودم ازتون تشکر میکنم
              http://imenbazar.com

              دیدگاه


                پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرن

                نوشته اصلی توسط aivhl
                با سلام،

                من هم به نوبه خودم از شما تشکر میکنم. شما از معدود افراد این سایت هستید که اطلاعات مفید خودتون رو با سایرین شریک میشید و اطلاعات خوبی رو به علاقمندان ارائه میکنید...

                راستش من سالها پیش در این مورد مطالعه داشتم و بهترین رفرنس ها و اطلاعاتی که دیده بودم، همین بود، سایر اطلاعات خیلی کاربردی نبودن.
                علت اینکه خیلی موضوع رو جدی نگرفتم این بود که ریموت های هاپینگ اون موقع اصلا توی ایران نبود، بعد هم که اومد خیلی گرون بود!
                شما از چه ریموتی استفاده میکنید؟ چنده و از کجا تهیه میکنید؟
                با سلام

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

                نه ما از ریموت های هاپینگ استفاده نمیکنیم چون به قول شما گرونه و برای فروش نیاز به برنامه ریزی داره لذا نه اقتصادی هست و نه به صرفه
                بنده اکثرا از ریموتهای به قول عوام لرنینگ و دقیقا از کدی که در همین تاپیک معرفی کردم استفاده میکنم البته با کمی تغییر و پیاز داغ بیشتر
                یه تعداد کار رو با هاپینگ کردم برای مثال چون ریموتهای پک لایف گرونه (اون موقع هفتاد هزار تومن بود) اونهارو کپی کردم و با یه tiny13 درستش کردم که برای جعبش هم از جعبه خود ریموتهای لرن مشابه بتا استفاده کردم (یه تعدادی بدون مدار وارد کردم)
                در کل دارای امنیت بالا پروتوکل سنگین و از همه مهمتر قیمت بالایی برخوردان ولی بازم میشه دورش زد !!!!

                بنده خودم ریموت وارد میکنم و اکثرا از ریموتهای لرنینگ استفاده میکنیم
                اما دارم روش کار میکنم که اگر بشه انشالله یه تغییراتی روی این مورد بدیم
                متاسفانه وضعیت اقتصادی خوب نیست با همین امکانات هم قیمت به حدی بالا رفته که فروش بیش از یک سوم اومده پایین حالا اگر بنده زیاد تغییرش بدم و قیمت رو بالا ببرم که درگه میشه واویلا لذا باید فعلا صبر کرد !!!!!!!!!!

                به همین سادگی :nice:
                تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                دیدگاه


                  پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                  با سلام
                  این کد برنامه ای هست که من برای مگا 8 تغییر دادم
                  از دوستان میخوام چک کنند ببینند مشکل خاصی داره ؟
                  ممنون میشم از راهنماییتون
                  کد:
                  /*****************************************************
                  This program was produced by the
                  CodeWizardAVR V2.05.0 Professional
                  Automatic Program Generator
                  © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
                  http://www.hpinfotech.com
                  
                  Project : 
                  Version : 
                  Date  : 25/04/2013
                  Author : NeVaDa
                  Company : 
                  Comments: 
                  
                  
                  Chip type        : ATmega8
                  Program type      : Application
                  AVR Core Clock frequency: 8.000000 MHz
                  Memory model      : Small
                  External RAM size    : 0
                  Data Stack size     : 256
                  *****************************************************/
                  
                  #include <mega8.h>
                  #include <bcd.h>
                  
                   
                  #include <io.h>
                  #include <delay.h>
                  
                  
                  #define set(port,pin)      port |= (1<<pin)
                  #define reset(port,pin)     port &= ~(1<<pin)
                  #define n_eeprom        42
                  
                  #define RF_in    PIND.7
                  #define TST1     PIND.6
                  #define TST2     PIND.6
                  #define TST3     PIND.6
                  #define TST4     PIND.6
                  
                  #define LRN     PIND.5
                  
                  
                  #define LED     PORTB.7
                  
                  #define OUT1    PORTC.0
                  #define OUT2    PORTC.1
                  #define OUT3    PORTC.2
                  #define OUT4    PORTC.3
                  #define OUT5    PORTB.0
                  #define OUT6    PORTB.1
                  #define OUT7    PORTB.2
                  #define OUT8    PORTB.6
                  
                  
                  #define NO_KEY    0
                  #define ALL_ERASE  1
                  #define ON_ERASE   2
                  #define SET_REMUT  3
                  
                  
                  bit         f_read,f_write,f_remut,f_ok;
                  unsigned char    index,d_crc,KEY,d_key,remut,i;
                  unsigned char    d_in[4],crc_in[4];
                  unsigned int    d_clar,d_time,d_led,clar_kay;
                  
                  bit		      f_bit,f_start;
                  unsigned char    level0,level1,d_remut[4];
                  eeprom char     n_remut,t_remut,d_ee[n_eeprom][3];
                  
                  
                  
                  
                  
                  
                  // Timer1 output compare A interrupt service routine
                  interrupt [TIM1_COMPA] void timer1_compa_isr(void)
                  {
                    d_clar++;
                    if(d_clar > 100)
                      {
                      remut = 0;
                      d_clar = 0;
                      d_crc = 0;
                      d_remut[0] = 0;
                      d_remut[1] = 0;
                      d_remut[2] = 0;
                      //if(KEY == SET_REMUT && n_remut == n_eeprom) KEY = NO_KEY;
                      if(f_write)
                        {
                        f_write = 0;
                        KEY = NO_KEY;
                        }
                      }
                  
                    if(clar_kay > 0)
                      clar_kay --;
                    else
                      {
                      KEY = NO_KEY;
                      d_key = 0;
                      }
                  
                    if(d_led > 0)
                        d_led--;
                    else
                      {
                      if(KEY == ALL_ERASE)
                        d_led = 50 ;
                      else if(KEY == ON_ERASE)
                        d_led = 100;
                      else if(KEY == SET_REMUT)
                        d_led = 200;
                      else
                        d_led = 1000;
                      }
                  
                    if(d_led <= 50) LED = 1; else LED = 0;
                  
                    if(d_time > 0)
                      d_time--;
                    else
                      {
                      if(TST1)OUT1 = 0;
                      if(TST2)OUT2 = 0;
                      if(TST3)OUT3 = 0;
                      if(TST4)OUT4 = 0;
                      }
                    }
                  
                   
                  
                  // Timer2 output compare interrupt service routine
                  interrupt [TIM2_COMP] void timer2_comp_isr(void)
                  {
                  
                  
                    if(RF_in)
                      {  if(RF_in)
                      {
                      if(f_bit == 1)
                        {
                        f_bit = 0;
                        if(level1 >= level0)
                          {
                          if(index < 8)
                            set(d_in[0],7-index);
                          else if(index < 16)
                            set(d_in[1],7-(index-8));
                          else if(index < 20 )
                            set(d_in[2],7-(index-16));
                          else
                            set(d_in[3],7-(index-16));
                          index++;
                          }
                        else
                          {
                          index++;
                          }
                        level1 = 0;
                        level0 = 0;
                        }
                      level1++;
                      f_start = 0;
                      }
                    else
                      {
                      if(f_start == 0)
                        {
                        f_bit = 1;
                        level0++;
                        if((level0 / level1) > 5 && !f_start)
                          {
                          f_start = 1;
                          if(level1 > 4 && index == 23)set(d_in[3],0);
                          index = 0;
                          f_bit = 0;
                          if((d_in[0] > 0 ||
                          d_in[1] > 0 ||
                          d_in[2] > 0 ||
                          d_in[3] > 0)&&
                          d_remut[0] == d_in[0] &&
                          d_remut[1] == d_in[1] &&
                          d_remut[2] == d_in[2] &&
                          d_remut[3] == d_in[3])
                            {
                            f_read = 1;
                            }
                          d_remut[0] = d_in[0];
                          d_remut[1] = d_in[1];
                          d_remut[2] = d_in[2];
                          d_remut[3] = d_in[3];
                          d_in[0] = 0;
                          d_in[1] = 0;
                          d_in[2] = 0;
                          d_in[3] = 0;
                          }
                        }
                      }
                    }
                    }
                  
                  
                  // Declare your global variables here
                  
                  void main(void)
                  {
                  // Declare your local variables here
                  
                  // Input/Output Ports initialization
                  // Port B initialization
                  // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=In 
                  // State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=T 
                  PORTB=0x00;
                  DDRB=0xFF;
                  
                  // Port C initialization
                  // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                  // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                  PORTC=0x00;
                  DDRC=0xFF;
                  
                  // Port D initialization
                  // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                  // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                  PORTD=0xFF;
                  DDRD=0x00;
                  
                  // Timer/Counter 0 initialization
                  // Clock source: System Clock
                  // Clock value: 8000.000 kHz
                  TCCR0=0x01;
                  TCNT0=0x00;
                  
                  // Timer/Counter 1 initialization
                  // Clock source: System Clock
                  // Clock value: 8000.000 kHz
                  // Mode: Normal top=0xFFFF
                  // OC1A output: Set
                  // OC1B output: Set
                  // Noise Canceler: On
                  // Input Capture on Falling Edge
                  // Timer1 Overflow Interrupt: On
                  // Input Capture Interrupt: On
                  // Compare A Match Interrupt: On
                  // Compare B Match Interrupt: On
                  TCCR1A=0x00;
                  TCCR1B=0x0B;
                  TCNT1H=0x00;
                  TCNT1L=0x00;
                  ICR1H=0x00;
                  ICR1L=0x00;
                  OCR1AH=0x00;
                  OCR1AL=0xFA;
                  OCR1BL=0x00;
                  
                  // Timer/Counter 2 initialization
                  // Clock source: System Clock
                  // Clock value: 8000.000 kHz
                  // Mode: Normal top=0xFF
                  // OC2 output: Set on compare match
                  ASSR=0x00;
                  TCCR2=0x02;
                  TCNT2=0x00;
                  OCR2=0x64;
                  
                  // External Interrupt(s) initialization
                  // INT0: Off
                  // INT1: Off
                  MCUCR=0x00;
                  
                  // Timer(s)/Counter(s) Interrupt(s) initialization
                  TIMSK=0x90;
                  
                  // USART initialization
                  // USART disabled
                  UCSRB=0x00;
                  
                  // Analog Comparator initialization
                  // Analog Comparator: Off
                  // Analog Comparator Input Capture by Timer/Counter 1: Off
                  ACSR=0x80;
                  SFIOR=0x00;
                  
                  // ADC initialization
                  // ADC disabled
                  ADCSRA=0x00;
                  
                  // SPI initialization
                  // SPI disabled
                  SPCR=0x00;
                  
                  // TWI initialization
                  // TWI disabled
                  TWCR=0x00;
                  
                  // Watchdog Timer initialization
                  // Watchdog Timer Prescaler: OSC/2048k
                  #pragma optsize-
                  WDTCR=0x1F;
                  WDTCR=0x0F;
                  #ifdef _OPTIMIZE_SIZE_
                  #pragma optsize+
                  #endif
                  
                  // Global enable interrupts
                  #asm("sei")
                  
                  while (1)
                     { if(LRN)
                        {
                        if(KEY == NO_KEY)
                          {
                          d_key = 0;
                          }
                        else if(KEY == SET_REMUT)
                          {
                          d_key = 50;
                          }
                        else if(KEY == ON_ERASE)
                          {
                          d_key = 100;
                          }
                        }
                      else
                        {
                        clar_kay = 5000;
                        if(d_key < 250)
                          {
                          d_key++;
                          delay_ms(50);
                          }
                        if(KEY == NO_KEY && d_key > 50)
                          {
                          KEY = SET_REMUT;
                          d_led = 0;
                          }
                        else if(KEY == SET_REMUT && d_key > 100)
                          {
                          KEY = ON_ERASE;
                          d_led = 0;
                          }
                        else if(KEY == ON_ERASE && d_key > 150)
                          {
                          KEY = ALL_ERASE;
                          n_remut = 0;
                          delay_ms(10);
                          for(i=0;i<n_eeprom;i++)
                            {
                            d_ee[i][0] = 0;
                            delay_ms(10);
                            d_ee[i][1] = 0;
                            delay_ms(10);
                            d_ee[i][2] = 0;
                            delay_ms(10);
                            }
                          d_key = 0;
                          KEY = NO_KEY;
                          clar_kay = 0;
                          }
                        }
                  
                      if(f_read)
                        {
                        f_read = 0;
                        //if(!PIND.7)printf("%u %u %u %u\n\r",d_remut[0],d_remut[1],d_remut[2],d_remut[3]);
                        if(d_remut[0] == crc_in[0] && d_remut[1] == crc_in[1] && d_remut[2] == crc_in[2] && d_remut[3] == crc_in[3])
                          {
                          d_crc++;
                          d_clar = 0;
                          if(KEY != NO_KEY)clar_kay = 5000;
                          if(d_crc == 1 && KEY == NO_KEY && !f_write)
                            {
                            d_crc = 0;
                            for(i=0;i<n_remut;i++)
                              {
                              if(d_remut[0] == d_ee[i][0] && d_remut[1] == d_ee[i][1] && d_remut[2] == d_ee[i][2])
                                {
                                remut = d_remut[3];
                                }
                              }
                            }
                          else if(d_crc == 20 && (KEY == SET_REMUT || KEY == ON_ERASE) && !f_write)
                            {
                            d_crc = 0;
                            f_write = 1;
                            if(KEY == SET_REMUT)
                              {
                              KEY = NO_KEY;
                              for(i=0;i<n_remut;i++)
                                {
                                if(d_remut[0] == d_ee[i][0] && d_remut[1] == d_ee[i][1] && d_remut[2] == d_ee[i][2])
                                    f_ok = 1;
                                }
                              if(!f_ok && n_remut < n_eeprom)
                                {
                                n_remut++;
                                delay_ms(10);
                                if(n_remut == 1)
                                  {
                                  t_remut = d_remut[3];
                                  delay_ms(10);
                                  }
                                d_ee[n_remut-1][0] = d_remut[0];
                                delay_ms(10);
                                d_ee[n_remut-1][1] = d_remut[1];
                                delay_ms(10);
                                d_ee[n_remut-1][2] = d_remut[2];
                                delay_ms(10);
                                }
                              f_ok = 0;
                              }
                            else if(KEY == ON_ERASE)
                              {
                              for(i = 1 ; i <= n_remut ; i++)
                                {
                                if(d_remut[0] == d_ee[i-1][0] && d_remut[1] == d_ee[i-1][1] && d_remut[2] == d_ee[i-1][2])
                                  {
                                  f_ok = 1;
                                  }
                                if(f_ok)
                                  {
                                  d_ee[i-1][0] = d_ee[i][0];
                                  delay_ms(10);
                                  d_ee[i-1][1] = d_ee[i][1];
                                  delay_ms(10);
                                  d_ee[i-1][2] = d_ee[i][2];
                                  delay_ms(10);
                                  }
                                }
                              if(f_ok)
                                {
                                n_remut--;
                                delay_ms(10);
                                }
                              f_ok = 0;
                              KEY = NO_KEY;
                              }
                            }
                          }
                        else
                          {
                          d_crc = 0;
                          crc_in[0] = d_remut[0];
                          crc_in[1] = d_remut[1];
                          crc_in[2] = d_remut[2];
                          crc_in[3] = d_remut[3];
                          }
                        }
                  
                  
                   
                      switch (remut)
                        {
                        case 0:
                          f_remut = 0;
                  //        OUT1 = 0;
                  //        OUT2 = 0;
                  //        OUT3 = 0;
                  //        OUT4 = 0;
                        break;
                        case 1:
                          if(!f_remut)
                            {
                            f_remut = 1;
                            if(TST1)
                              {
                              OUT1 = 1;
                              d_time = t_remut * 50;
                              }
                            else
                              OUT1 = !OUT1;
                            }
                        break;
                        case 2:
                          if(!f_remut)
                            {
                            f_remut = 1;
                            if(TST2)
                              {
                              OUT2 = 1;
                              d_time = t_remut * 50;
                              }
                            else
                              OUT2 = !OUT2;
                            }
                        break;
                        case 4:
                          if(!f_remut)
                            {
                            f_remut = 1;
                            if(TST3)
                              {
                              OUT3 = 1;
                              d_time = t_remut * 50;
                              }
                            else
                              OUT3 = !OUT3;
                            }
                        break;
                        case 8:
                          if(!f_remut)
                            {
                            f_remut = 1;
                            if(TST4)
                              {
                              OUT4 = 1;
                              d_time = t_remut * 50;
                              }
                            else
                              OUT4 = !OUT4;
                            }
                        break;
                        }
                     }
                  }
                  البته تغییر اصلی مربوط به تایمر هاست و مقادیر آنها
                  منتظر جوابتون هستم
                  کاش همه عاشق بودند
                  تا زنده و دردمند بودند . . .

                  دیدگاه


                    پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                    سلام مهندس اسدی
                    من 1.5 سالی میشه که این مدار رو بستم و داره کار میکنه
                    اما یه مشکلی خیلی منو عذاب میده و روانیم کرده
                    من از ورزن 2 برنامتون استفاده کردم چون با ورژن 1 جواب نگرفتم
                    مشکل من اینه که وقتی برق قطع میشه e2prom هم پاک میشه و مجبور میشم دوباره لرن کنم
                    حتی چند بار هم پروگرام کردم اما فکر نکنم مشکل از پروگرام کردنم باشه
                    فکر کنم اولین نفری که پروژتونو درست کرد من بودم و عکس های پروگرام کردنم رو توی صفحه 7 هستش
                    http://www.eca.ir/forum2/index.php?t...0497#msg310497
                    ممنون میشم کمکم کنینن

                    دیدگاه


                      پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                      نوشته اصلی توسط purealone
                      سلام مهندس اسدی
                      من 1.5 سالی میشه که این مدار رو بستم و داره کار میکنه
                      اما یه مشکلی خیلی منو عذاب میده و روانیم کرده
                      من از ورزن 2 برنامتون استفاده کردم چون با ورژن 1 جواب نگرفتم
                      مشکل من اینه که وقتی برق قطع میشه e2prom هم پاک میشه و مجبور میشم دوباره لرن کنم
                      حتی چند بار هم پروگرام کردم اما فکر نکنم مشکل از پروگرام کردنم باشه
                      فکر کنم اولین نفری که پروژتونو درست کرد من بودم و عکس های پروگرام کردنم رو توی صفحه 7 هستش
                      http://www.eca.ir/forum2/index.php?t...0497#msg310497
                      ممنون میشم کمکم کنینن
                      سلام
                      من این پروژه را با اندکی تغییر ساختم. دقیقا از همین برنامه هم استفاده کردم ولی یک کم تغییر دادمش.
                      این مشکلی که شما میگین اصلا از لحاظ الکترونیکی قابلیت اجرا نداره، چرا؟ چون اطلاعات مربوط به کد ریموت در یک متغییر به نام d_ee ذخیره میشه. این متغیر در ای تو پی رام میکرو هست و بعد از قطع شدن برق، اطلاعاتش پاک نمیشه. مگر اینکه میکرو شما مشکل داشته باشه.
                      http://imenbazar.com

                      دیدگاه


                        پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                        نوشته اصلی توسط امیر افشارنوری
                        سلام
                        من این پروژه را با اندکی تغییر ساختم. دقیقا از همین برنامه هم استفاده کردم ولی یک کم تغییر دادمش.
                        این مشکلی که شما میگین اصلا از لحاظ الکترونیکی قابلیت اجرا نداره، چرا؟ چون اطلاعات مربوط به کد ریموت در یک متغییر به نام d_ee ذخیره میشه. این متغیر در ای تو پی رام میکرو هست و بعد از قطع شدن برق، اطلاعاتش پاک نمیشه. مگر اینکه میکرو شما مشکل داشته باشه.
                        اما من 3 تا از این مدار رو ساختم
                        1 کنال
                        2 کانال
                        4 کانال
                        هر سه مدار همین مشکل پاک شدن با قطع شدن برق رو دارن

                        دیدگاه


                          پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                          شما بهتره اون متغیرهایی که در eeprom ریخته میشه رو تو برنامه چک کنید
                          احتمالا جایی داره دوباره بهش مقدار داده میشه یا پاک میشه
                          کاش همه عاشق بودند
                          تا زنده و دردمند بودند . . .

                          دیدگاه


                            پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

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

                            یکی از تایمر ها رو با پریود 100 کیلو هرتز تنظیم میکنید و داخل اینتراپتش پین ورودی رو چک میکنید
                            1- یک متغیر رو اگر ورودی صفر باشه اضافه میکنید تا ورودی یک بشه در غیر اینصورت
                            2- یک متغیر دیگه رو اگر ورودی یک باشه اضافه میکنید تا ورودی صفر بشه
                            3- اگر متغیر اول تقیبم بر متغیر دوم بزرگتر از 5 باشه یعنی متغیر اول بزگتر از 5 برابر متغیر دوم باشه (بیت استارت هست)مقدار ریموت بدست اومده رو در یک متغیر دیگه کپی میکنید همه چیز رو صفر میکنید در غیر این صورت
                            4 - اگر متغیر دوم بزرگتر از متغیر اول باشه (بیت یک هست) بیت متناظرشو در متغییر ریموت یک میکنید و در غیر این صورت (بیت صفر هست)
                            سلام.عزیز شما گفتید اگر ورودی صفر بودش یه متغییر اضافه میکنیم تا یک بشه. ولی اول بیته یک میادش.درسته؟؟ یعنی اول باید یه متغییر زیاد کنیم تا صفر بشه و بعد یه متغیر دیگر اضافه میکنیم تا یک بشه. با توجه به شکل زیر.
                            منظورم این هستش که اول بیته یک میاد بعد بیت صفر. بعد باید مدت زمان یک بودن یک پایه رو نصبت به صفرش مقایسه کنیم.درسته؟؟؟؟
                            طب اسلامی

                            دیدگاه


                              پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                              سلام آقای اسدی ممنون از پروژه خوبتون
                              یه پرسش:
                              امکان لرن کردن سنسور بیسیم دزدگیر با این سیستم وجود داره؟
                              با تشکر

                              دیدگاه


                                پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ

                                نوشته اصلی توسط nedamed
                                سلام آقای اسدی ممنون از پروژه خوبتون
                                یه پرسش:
                                امکان لرن کردن سنسور بیسیم دزدگیر با این سیستم وجود داره؟
                                با تشکر
                                ببخشید که من جواب میدم.امکانش هستش ولی فرکانستون با فرکانس این بردای جک برقی..... اینا یکی باشه توی جفتشون تداخل ایجاد میشه.واس همین باید از یه فرکانس دیگه استفاده کنید که فکر کنم کلا برنامتون باید تغییر کنه
                                طب اسلامی

                                دیدگاه

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