اطلاعیه

Collapse
No announcement yet.

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

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

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


    با سلام

    یک مقاله نسبتا کاملی در مورد این ماژول در این آدرس است که امیدوارم بدردتان بخورد

    http://azarmicro.blogsky.com/1392/09...7%D9%88%D9%84-

    دیدگاه


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

      نوشته اصلی توسط ahmp
      سلام
      لینک پی دی اف آموزش هدر فایل کجاست؟ لطفا کسایی که دارن پلودش کنن.
      ممنون
      در لینک زیر برنامه آقای ایمانی فر را قرار دادم
      http://www.eca.ir/forum2/index.php?t...6911#msg586911

      دیدگاه


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

        نوشته اصلی توسط hamedf_hamedf
        هر سوالی داشتین بپرسین. شاید هم براش یه تاپیک جدا درست کنیم بهتر باشه
        سلام
        1- شما عملا تو فضای باز ( دید به دید ) تا چند متر جواب گرفتین؟
        2- برای داشتن بیشترین برد ریجیستر RF_PWR باید روی چه عددی قرار بگیره ؟

        کد:
        RF_PWR 2:1 11 R/W Set RF output power in TX mode
        '00' – -18dBm
        '01' – -12dBm
        '10' – -6dBm
        '11' – 0dBm

        دیدگاه


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

          نوشته اصلی توسط mahdi421
          سلام
          1- شما عملا تو فضای باز ( دید به دید ) تا چند متر جواب گرفتین؟
          2- برای داشتن بیشترین برد ریجیستر RF_PWR باید روی چه عددی قرار بگیره ؟

          کد:
          RF_PWR 2:1 11 R/W Set RF output power in TX mode
          '00' – -18dBm
          '01' – -12dBm
          '10' – -6dBm
          '11' – 0dBm
          توان را روی 0dbm تنظیم کنید تا ماکزیمم توان را بگیرید. این توان توی خروجی ماژول با عبور از تقویت کننده به بیشتر از 20dbm میرسه توی ماژول جدید سایت. با سرعت 2Mbs حدود 500متر با آنتنهای 2db برد گرفتم. البته دقیقا فضای آزاد نبود و توی محیط شهری بود. البته آنتنها تقریبا توی دید هم بودن. اگه سرعت را بیارید پایین باید بشه تا بیش از 1km برد گرفت. اگه بخواین باز هم برد بیشتر بگیرین باید آنتن جهتدار تهیه کنید یا آنتن با گین بالاتر. برای این ماژول میتونید آنتن های wifi بازار با گین بالا تهیه کنید. البته همه چی توی تست میدانی نشون میده. البته این ماژول جدید سایت تا حدود 22dbm توان خروجی داره و توی اسپکتروم تست گرفتم که بیشترین توان نسبت به ماژولهای توی بازار هست.
          شما چه بردی نیاز دارین و با چه سرعتی؟

          دیدگاه


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

            من یکبار با ماژول های زیر کارکردام و متاسفانه هرکاری کردام بیشتر از 10 متر نتونستم برد بگیرام. ( احتمال زیاد یه ماژول مورد دار بود )


            این آنتنهای جهت دار رو از کجا میشه تهیه کرد و قیمتش تقریبا چنده
            فعلا سرعت ارسال زیاد مهم نیست ولی برد تقریبی 500 مترو باید باشه
            و یه سوال دیگه که ماژول های شما همراه آنتن هست یا بدونه آنتن؟

            دیدگاه


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

              نوشته اصلی توسط mahdi421
              من یکبار با ماژول های زیر کارکردام و متاسفانه هرکاری کردام بیشتر از 10 متر نتونستم برد بگیرام. ( احتمال زیاد یه ماژول مورد دار بود )

              این آنتنهای جهت دار رو از کجا میشه تهیه کرد و قیمتش تقریبا چنده
              فعلا سرعت ارسال زیاد مهم نیست ولی برد تقریبی 500 مترو باید باشه
              و یه سوال دیگه که ماژول های شما همراه آنتن هست یا بدونه آنتن؟
              به احتمال زیاد ماژولی که تهیه کردین آی سی تقویت کنندش کار نمیکرده و فقط خود آی سی nRF24L01P کار میکرده. این امکان ممکنه بیفته اگه دونه دونه توی تولید تست نکرده باشن.
              این ماژولها بدون آنتن هست و میتونید از خود سایت ECA آنتن بخرید:
              http://eshop.eca.ir/%D8%A2%D9%86%D8%...9%88-3dbi.html

              http://eshop.eca.ir/%D8%A2%D9%86%D8%...8%AF-7dbi.html

              کلا هر آنتن 2.4Ghz wifi که برای مودم های وایرلس هست بهش میخوره.
              مثل این آنتن جهتدار:
              http://www.digikala.com/Product/DKP-...Bi-TL-ANT2424B



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

              http://blog.eca.ir/?p=498

              دیدگاه


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

                سلام دوستان خواهشا یکی بگه این هدر را برای میکرو atmega64 استفاده کرده؟
                چون توی فایل pdf اقای مرتضوی نوشته بودم برای مگا 32 و ... .منظورشون چییه؟
                لطفا اگر کسی میدونه کمک کنه .با تشکر

                دیدگاه


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

                  نوشته اصلی توسط hero.seller17
                  سلام دوستان خواهشا یکی بگه این هدر را برای میکرو atmega64 استفاده کرده؟
                  چون توی فایل pdf اقای مرتضوی نوشته بودم برای مگا 32 و ... .منظورشون چییه؟
                  لطفا اگر کسی میدونه کمک کنه .با تشکر
                  سلام برای هر میکرویی میتونید استفاده کنید. با تغییر هدر فایلها مثلا از mega32 به mega64. و تغییراتی در تنظیمات spi و اینتراپت. تنظیمات سخت افزاری را باید دقت کنید

                  دیدگاه


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

                    ممنون از جواب چطوری؟کجاها را باید دستکاری کنم! :mrgreen:من زیاد بلد نیستم هدر رو دستکاری کنم
                    ممنون میشم کمک کنید

                    دیدگاه


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

                      نوشته اصلی توسط hero.seller17
                      ممنون از جواب چطوری؟کجاها را باید دستکاری کنم! :mrgreen:من زیاد بلد نیستم هدر رو دستکاری کنم
                      ممنون میشم کمک کنید
                      با ویزارد کدویژن میتونید تنظیمات دلخواه را بسازید و جایگزین کنید. خب بنده نمیدونم شما در چه سطحی کار کردین؟؟؟

                      دیدگاه


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

                        فایل راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)
                        رو میخواستم.mail:vahid.behtoie@gmail.com

                        دیدگاه


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

                          تقریبا بار اوله با کدویژن میخوام واسه aVR بنویسم با C کار کردم .این پایه ها همون پایه های SPI هستن دیگه .برای MEGA 64 باید به پایه های SPI وصل کنم .اون ندتا پایه دیگه رو چی کار کنم؟! :eek:به همونایی که توی PDF گفته بودن وصل کنم؟

                          دیدگاه


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

                            نوشته اصلی توسط moein taghavi
                            فایل راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)
                            رو میخواستم.mail:vahid.behtoie@gmail.com
                            در بخش برنامه های نمونه
                            http://eshop.eca.ir/%D9%85%D8%A7%DA%...%86%DB%8C.html

                            اضافه شده در تاریخ :
                            نوشته اصلی توسط hero.seller17
                            تقریبا بار اوله با کدویژن میخوام واسه aVR بنویسم با C کار کردم .این پایه ها همون پایه های SPI هستن دیگه .برای MEGA 64 باید به پایه های SPI وصل کنم .اون ندتا پایه دیگه رو چی کار کنم؟! :eek:به همونایی که توی PDF گفته بودن وصل کنم؟
                            spi همون هست البته ممکنه اسم پورتش تغییر کنه. بقیه پایه ها هم هرجا مناسب بود وصل کنید. البته یه پایه باید به اینتراپتی وصل باشه که falling edge داشته باشه.
                            میخوای شماتیک کشیدی عکس بزار تا بگیم مناسبه یا نه

                            دیدگاه


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

                              با سلام خدمت همه دوستان منظور از این 0xE0 در هدر فایل چیه هم چین مقداری رو توی رجیستر ها نداریم

                              switch(ins & 0xE0)
                              {
                              case 0x00:
                              {
                              if((ins & 0x1F)==0x0A || (ins & 0x1F)==0x0B || (ins & 0x1F)==0x10)
                              {
                              for(i=4;i>=0;i--)
                              {
                              Temp_Addrs[i]=spi(NOP);
                              }
                              }
                              else
                              {
                              Command_Reg=spi(NOP);
                              }
                              break;
                              }
                              case W_REGISTER:
                              {
                              if((ins & 0x1F)==0x0A || (ins & 0x1F)==0x0B || (ins & 0x1F)==0x10)
                              {
                              for(i=4;i>=0;i--)
                              {
                              spi(Base_Addrs[i]);
                              }
                              }
                              else
                              {
                              spi(Command_Reg);
                              }
                              break;
                              }
                              case R_RX_PL_WID:
                              {
                              if((ins & 0x01)==1)
                              {
                              i=payload[0];
                              while(i!=0)
                              {
                              payload[i]=spi(NOP);
                              i--;
                              }
                              }
                              else
                              {
                              Command_Reg=spi(NOP);
                              }
                              break;
                              }
                              case W_TX_PAYLOAD:
                              {
                              i=payload[0];
                              while(i!=0)
                              {
                              spi(payload[i]);
                              i--;
                              }
                              break;
                              }

                              }
                              CSN=1;
                              delay_us(10);
                              }

                              دیدگاه


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

                                اگه به صفحه 51 دیتاشیت nRF24L01P برید میبینید برای دستورات command هستند. وقتی مقداری را با 0xE0 اند (and) کرده یعنی 5بیت اول را در نظر نگرفته و با 3بیت نهایی نوع command را مشخص میکنه. اگه در دیتاشیت دقت کنید این 5بیت در commandها به صورت تنظیم همون command هست. البته اینجا فک میکنم فقط برای R_REGISTER و W_REGISTER و W_ACK_PAYLOAD در نظر بشه گرفت.

                                دیدگاه

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