فرستنده گیرنده NRF
اغلب کاربران تصور میکنند که بردهای NRF فقط برای پروژههای دانشجویی کاربرد دارند. ماژولهای فرستنده گیرنده NRF فقط مصارف دانشجویی و آموزشی ندارند. در این متن سعی کردهایم به تمامی سوالات شما پاسخ دهیم. تیترها را دنبال کنید.
ماژول NRF چیست؟
بردهای فرستنده گیرنده رادیویی انواع مختلفی دارند. از لحاظ پهنای باند، طول موج و کاربری که دارند، متفاوت هستند. تراشههای NRF در انواع مختلفی تولید میشوند. این تراشهها معمولا از پهنای باند زیادی برای انتقال دادهها پشتیبانی میکنند. رنج فرکانسی ماژول NRF در محدوده 2.401GHz تا 2.525GHz یا همان UHF است. ماژولNRF24L01 قابلیت ارسال اطلاعات در رنج بادریت 250Kbps تا 2Mbps را داراست. از اینرو امکان تعیین رنج متراژ کاربردی برای این ماژول قابل تنظیم است. در مدلهای بدون آنتن از این ماژول با تنظیم کردن بادریت روی مقادیر کم، رنج ارسال دادهها تا 100 متر هم افزایش پیدا میکند. در کل ماژول NRF یک فرستنده و گیرنده رادیویی است. برای استفاده از این ماژول در هر دو سمت پروژه نیازمند استفاده از آن را دارید.
روش کار کرد ماژول NRF24L01 و تعداد کانالهای رادیویی
همانطور که اشاره شد تراشههای NRF دارای انواع مختلفی هستند. مدل NRF24L01 یکی از پر مصرفترین آنهاست. این ماژول امکان برنامه ریزی و تنظیم بین 125 کانال مختلف را داراست. که هرکدام از این 125 کانال قابلیت آدرس دهی تا 6 آدرس متفاوت را دارست. جریان مصرفی این ماژول در حالت تبادل دادهها در حدود 12 میلی آمپر است. این 12mA کمتر از میزان جریان مصرفی یک LED است. ولتاژ کاری این ماژول در محدوده 1.9 تا 3.6 ولت است. اما نکتهی بسیار مهم و حائز اهمیت در ماژول NRF04L01 پشتیبانی از ولتاژ 5V توسط پایههای دیگر برد است. این قابلیت باعث میشود بدون نیاز به ماژولهای مبدل سطح ولتاژ امکان استفاده از آن توسط بردهای آردوینو فراهم باشد. پروتکل ارتباطی این ماژول SPI است. یعنی توسط سه رشته سیم میتوانید آنرا به برد آردوینو یا دیگر میکروکنترلرهای مد نظرتان متصل کنید.
پایههای PinOut در ماژول فرستنده گیرنده nRF24L01
پایههای خروجی یا همان Pinout روی برد به صورت چاپ شده قرار دارند. کافیست طبق همان موارد اقدام به بررسی و اتصال پایههای ماژول nRF24L01 به آردوینو یا میکروکنترلر مورد نظرتان کنید. بردهای NRF نسخههای متنوعی دارند به همین دلیل هر کدام تفاوتهایی در پایههای PinOut دارند. برای تشخیص هم بایستی از چاپ راهنمای رو برد استفاده کرد. هم بایستی به دیتاشیت ماژول مراجعه کرد. این تراشهها به علت کوچک بودن و قیمت اقتصادی در پروژههای بسیاری از جمله خانه هوشمند و یا هوشمند سازی صنعتی کاربرد دارند. تراشههای NRF04L01+PA+LNA و NRF04L01 و NRF528XX از جمله پرمصرفترینها هستند. در دانشجو کیت میتوانید انواع مختلف از این تراشهها را بررسی و خرید کنید. نسخههای اورجینال از NRF تا نسخههای مختلف غیر اصل و چینی با قیمت خیلی کمتر قابل تهیه هستند. تفاوت این مدلها را در ادامه توضیح خواهیم داد. معمولترین روش برای شناخت پایههای GPIO برد nRF24L01 مراجعه به دیتاشیت تراشه و یا تصاویر شماتیک آن است. این موضوع کاملا فنی مهندسی است و برای راه اندازی تراشه و یا طراحی مدار کاربردی است. به صورت پیش فرض ماژول NRF24L01 از پروتکل SPI برای برقراری ارتباط استفاده میکند.
تفاوت برد nRF24 و بردهای nRF52
تراشههای خانواده nRF در دو نسخه nRF24 و nRF52 تولید میشوند. در سری اولی که دو مدل nRF24L01 و nRF24l01+PA+LNA از پر کاربردترینها هستند. این مدل ماژول رادیویی در باند فرکانسی 2.4GHz کار میکند و به عنوان فرستنده گیرنده در پروژههای مختلف کاربرد دارد. بردهای nRF52 تفاوت عمدهای با نسخه قبلی دارند. این نسل از خانواده nRF در دسته SoC قرار دارند. به این معنی که قابلیت پروگرام شدن را دارند. تراشههای نسل nRF52 که در سه مدل nRF52810 و nRF52832 و nRF52840 تولید میشوند. دارای بلوتوث کم مصرف و نسل 5 به بالا هستند. دو نسخهی nRF52832 و nRF52840 قابلیت ساخت شبکه مش را دارند. همچنین از تکنولوژی NFC هم بهره مند هستند. تراشههای نسل nRF24 یک بستر انتقال دیتایی بسیار ارزان قیمت و پرکاربرد هستند.
زبان برنامه نویسی تراشههای nRF
با توجه به اینکه دو نسخه تراشه nRF طراحی و تولید شدهاند. در نسل nRF24 نیازمند یک میکروکنترلر در کنار ماژول هستید. بنابراین با برقراری ارتباط SPI و یا هر پروتکل دیگری که برد nRF پشتیبانی میکند، از طریق میکروکنترلر مربوطه برنامه نویسی انجام میگیرد. در چنین حالتی از زبانهای C و یا میکروپایتون بسته به نوع میکروکنترلر مورد استفاده میتوان استفاده کرد. اما در نسخههای nRF52 با توجه به اینکه خود تراشه نقش میکروکنترلر را هم داراست و قابلیت برنامه نویسی دارد. از زبانهای بر پایه C میتوان استفاده کرد.
برنامه نویسی nRF24L01 و راه اندازی با آردوینو
بردهای آردوینو کاربردهای بسیار زیادی دارند، همچنین امکان راه اندازی بردهای و تراشههای خانواده nRF24 با این گروه از بردها فراهم است. همانطور که پیشتر اشاره شد برای پروگرام کردن ماژولهای خانواده nRF24 بایستی از طریق ارتباط SPI اقدام کرد. بردهای آردوینو همگی دارای ارتباط SPI هستند. به همین دلیل برای راه اندازی nRF24 با آردوینو یا راه اندازی nRF24L01+pa+lna با آردوینو، کافیست ارتباط spi با این بردها را برقرار کرده و توسط Arduino IDE اقدام به پروگرام کردن و یا راه اندازی NRF با آردوینو کنیم. تراشههای nRF24 به دو روش قابل برنامه نویسی هستند. یکی استفاده از کتابخانههای توسعه داده شده است و دیگری استفاده از دستورات AT Command است. این دو مورد برای شرط گذاری و برنامه نویسی تراشههای nRF قابل انتخاب هستند. برای راه اندازی nRF24L01 با آردوینو از هر دو روش میتوانید استفاده کنید. روش استفاده از AT Command گزینهای حرفهتر و تخصصیتر است. برای سهولت در راه اندازی nrf میتوانید از انواع کتابخانههایی که به صورت رایگان توسط جامعه کاربری توسعه داده شدهاند، استفاده کنید.
نصب کتابخانه nRF24L01 در آردوینو چگونه است؟
همانطور که پیشتر توضیح داده شد، بردهای nRF24 توسط کتابخانه هم قابل راه اندازی هستند. برای برنامه نویسی و راه اندازی این بردهای توسط کتابخانه بایستی ابتدا نسبت به نصب کتابخانه در نرم افزار آردوینو اقدام کنید. در نرم افزار آردوینو برای نصب کتابخانه دو روش وجود دارد. روش متداول آن نصب از طریق منوهای نرم افزار است که به صورت آنلاین از مخازن آردوینو نسبت به دانلود کتابخانه اقدام میکند. برای درک بهتر تصویر زیر را بررسی کنید.
به همین سادگی امکان افزودن و نصب کتابخانه nRF24 در آردوینو فراهم است. بردهای خانواده nRF24L01 دارای کتابخانههای مختلفی هستند. کتابخانه اصلی به اسم RF24 است و تا به امروز بیش از 30 ورژن مختلف از آن منتشر شده است. برای هر کاربرد خاص نیازمند کتابخانهی مرتبط با همان موضوع هستیم. برد nRF24 و برد nRF52 کتابخانههای منحصر به خودشان را دارند.
جدول مشخصات فنی nRF24L01
تفاوت ماژول nRF24L01 و ماژول nRF24L01+PA+LNA چیست؟
پیش از هرچیزی لازم است بدانید که ماژولهای nRF24L01 دارای مدلهای متنوعی هستند. ولی دو مدل بسیار کاربردی از این مدل، nRF24L01 بدون آنتن و nRF24L01+PA/LNA است که مدل دومی دارای آنتن و برد مسافتی بالاتری است. مدل اولی که کوچکتر است دارای آنتن داخلی و روبردی است. ابعاد بسیار کوچکتر و مصافت ارسال کمتری دارد. در فضای باز تا 100 متر قابلیت ارسال دادهها را دارد. در فضاهای سربسته و ساختمانها این مصافت بسیار کمتر خواهد بود. و اما مدل دوم که بزرگتر بوده و دارای آنتن است. تفاوت عمدهای که دارد در استفاده از تراشه RFX2401C است. به ظاهر پورت SMA روی برد و قابلیت نصب آنتن آن، تفاوت عمده است. ولی تفاوت مهم این دو برد در دارا بودن تراشه RFX2401C که یک تقویت کننده فرستنده در باند ISM است. این تراشه در کنار استفاده از آنتن 2.4GHz قابلیت ارسال دادهها تا مصافت 1000 متر را فراهم میکند. مجددا این مصافت هم در فضای باز و شرایط استاندارد تعریف میشود. در فضای بسته و ساختمانی چنین مصافتی دست یافتنی نخواهد بود.
منظور از PA و LNA در ماژول nRF24l01+pa/lna چیست؟
هر دو مورد مخفف شدهی عبارتهایی خاص هستند. در PA منظور Power Amplifier است. به معنی تقویت کننده توان است. این بخش صرفا توان سیگنال مخابره شده را تقویت میکند. در LNA منظور Low-Noise Amplifier است. این واحد نقش بسیار مهمی در دریافت دادهها دارد. اگر دادهای با سیگنال بسیار ضعیف به ماژول ارسال شود، توسط این واحد روی ماژول تقویت شده و دریافت میشود. منظور از سیگنال ضعیف کمتر از میکرو ولت و یا -100db است. به تصویر زیر دقت کنید. تا دقیقا پاسخ به سوال LNA چیست را دریابید. ولی موضوع LNA بسیار تخصصیتر از این توضیحاتی هست که ارایه شده است. در صورت تمایل بایستی اطلاعات کاملتر را بررسی کنید.
شبکهی چندین فرستنده و یک گیرنده nRF24L01
یکی از قابلیتهای بسیار جذاب و مهم تراشههای سری nRF24 قابلیت دریافت داده به صورت همزمان از چندین گیرنده است. در این حالت یک ماژول nRF24L01 در حالت گیرنده قرار گرفته و 6 عدد ماژول nRF24L01 دیگر در حالت فرستنده اطلاعاتشان را به آن مخابره میکنند. به عبارت سادهتر یک ماژول در حالت هاب قرار گرفته و همزمان میتواند از بین 6 فرستنده دیگر اطلاعات را دریافت کند. به عبارت دیگر یک Rx اطلاعات را از 6 عدد TX دریافت میکند. به هر کدام از این کانالها Pipe گفته میشود.
راهکار nRF24 در ارسال پکتها و Data Loss
جلوگیری از Data Loss در تبادل اطلاعات به صورت بیسیم و در مسافت زیاد، بسیار اهمیت دارد. در ماژولهای nRF24 قابلیت برای جلوگیری از Data Loss در نظر گرفته شده است. قابلیت ACK که مخفف شده عبارت acknowledgement است. این قابلیت باعث میشود پس از ارسال پکت داده، فرستنده تقریباً 130 میکرو ثانیه منتظر میماند تا تایید ACK را دریافت کند. گیرنده پس از دریافت موفقیت آمیز پکت دادهها، ACK را به فرستنده برگشت میدهد. هنگامی که ماژول فرستنده تاییدیه ACK را دریافت کرد، تبادل اطلاعات پایان مییابد.
ماژول NRF24L01 فرستنده گیرنده رادیویی
تراشه NRF از جمله کاربردیترین تراشههای رادیویی برای انتقال دیتا است. در خرید خرید ماژول nrf24l01 قیمت مقرون به صرفه و ابعاد آن باعث شده تا علاوه بر کارایی ماژول NRF24L01 در باند فرکانسی 2.4GHz امکان انتقال تا چند کیلومتر را داشته باشد. nRF24L01 ماژولی برای انتقال داده به صورت بی سیم میباشد. در مواردی مانند:هدست های بی سیم ، کنسول های بازی مانند ps3 ، اتوماسین خانگی ، سیستم های مسیر یاب مانند GPS و …. استفاده میشود. این ماژول در نوع آنتن دار و بدون آنتن ارا,ه میشود که برد آنتن دار ۱۱۰۰ متر و بدون آنتن آن ۱۰۰ متر می باشد. در آموزش راه اندازی ماژول NRF24L01 فرستنده گیرنده رادیویی ۲٫۴GHz با آردوینو توضیحات کامل به همراه کدنویسی آردوینو ارایه شده است.