آموزش, آردوینو, اینترنت اشیاء, توصیه شده

راه اندازی ماژول فرستنده گیرنده رادیویی Ci24R1 با آردوینو

راه اندازی ماژول فرستنده گیرنده رادیویی Ci24R1 با آردوینو

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

از مهمترین مزیت هایی که این آیسی های Transceiver (فرستنده/گیرنده) دارند این است که کاربر نیازی نیست درگیر مدارهای مخابراتی و پیچیدگی های مربوط به آن شود.در این آموزش ما قصد داریم که به معرفی و راه اندازی آیسی Ci24R1 بپردازیم که یک آیسی چینی مشابه NRF24L01 هست و بسیاری از قابلیت های آنرا دارد ولی قیمتی بسیار پایین تری دارد. و برای کار های تیراژ مناسب است.

معرفی آیسی Ci24R1

تراشه Ci24R1 یک تراشه چینی مشابه NRF24L01 می باشد که بلوک دیاگرام آن مطابق شکل زیر می باشد.

 

آیسی Ci24R1

همانطور که در شکل بالا مشاهده می شود ارتباط با این تراشه مانند NRF از طریق پروتکل SPI انجام میشود بنابراین برای پیکربندی و راه اندازی Ci24R1 نیاز به یک میکرو کنترلر هست. محدوده فرکانس کاری این تراشه 2400 تا 2525 مگاهرتز با 126 کانال و پهنای باند 1 مگاهرتز می باشد. Ci24R1 از فناوری مدولاسیون و دمدولاسیون دیجیتال GFSK/FSK استفاده می کند. سرعت انتقال داده و توان خروجی PA را می توان تنظیم کرد و از سه نرخ داده 2Mbps، 1Mbps و 250Kbps پشتیبانی می کند.

ای سی Ci24R1

همانطور که در تصویر بالا مشاهده می شود این در پکیج SOP-8 موجود است و دارای 3 پایه CSN ، SCK و DATA میباشد که پایه های SPI می باشند. پایه های XC1 و XC2 پایه های مربوط به اتصال کریستال (ترجیحا 16MHz) می باشند. پایه ANT برای اتصال آنتن 2.4 گیگاهرتزی و پایه های VDD و VSS تغذیه 3.3V این آیسی را شامل می شوند.

در ادامه تصویری از ماژول این تراشه که در این مطلب از آن استفاده میکنیم را مشاهده میکنید:

راه اندازی ماژول فرستنده گیرنده رادیویی Ci24R1 با آردوینو

راه اندازی ماژول فرستنده گیرنده رادیویی Ci24R1 با آردوینو

برای راه اندازی و تست Ci24R1 به دو ماژول Ci24R1 ، دو Arduino Uno و تعدادی سیم برد بردی نیاز داریم در ادامه نحوه اتصال ماژول به آردوینو را میتوانید بررسی کنید. این مدار برای فرستنده و گیرنده یکسان است

شماتیک اتصال ماژول Ci24R1 به آردوینو

 

کتابخانه و برنامه های مربوط به این آیسی در این لینک موجود می باشد. در پوشه Ci24r1-Arduino دو پوشه به نام های Ci24R1-Recieve و Ci24R1-transmit وجود دارد. با توجه به کد ci24r1.hpp پایه های SCK ، CSN و DATA باید مطابق برنامه زیر متصل شوند.

توجه شود که MOSI همان DATA  می باشد.

بررسی کد Transmit

خط 28 تابعی به اسم CI24R1_SPI_Test را صدا می زند. وظیفه این تابع این است که بررسی کند آیا ماژول Ci24R1 به پین های SPI مربوطه در آردوینو به درستی متصل شده است یا نه. چنانچه اتصال به درستی انجام شده بود پیام check passed را به نمایش می گذارد. تابع CI24R1_Init وظیفه پیکربندی آیسی را برعهده دارد. در خط 48 تابع CI24R1_SetChannel کانال (فرکانس) مورد نظر برای ارسال را تعیین می کند که حتما باید در برنامه دریافت یکی باشد.

تابع CI24R1_SetTxMode تراشه را در مد کاری ارسال قرار می دهد. دو تابع CI24R1_SetTxAddress و CI24R1_SetRxAddress آدرس مختص به گیرنده و فرستنده را مشخص می کند و برای زمانهایی که چندین گیرنده و فرستنده هستند کاربردی می باشد توجه شود که حتما این آدرس ها در هر دو طرف فرستنده و گیرنده یکسان باید باشند. تابع CI24R1_PrintStatus تمامی وضعیت تمامی پیکربندی های انجام شده اعم از آدرس فرسنتده و گیرنده ای که تعیین کردیم ، کانال ارسالی ، توان خروجی حداکثر تعداد بافر تعیین شده و … را نشان می دهد که میتواند حذف شود.

در نهایت تابع CI24R1_Tx بافر tmp تعریف شده را برای گیرنده ارسال میکند.

بررسی برنامه Recieve

در این برنامه با استفاده از تابع CI24R1_SetRxMode ماژول دوم را در حالت دریافت قرار میدهیم. تابع CI24R1_Rx بایت های ارسالی از برنامه Transmit دریافت میکند و در بافر xbuf میریزد که همانطور که در شکل می بینید عدد 31 معادل 0x1F در داخل خانه شماره صفر بافر xbuf ریخته شده است. سایر اعداد نیز در شکل زیر نشان داده شده است.

راه اندازی ماژول فرستنده گیرنده رادیویی Ci24R1 با آردوینو

همچنین میتوان با استفاده تغییر عدد CI24R1_PLOAD_WIDTH در فایل ci24r1.hpp تعداد بافر دریافتی را تنظیم کرد. توجه شود که مقدار این ثابت در هردو برنامه فرستنده و گیرنده باید یکسان باشد.

✅دانلود کتابخانه و کد آردوینو ماژول CI24R1

خرید ماژول فرستنده گیرنده رادیویی Ci24R1

خرید ماژول فرستنده گیرنده رادیویی Ci24R1

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

دیدگاهتان را بنویسید

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