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

ابتدا نگاهی اجمالی به مشخصات کلی این ماژول ارزان و پرکاربرد می اندازیم:

  • ولتاژ کاری : ۳٫۳V
  • فرکانس کاری : ۲٫۴GHz
  • نرخ انتقال داده : ۲MBPS
  • جریان مصرفی : در حد mA
  • مدولاسیون:  GFSK
  • دارای کریستال ۱۶MHz
  • ارتباط با ماژول های دیگر تا ۶ ماژول و ایجاد شبکه محلی

کاربرد NRF

  • رادیو کنترل ها
  •  شبکه های سنسوری
  • VoiP
  • گجت های پوشیدنی

برای ایجاد یک سیستم ارتباطی بی سیم به یک فرستنده و گیرنده نیاز داریم. برای فرستنده از یک برد Arduino و یک ماژول NRF و در طرف گیرنده نیز از همین اجزا استفاده می کنیم و برای مشاهده داده های منتقل شده از Serial Monitor در نرم افزار Arduino استفاده می کنیم.

 

شماتیک مداری ارسال و دریافت String با استفاده از NRF

 

در اینجا برد UNO را به صورت پیشفرض انتخاب کرده ایم ولی تلاش شده تا اتصالات به صورت یونیورسال باشد هر برد Arduino امکان پیاده سازی داشته باشد. پین های CE و CSN را میتوان برای هر پایه دیجیتال تعریف کرد در اینجا ما از پایه ۷و۸ استفاده کردیم.

سورس کد فرستنده ارسال و دریافت String با استفاده از NRF

سورس کد گیرنده ارسال و دریافت String با استفاده از NRF

 

برای کامپایل برنامه به کتابخانه NRF برای Arduino نیاز داریم. نصب کتابخانه های Arduino هم در پست های قبلی آموزش داده شده است.

لینک کتابخانه : https://github.com/nRF24/RF24/archive/master.zip

 

در این برنامه از ۳ کتابخانه استفاده شده است

  • SPI کتابخانه مربوط به ارتباط سریال از طریق SPI می باشد.
  • NRF24L01 مربوط به راه اندازی ماژول می باشد.
  • RF24 مربوط به کنترل دیتاهای فرستاده شده و دریافت شده می باشد.

برای تست و استفاده از برنامه میتوانید با استفاده از ابزار Serial Monitor درArduino IDE متن منتقل شده از طرف فرستنده را در سمت گیرنده مشاهده کنید.