NRF24L01: ماژول ارتباط بی سیم برای آردوینو

NRF24L01

مطمئناً شما باید یک پروژه DIY با استفاده از Arduino یا هر عنصر دیگری ایجاد کنید و باید از آن استفاده کنید ارتباطات بی سیم. و این امر با داشتن نوعی ماژول یا دستگاه اتفاق می افتد که به شما امکان انتقال با استفاده از IR ، RF ، بلوتوث ، WiFi و غیره را می دهد. یعنی شما باید کاملاً در مورد نیازها بدانید که نوع سیگنال مناسب ترین حالت در مورد شماست.

در این حالت ما یک راهنمای NRF24L01 برای شما. این یک تراشه ارتباطی بی سیم است که آنچه را برای ارسال و دریافت سیگنال نیاز دارید به شما ارائه می دهد. نوع سیگنالهایی که آن را اداره می کند RF یا فرکانس رادیویی است ، یعنی امواج با طول موج بزرگ و در نتیجه انرژی کم ، که در طیف الکترومغناطیسی فرکانس بین 3 هرتز تا 300 گیگاهرتز دارند.

NRF24L01 چیست؟

NRF24L01

El NRF24L01 تراشه ای است که توسط Nordic Semiconductor تولید شده است. اگر این خرید کامل، تراشه نصب شده بر روی یک PCB کوچک با برخی از عناصر کمکی مورد نیاز شما و در نتیجه ساخت یک ماژول. از چند طریق می توانید از آن استفاده کنید ، از جمله اتصال به Adruino که بعداً به شما نشان خواهم داد.

NRF24L01 ، همانطور که از نام آن استنباط می شود ، یک دستگاه ارتباطی بی سیم است که با استفاده از RF یا فرکانس رادیویی با قابلیت کار در 2,4 گیگاهرتز - 2,5 گیگاهرتز. این باند رایگان برای استفاده رایگان است. شما قبلاً می دانید که باندهای دیگر رزرو شده اند و اگر می خواهید از آنها برای انتقال اطلاعات استفاده کنید ، باید هزینه کنید. علاوه بر این ، یک فرستنده + یک گیرنده را ادغام می کند.

به طور خاص ، باند فرکانسی که می توانید استفاده کنید از 2.400،2.525 مگاهرتز تا XNUMX،XNUMX مگاهرتز است ، با امکان انتخاب بین 125 کانال با فاصله 1 مگاهرتز بین آنها اگرچه از شبکه های WiFi ، هواپیماهای بدون سرنشین که با این فرکانس کار می کنند و غیره استفاده از فرکانس های 2.4 گیگاهرتز توصیه نمی شود یا تداخلی ایجاد می شود. به همین دلیل استفاده از 2.501 مگاهرتز به بعد ترجیح داده می شود.

با توجه به ویژگی های آن ، از 1.9 تا 3.6v کار می کند ، بنابراین برای شما آسان خواهد بود که بتوانید آن را با خود برد Arduino با اتصال 3.3 ، استفاده از باتری و حتی با منبع تغذیه ای که دارای آن ولتاژ است ، تغذیه کنید. همچنین ، می توانید سرعت انتقال را بین 250 کیلوبیت بر ثانیه ، 1 مگابیت بر ثانیه و تا 2 مگابیت بر ثانیه پیکربندی کنید.

تراشه موجود در انتشار و دریافت می تواند همزمان کار کند حداکثر 6 اتصال از دستگاه های مختلف با این کار می توانید از مشاغل مختلف بدون مشکل پخش یا دریافت کنید. و اگر نگران استحکام یا قابلیت اطمینان ارتباط هستید ، تراشه خود دارای مدار منطقی برای تصحیح خطاهای داده و در صورت لزوم ارسال اطلاعات است. بنابراین ، پردازنده را از این کار آزاد می کند.

برای کنترل آن می توانید استفاده کنید اتوبوس SPI، بنابراین کنترل آن با آردوینو بسیار ساده است. علاوه بر این ، پایه های داده NRF24L01 تا 5 ولت بدون مشکل پشتیبانی می کنند. مصرف برق در Stand By بسیار کم است ، بنابراین عنصری برای نگرانی نخواهد بود و وقتی کار می کند یکی از پرهزینه ترین ها نیست ، زیرا برای ارسال و دریافت داده فقط به 15 میلی آمپر نیاز دارد.

در بازار چندین مورد پیدا خواهید کرد ماژول های مختلفی که تراشه NRF24L01 را نصب می کنند، آنها فقط در عناصر کمکی که دارند یا در برخی جزئیات تغییر می کنند. به عنوان مثال در نوع آنتن. در بعضی از آنها یک آنتن به شکل زیگ زاگ با برد حدود 20-30 متر چاپ شده است. دیگران اعتراف می کنند که یک آنتن خارجی تا حدودی قدرتمندتر با آمپلی فایر از 700 متر به 1 کیلومتر می رسد.

با این حال، دامنه واقعی توسط برخی عوامل محدود می شودمانند موانع جاده ای ، سر و صدا یا تداخل از سایر عناصر یا سیگنال های موجود ، سرعت انتقال ، ولتاژ تغذیه (ولتاژ بالاتر ، فاصله بیشتر) و غیره به عنوان مثال ، اگر می خواهید با حداکثر سرعت 2 مگابیت در ثانیه انتقال دهید که مجازات بزرگی در فاصله خواهد داشت که حداکثر فقط 2 یا 3 متر خواهد بود. در سرعت های پایین ممکن است بتوانید از آن مسافت بالا بروید.

