راه اندازی ماژول nRF24L01+ به همراه کتابخانه کامل برای AVR

ساخت برد آردوینو Arduino با استفاده از Atmega328
جولای 3, 2017
استفاده از UART رزبری پای Rspberry Pi
ژوئن 30, 2017
نمایش همه

راه اندازی ماژول nRF24L01+ به همراه کتابخانه کامل برای AVR

ماژول nRF24L01+ ورژن های مختلفی در بازار دارد، ولی اگر برد ماژول برای شما مهم است از ورژن (+) و دارای آنتن خارجی استفاده کنید. مانند شکل زیر

ماژول nRF24L01 دارای 10 پایه و ورژن (+) آن دارای 8 پایه می باشد. پین های ورژن (+) در شکل زیر قابل مشاهده است.

منبع توان (VCCوGND)

این ماژول با ولتاژ 3.3V کار می کند و با 5V نمی توان آن را راه اندازی کرد، جریان مصرفی بسیار پایینی دارد بنابراین با استفاده از یک رگولاتور 3.3V می توان منبع تغذیه این ماژول را تامین کرد.

Chip Enable (CE)

این پین هم برای ارسال (در حالت فرستنده) و هم برای دریافت (در حالت گیرنده) به کار می رود. این پین می تواند به هر کدام از پورت های I/O در میکرو کنترلر وصل شده و کنترل شود. توجه داشته باشید در AVR این پین باید خروجی تعریف گردد یعنی DDRx باید 1 تعیین شود (x نام پورت استفاده شده است).

SPI Cip Select (CSN)

این پین نیز به هر یک از پورت های I/O استفاده نشده می تواند متصل گردد و باید به عنوان خروجی در AVR تعیین گردد. این پین همواره یک خواهد بود مگر در مواقعی که می خواهیم دستوراتی را از AVR به nRF بفرستیم. این پایه همان پایه SS در سیستم SPI می باشد.

SPI Clock (SCK)

این پین کلاک سریال می باشد و به پین SCK در AVR متصل می گردد.

SPI Master Output Slave Input (MOSI or MO)

این پین خط داده در سیستم SPI می باشد که در بخش ارتباط از طریق SPI توضیح داده شده است. اگر AVR استفاده شده از سیستم SPI پشتیبانی می کند این پین به پایه MOSI در AVR متصل می گردد و باید به عنوان خروجی تعریف شود. اگر AVR از سیستم SPI پشتیبانی نکند (مانند ATtiny26 , …) در دیتاشیت نحوه استفاده از ماژول توضیح داده شده است.

SPI Master Input Slave Output (MISO or MI)

این پین خط داده در سیستم SPI می باشد که در بخش ارتباط از طریق SPI توضیح داده شده است. اگر AVR استفاده شده از سیستم SPI پشتیبانی می کند این پین به پایه MISO در AVR متصل می گردد و باید به عنوان خروجی تعریف شود.اگر AVR از سیستم SPI پشتیبانی نکند (مانند ATtiny26 , …) در دیتاشیت نحوه استفاده از ماژول توضیح داده شده است.

Interrupt Request (IRQ)

اتصال این پین ضروری نیست ولی زمانی که می خواهیم از وقفه استفاده کنیم بسیار مفید خواهد بود برای مثال زمانی که داده ای به nRF برسد این پین مقدار یک به خود خواهد گرفت و ما می توانیم از این وقفه استفاده های بسیاری ببریم.

برخی خصوصیات ماژول nRF24L01+

  • AutoACK
  • Enhanced ShockBurst
  • بسیار کم مصرف
  • باند فرکانسی 2.4GHz
  • 6 data pipe MultiCeiver

دارای 6 خط دیتا که در دیتا شیت به طور کامل توضیحات آن آورده شده است.

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

 

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

 

این مطلب را به اشتراک بگذارید

5 دیدگاه ها

  1. شاهین گفت:

    سلام
    چطوری میتونم از این کتابخونه استفاده کنم ؟؟
    منظورم اینه که چطوری میشه اضافش کنم به کدویژن؟؟

    ممنون

    • مدیرسایت گفت:

      سلام
      این کتابخونه برای اتمل استودیو نوشته شده
      برای استفاده در کدویژن باید یکم تغییر بدین تا با برنامه کدویژن مطابق بشه

  2. omidlife گفت:

    سلام
    نمونه برنامه اجراشده را با کدویژن اگه امکان داره بزارین
    ممنون

  3. mehrn گفت:

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*