اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

    به دوستانی که خودشون قصد راه اندازی این ماژول را دارند، یک توصیه دارم که بسیار مهمه:

    تنظیم ARD در رجیستر SETUP_RETR در این آیسی بسیار مهمه که بایستی نسبت به سرعت ارتباط و حجم ACK بایستی round trip time محاسبه شود و ARD تنظیم شود.

    درصورتی که این مقدار کمتر از round trip time در نظر گرفته شود باعث اختلال و retransmit های بیجا میشود و درصورتی که این مقدار خیلی بیشتر از round trip time میانگین باشد ، باعث کند شدن ارتباط میشود.
    (در پروژه های کنترلی و پروژه هایی که سرعت مهم نیست( real time نیست) بهتر است ARD روی حداکثر مقدار تنظیم شود.

    انشالله از این به بعد هر از چندگاهی که سر میزنم یک پست دارای نکته (که عمدتا در عمل بهش میرسم) قرار میدم.
    راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
    انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

    دیدگاه


      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

      ببخشید آقا سید بابت کتابخونتون واقعا ازتون ممنونم خیلی کارمو راحت کرد . کلی دعاتون کردم. . ولی یه سوال برام پیش اومده . پورت B.2 رو به صورت خروجی تعریف کردین یا ورودی؟ آخه توی کتابخونتون یه جا آوردین:
      کد:
      #define DD_IRQ DDRB.2
      ولی بعدش هیچ جا مقداردهیش نکردین. ازونجایی که پورت های میکرو به صورت پیشفرض ورودی هستند .میخواستم بدونم این خط رو به چه دلیل به کتابخونه اضافه کردین . خیلی ممنون
      یا حق

      دیدگاه


        پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

        نوشته اصلی توسط علیـــــــــــــــــــرضا
        ببخشید آقا سید بابت کتابخونتون واقعا ازتون ممنونم خیلی کارمو راحت کرد . کلی دعاتون کردم. . ولی یه سوال برام پیش اومده . پورت B.2 رو به صورت خروجی تعریف کردین یا ورودی؟ آخه توی کتابخونتون یه جا آوردین:
        کد:
        #define DD_IRQ DDRB.2
        ولی بعدش هیچ جا مقداردهیش نکردین. ازونجایی که پورت های میکرو به صورت پیشفرض ورودی هستند .میخواستم بدونم این خط رو به چه دلیل به کتابخونه اضافه کردین . خیلی ممنون
        خواهش میکنم . مقصود منم از گذاشتن این فایل فقط همینه که دوستان علاقه مند ، از نظر کار کردن با این ماژول محدود نشن و تمرکزشون را بیشتر بزارن روی قسمتهای دیگه.

        در رابطه با اون دیفاین :
        بله IRQ یک پین ورودی به میکرو هست و آی سی از طریق این پین به میکرو وقفه میده.
        و این دیفاین اصلا استفاده نمیشه . چون همونطور که گفتید در حالت پیشفرض پینهای میکرو ورودی هستند.
        علت قرار دادن این دیفاین:
        یه جور اصوله . من کلا تو کتاخانه هایی که مینویسم این اصل را رعایت میکنم. (البته این که قرار دادم صرفا یک هدر فایل برای کار راه انداختن است و نمیشه بهش گفت کتابخونه)
        همیشه بهتره پین هایی که استفاده میشه (هر جور که بخواید استفاده کنید ) کل رجیسترهای مربوطه گرفته بشه. (حالا شاید اصلا هم استفاده نشه)
        اصلا قشنگ تر و منظم تر هم هست.
        راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
        کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
        نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
        http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
        انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

        دیدگاه


          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

          سلام دوستان . خوبید؟

          اومدم با یک نکته دیگه در رابطه با این آیسی ها.

          راستش من یک مشکل با این آیسی داشتم که بعد از تحقیق فهمیدم این یک مشکل سخت افزاری ساده بود و حل شد. ولی در این رابطه مشکل را با گروه پشتیبانی شرکت nordicsemi ( شرکت سازنده این آی سی ) درمیون گذاشتم. البته مشکل زیاد حاد و مهم نبود و رفع شد.
          در این حین بنده در رابطه با انواع آیسی که شرکت تولید میکنه سوال کردم .
          اگر دیده باشید برخی از ic ها روشون نوشته NRF M 24L01+ 1208CN و برخی دیگه روشون نوشته NRF A 24L01+ 0834AF .
          من تفاوت این دو تا رو پرسیدم و جواب به صورت زیر داده شد :
          Hi Mortazavi,



          Good to hear that the issue was resolved!



          The difference between the two nRF-devices is that they are of different revisions.

          One is made in 2008 (NRF A), and the other is made in 2012 (NRF M)

          Both these revisions are still active.



          The difference between them is that the production was moved from one FAB to another, and therefore it triggered a new build code (M in this case).



          We also have an active build code O, where we changed internal bonding wire from gold to copper.

          The actual difference from an application point-of-view is none.



          Best regards

          Håkon
          جالبیش اینه که اولین سری ماژول هایی که وارد ایران شد آی سی های نوع M روشون بود و جدیدها بیشتر نوع A هستند. نوع O هم که من تاحالا ندیدم.
          راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
          کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
          نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

          دیدگاه


            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

            در رابطه با این شماره ها روی آیسی با یکم تحقیق بیشتر متوجه شدم که اون 4 رقم ، سال تولید و هفته ی تولید آیسی هستند:

            مثلا 1208 یعنی هفته هشتم سال 2012

            یا 0834 یعنی هفته 34ام سال 2008
            راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
            کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
            نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
            http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

            دیدگاه


              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

              سلام.
              من حدود چند ماه پیش خریدم.الان که نگاه کردم از نوع o بود.

              دیدگاه


                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                با سلام من برای راه اندازی ماژول در قسمت گیرنده از مگا8 استفاده کردم و در فرستنده از مگا 64 اما برنامه در تابع send گیر میکنه دلیلش را نمیدونم اما رجیسترهای spi مگا8 و 64 را باهم مقایسه کردم اما تفاوتی ندارند تنظیمات اینتراپت را هم مطابق مگا 64 تنظیم کردم اگر ممکنه راهنمایی بفرمایید

                دیدگاه


                  پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                  نوشته اصلی توسط زوار
                  با سلام من برای راه اندازی ماژول در قسمت گیرنده از مگا8 استفاده کردم و در فرستنده از مگا 64 اما برنامه در تابع send گیر میکنه دلیلش را نمیدونم اما رجیسترهای spi مگا8 و 64 را باهم مقایسه کردم اما تفاوتی ندارند تنظیمات اینتراپت را هم مطابق مگا 64 تنظیم کردم اگر ممکنه راهنمایی بفرمایید
                  احساس میکنم شما باید فرکانس دوتا میکرو رو هم مثل هم قرار بدین(البته فکر نکنم ربطی داشته باشه ولی امتحانش ضرر نداره)
                  مگا64 رو از نظر اتصالات مورد بررسی قرار بدین چون قطعات اس ام دی خیلی گول زننده هستن شاید یکی از پایه ها لحیم سردی کرده
                  اول یه برنامه ساده مثل چشمک زن روی مگا 64 و مگا 8 بریزین ببینین کار میکنه بعد برنامه اصلی رو پیاده سازی کنید
                  زکات علم نشر آن است

                  دیدگاه


                    پاسخ : راه اندازی ماژول nrf24l01p (ارتباط بیسیم بین دو میکرو)

                    نوشته اصلی توسط aawww
                    ببخشید متوجه منظورتون باز نشدم . شما برد کدوم نوع از این چیپ ست ها را تست کردین که برد 30 متر را داشت
                    1- نوعی که قیمت اون 9500 ویا 12 تومان هست و بدون کانکتور sma
                    2- نوعی که قیمتش 34 هزار هست و با کانکتور sma برای انتن هست
                    سلام.
                    چرا این ماژول را انتخاب کردید؟
                    برتری این ماژول به سایر ماژول ها چیست؟
                    خواهشا کامل توضیح بدید؟


                    اضافه شده در تاریخ :
                    نوشته اصلی توسط aawww
                    ببخشید متوجه منظورتون باز نشدم . شما برد کدوم نوع از این چیپ ست ها را تست کردین که برد 30 متر را داشت
                    1- نوعی که قیمت اون 9500 ویا 12 تومان هست و بدون کانکتور sma
                    2- نوعی که قیمتش 34 هزار هست و با کانکتور sma برای انتن هست
                    چرا از ماژول های HM نکردید؟

                    دیدگاه


                      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

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

                      من این ماژول ها رو با کد زیر راه اندازی کردم .

                      کد گیرنده
                      کد:
                      #include <mega32.h>
                      #include <alcd.h>
                      #include <delay.h>
                      #include <nrf24l01p.h>
                      
                      void main(void)
                      {
                      // Declare your local variables here
                       unsigned char c=0;
                       
                      // Input/Output Ports initialization
                      // Port A 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 
                      PORTA=0x00;
                      DDRA=0x00;
                      
                      // Port B 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 
                      PORTB=0x00;
                      DDRB=0x00;
                      
                      // Port C 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 
                      PORTC=0x00;
                      DDRC=0x00;
                      
                      // 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=0x00;
                      DDRD=0x00;
                      
                      // Timer/Counter 0 initialization
                      // Clock source: System Clock
                      // Clock value: Timer 0 Stopped
                      // Mode: Normal top=0xFF
                      // OC0 output: Disconnected
                      TCCR0=0x00;
                      TCNT0=0x00;
                      OCR0=0x00;
                      
                      // Timer/Counter 1 initialization
                      // Clock source: System Clock
                      // Clock value: Timer1 Stopped
                      // Mode: Normal top=0xFFFF
                      // OC1A output: Discon.
                      // OC1B output: Discon.
                      // Noise Canceler: Off
                      // Input Capture on Falling Edge
                      // Timer1 Overflow Interrupt: Off
                      // Input Capture Interrupt: Off
                      // Compare A Match Interrupt: Off
                      // Compare B Match Interrupt: Off
                      TCCR1A=0x00;
                      TCCR1B=0x00;
                      TCNT1H=0x00;
                      TCNT1L=0x00;
                      ICR1H=0x00;
                      ICR1L=0x00;
                      OCR1AH=0x00;
                      OCR1AL=0x00;
                      OCR1BH=0x00;
                      OCR1BL=0x00;
                      
                      // Timer/Counter 2 initialization
                      // Clock source: System Clock
                      // Clock value: Timer2 Stopped
                      // Mode: Normal top=0xFF
                      // OC2 output: Disconnected
                      ASSR=0x00;
                      TCCR2=0x00;
                      TCNT2=0x00;
                      OCR2=0x00;
                      
                      // External Interrupt(s) initialization
                      // INT0: Off
                      // INT1: Off
                      // INT2: Off
                      MCUCR=0x00;
                      MCUCSR=0x00;
                      
                      // Timer(s)/Counter(s) Interrupt(s) initialization
                      TIMSK=0x00;
                      
                      // 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;
                      
                      // Alphanumeric LCD initialization
                      // Connections are specified in the
                      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
                      // RS - PORTA Bit 0
                      // RD - PORTA Bit 1
                      // EN - PORTA Bit 2
                      // D4 - PORTA Bit 4
                      // D5 - PORTA Bit 5
                      // D6 - PORTA Bit 6
                      // D7 - PORTA Bit 7
                      // Characters/line: 16
                      lcd_init(16);
                      nrf_config(1);
                      
                      while (1)
                         {
                           if(nrf_state==1)
                            {
                              c=payload[1]; 
                              nrf_state=0; 
                              lcd_clear();
                              lcd_gotoxy(0,0);
                              lcd_putchar(c);
                              delay_ms(2000);
                            }         
                            else
                            {
                              lcd_clear();
                              lcd_puts("No Message!");
                              delay_ms(1000);
                            }
                         }
                      }
                      کد فرستنده :
                      کد:
                      #include <mega32.h>
                      #include <alcd.h>
                      #include <delay.h>
                      #include <nrf24l01p.h>
                      #define xtal 8000000
                      // Declare your global variables here
                      
                      void main(void)
                      {
                      // Declare your local variables here
                      
                      // Input/Output Ports initialization
                      // Port A 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 
                      PORTA=0x00;
                      DDRA=0x00;
                      
                      // Port B 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 
                      PORTB=0x00;
                      DDRB=0xFF;
                      
                      // Port C 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 
                      PORTC=0x00;
                      DDRC=0x00;
                      
                      // 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=0x00;
                      DDRD=0x00;
                      
                      // Timer/Counter 0 initialization
                      // Clock source: System Clock
                      // Clock value: Timer 0 Stopped
                      // Mode: Normal top=0xFF
                      // OC0 output: Disconnected
                      TCCR0=0x00;
                      TCNT0=0x00;
                      OCR0=0x00;
                      
                      // Timer/Counter 1 initialization
                      // Clock source: System Clock
                      // Clock value: Timer1 Stopped
                      // Mode: Normal top=0xFFFF
                      // OC1A output: Discon.
                      // OC1B output: Discon.
                      // Noise Canceler: Off
                      // Input Capture on Falling Edge
                      // Timer1 Overflow Interrupt: Off
                      // Input Capture Interrupt: Off
                      // Compare A Match Interrupt: Off
                      // Compare B Match Interrupt: Off
                      TCCR1A=0x00;
                      TCCR1B=0x00;
                      TCNT1H=0x00;
                      TCNT1L=0x00;
                      ICR1H=0x00;
                      ICR1L=0x00;
                      OCR1AH=0x00;
                      OCR1AL=0x00;
                      OCR1BH=0x00;
                      OCR1BL=0x00;
                      
                      // Timer/Counter 2 initialization
                      // Clock source: System Clock
                      // Clock value: Timer2 Stopped
                      // Mode: Normal top=0xFF
                      // OC2 output: Disconnected
                      ASSR=0x00;
                      TCCR2=0x00;
                      TCNT2=0x00;
                      OCR2=0x00;
                      
                      // External Interrupt(s) initialization
                      // INT0: Off
                      // INT1: Off
                      // INT2: Off
                      MCUCR=0x00;
                      MCUCSR=0x00;
                      
                      // Timer(s)/Counter(s) Interrupt(s) initialization
                      TIMSK=0x00;
                      
                      // 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;
                      
                      // Alphanumeric LCD initialization
                      // Connections are specified in the
                      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
                      // RS - PORTA Bit 0
                      // RD - PORTA Bit 1
                      // EN - PORTA Bit 2
                      // D4 - PORTA Bit 4
                      // D5 - PORTA Bit 5
                      // D6 - PORTA Bit 6
                      // D7 - PORTA Bit 7
                      // Characters/line: 16
                      lcd_init(16);
                      nrf_config(0);
                      
                      while (1)
                         { 
                            payload[0]=1;
                            payload[1]='z';
                            sent_actived=1;
                            lcd_clear();
                            lcd_gotoxy(0,0);
                            lcd_puts("Start");
                            delay_ms(1000);
                            sent(); 
                            lcd_clear();
                            lcd_gotoxy(0,0);
                            lcd_puts("end");
                            delay_ms(1000);
                            if(nrf_state!=0)
                            {
                              if(nrf_state==2)
                              {         
                                lcd_gotoxy(0,0);
                                lcd_puts("OK");
                                delay_ms(2000);
                              } 
                              if(nrf_state==3)
                              {
                                lcd_gotoxy(0,0);
                                lcd_puts("3");
                                delay_ms(2000);
                              }
                              else if(nrf_state==4)
                              {
                                lcd_clear();  
                                lcd_puts("4");
                                delay_ms(2000);
                              }
                              else if(nrf_state==5)
                              {
                                lcd_clear();  
                                lcd_puts("5");
                                delay_ms(2000);
                              }
                              sent_actived=1;
                              nrf_state=0; 
                            } 
                            else
                            {
                              lcd_clear();  
                              lcd_puts("Bikar");
                              delay_ms(1000);
                            }  
                         }
                      }
                      ابتدا در مورد سخت افزار مدارم یه توضیح مختصر میدم بعد مشکل ها رو میگم.

                      در فرستنده و گیرنده LCD قرار داده شده.
                      پیغام Z در فرستنده ارسال می شود و در گیرنده نمایش داده می شود در صورتیکه در گیرنده Z دریافت نشود این پیغام نمایش داده خواهد شد : No Message!
                      در فرستنده ابتدا Start نمایش داده می شود بعد Z با تابع Sent فرستاده می شود سپس end نمایش داده می شود و ...

                      3 تا مشکل دارم:
                      1. همیشه این مدار کار نمیکنه یعنی بعضی اوقات که کار میکنه تا فاصله 20 متر در منزل هم جواب میده اما بیشتر مواقع حتی موقعی که فرستنده گیرنده کنارهم هستند ارسال انجام نمیشود.

                      2. موقع هایی که مدار کار میکنه اگه فاصله خیلی زیاد بشه و از برد هم خارج بشن اگه دوباره بهم نزدیک بشن پیغام ارسال نمیشه!

                      3. من در فرستنده if هایی ایجاد کرده ام که حالات مختلف nrf_state را بررسی میکند و نمایش میدهد طبق PDF موقعی که مقدار این متغیر 2 باشد یعنی پیغام بدرستی ارسال شده است و باید در LCD فرستنده پیغام OK چاپ شود اما نمایش داده نمی شود ولی پیغام در گیرنده دریافت می شود و نمایش داده می شود.

                      خازن موازی با تغذیه ماژول هم قرار دادم 470 میکروفاراد.
                      در صورتیکه بنده را راهنمایی بفرمایید ممنون میشم.

                      دیدگاه


                        پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                        منم همچین مشکلی توی کار نکردن این ماژول داشتم.یه کریستال 8 مگ رو میکرو بستم تا حد زیادی مشکلم حل شد.

                        دیدگاه


                          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                          نوشته اصلی توسط soheyl_60
                          منم همچین مشکلی توی کار نکردن این ماژول داشتم.یه کریستال 8 مگ رو میکرو بستم تا حد زیادی مشکلم حل شد.
                          این کار رو هم انجام دادم اما نتیجه ای نداشت :sad:

                          دیدگاه


                            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                            سلام

                            در این رابطه که گیرنده به درستی پکت را دریافت میکند ولی در فرستنده ack دریافت نمیشود و حالت failed بوجود می آید:

                            این مشکل میتونه سخت افزاری باشه. به ماژولی که استفاده میکنید بستگی داره.

                            من میتونم فیلمی تهیه کنم و به شما نشان دهم.
                            با یک برنامه مشابه بنده دو ماژول کاملا مشابه را تست میکنم .
                            در حالت اول همین مشکل بوجود می آید .
                            در حالت بعد من فقط جای دو تا ماژول را عوض میکنم (یعنی اون که فرستنده بود گیرنده و برعکس) با اینکار مشکل حل میشه.

                            این قضیه غیر قابل اطمینان بودن این ماژول ها را میرساند و قصد دارم برای اینکار چاره ای بیندیشم.

                            فقط ممنون میشم شما دقیقا سری آیسی که در ماژول هاتون استفاده شده را بگید. (یعنی بگید ماژولی که به عنوان فرستنده استفاده میشه ، آیسیش روش فلان اسم حک شده و گیرنده فلان اسم.)

                            اضافه شده در تاریخ :
                            دوستان در ادامه توضیحات :

                            فقط میتونم الان یه توصیه برای شما داشته باشم:

                            اونم اینه که به دلیل تنوع بالای ماژول ها و وجود جنس تقلبی در بازار به هیچ عنوان دنبال ماژول های با قیمت پایین نروید.(توصیه اکید دارم.) (قیمت باید عاقلانه باشد.)

                            لطفا در این رابطه ، دیگه در این تاپیک پست داده نشود.
                            راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                            کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                            نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                            http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                            دیدگاه


                              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                              من هنوز جا به جا کردن ماژولها رو تست نکردم.
                              یه مطلب دیگه رو من فراموش کردم ذکر کنم.
                              من مدارها رو روی بردبورد بستم ( گیرنده و فرستنده ) و اینکه به پایه های ماژول سیم لحیم کردم، اینها میتونه در عملکرد این ماژول ها تاثیری بگذاره؟

                              مدل آی سی روی ماژول فرستنده و گیرنده :
                              NRF O
                              +24L01
                              1221BN

                              در ضمن ماژول ها رو از فروشگاه کویرالکترونیک خریدم، قیمت 8500 تومان
                              بازهم بخاطر راهنماییتون ممنون

                              دیدگاه


                                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                                با سلام خدمت همه دوستان
                                من دوتا ماژولnrf24l01 خریدم ولی یکیش رنگ بوردش سبزه و یکی دیگه مشکی،ایا این دو ماژول با هم میتونن ارتباط برقرار کنن مشکلی نداره؟
                                وه کو شیتان شیتی تو بوم

                                دیدگاه

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