مقاله مرتبط:
ESP8266: ماژول WIFI برای آردوینو

قبل از خرید چه چیزهایی باید بدانید؟

آنتن NRF40L01

El NRF24L01 یک تراشه بسیار ارزان است که می تواند در بسیاری از پروژه ها مورد استفاده قرار گیرد. به عنوان مثال ، اگر آنتن خارجی ندارید ، می توانید آن را تا 0.65 یورو خریداری کنید ، مدل آنتن خارجی کمی گرانتر از این مدل است اما هنوز هم بسیار ارزان است و معمولاً از 1.7 یورو بیشتر نیست.

اگر عنصر انتشار یا گیرنده دیگری ندارید ، قبلاً می دانید که باید دو ماژول NRF24L01 بخرید ، یکی برای استفاده در یک طرف و دیگری در طرف دیگر جایی که می خواهید انتقال دهید. هر دو مانند آنها رفتار خواهند کرد فرستنده یا گیرنده هر جور راحتی.

پینوت و نصب NRF24L01

پین اوت NRF40L01

در مورد مونتاژ ، این کاملاً ساده است. NRF24L01 دارای 8 پایه است ، بنابراین پینت آن بسیار آسان است برای درک اینکه چگونه می توانید در این تصویر ببینید که من شما را ترک می کنم. در سمت راست می توانید نمودار پین یک صفحه را مشاهده کنید Arduino UNO و نحوه اتصال هر یک از پایه های ماژول به آن.

همانطور که می توانید استنباط کنید ، بشقاب NRF24L01 با استفاده از پایه های GND و 3.3v تغذیه می شود از آردوینو به یاد داشته باشید که این کار را با سیگنال 5v انجام ندهید در غیر این صورت به ماژول آسیب می رسانید.

ادغام با آردوینو

2 NRF24L01 با Arduino (مدار)

هنگامی که بدانید NRF24L01 چیست و چگونه می توان آن را متصل و از طریق آن تغذیه کرد ، علاوه بر تعداد پروژه هایی که می توانید با چند دستگاه ارزان انجام دهید ، مورد بعدی نشان دادن است یک مثال برنامه نویسی بنابراین می توانید با Arduino IDE خود آزمایش کنید. به یاد داشته باشید که قالب داده ای که می توانید انتقال دهید می تواند در کد منبع اصلاح شود.

مقاله مرتبط:
L298N: ماژول کنترل موتورها برای آردوینو

می توانید رشته ، عدد صحیح ، داده نقطه شناور و غیره را ارسال و دریافت کنید. من به شما پیشنهاد میکنم راهنمای ما در مورد برنامه نویسی آردوینو اگر شروع می کنید با استفاده از آن می توانید اولین پروژه های خود را ایجاد کنید. و به عنوان یک مثال مشخص برای NRF24L01 ، در اینجا شما را ترک می کنم کدهای مورد نیاز برای یک رشته.

کدی را که باید در Arduino IDE بنویسید و برد Arduino متصل به NRF24L01 را که می خواهید به عنوان اختصاص دهید برنامه ریزی کنید. فرستنده:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

در اینجا کدی را که باید در Arduino IDE وارد کرده و در صفحه ای که به NRF24L01 اختصاصی متصل کرده اید ، ضبط کنید. گیرنده:

# شامل <nRF24L01.h> شود
# RF24.h را وارد کنید>
# شامل <RF24_config.h> شود
# SPI.h> را وارد کنید

const int pinCE = 9؛
const int pinCSN = 10؛
رادیو RF24 (pinCE ، pinCSN) ؛

// آدرس لوله رادیویی تنها برای 2 گره برای برقراری ارتباط.
لوله uint64_t = 0xE8E8F0F0E1LL؛

داده های char [16]؛

تنظیم باطل (باطل)
{
Serial.begin (9600)؛
radio.begin ()؛
radio.openReadingPipe (1 ، لوله) ؛
radio.startListening ()؛
}

حلقه باطل (باطل)
{
اگر (رادیو موجود) ()
{
int done = radio.read (داده ها ، اندازه داده ها)؛
Serial.println (داده)
}
}

با آن شما هر آنچه را که نیاز دارید خواهید داشت و می توانید کلمات یا رشته های متنی یکی را ارسال کنید و ببینید دیگری چگونه آنها را دریافت می کند. برای استفاده از کنسول به عنوان وسیله ای برای مشاهده داده ها ، از دو رایانه متصل به USB به برد Arduino استفاده کنید. با توجه به ماژولی که دارید یا پیکربندی ای که به آن داده اید ، یک فاصله محتاطانه را از آنها جدا کنید و شروع به دیدن کاراکترهایی که در کد اول وارد کرده اید در صفحه رایانه دیگر ...


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

نظر بدهید ، نظر خود را بگذارید

نظر خود را بگذارید

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

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   استفان dijo

    سلام ایزاک
    من می خواهم یک پروژه را با آردوینو ، Rasberry یا چیز دیگری تکمیل کنم.
    آیا می توانید برای توضیح تماس بگیرید از طریق ایمیل؟
    یک معدن - a01b02@abv.bg
    سپاس ها