</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›ساخت کنترلر RC چند کانال با nRF24L01+ و آردوینو: جایگزین ارزان FlySky (فارسی)
آموزش ربات‌های پرنده (UAV)

ساخت کنترلر RC چند کانال با nRF24L01+ و آردوینو: جایگزین ارزان FlySky (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
nRF24L01 RC Controller 8 Channel Arduino

nRF24L01 و RC Controller چیست؟ (مبتدی)

ماژول nRF24L01+ یک ترانسیور ۲.۴GHz با قیمت زیر ۳ دلار است. این چیپ از Nordic Semiconductor از SPI استفاده می‌کند و می‌تواند در ۱۲۵ کانال مختلف بین ۲.۴ تا ۲.۵GHz کار کند — این به معنای مقاومت خوب در برابر تداخل WiFi است.

یک RC Controller (کنترلر رادیویی) معمولی مثل FlySky FS-i6 حدود ۱۵۰-۳۰۰ هزار تومان قیمت دارد. با آردوینو + nRF24L01 می‌توان یک کنترلر ۸ کانال با CPPM (Combined PPM) ساخت که مستقیماً به FC وصل می‌شود — با قیمت زیر ۵۰ هزار تومان!

محصولی که می‌سازید

یک کنترلر RC ۸ کانال با ۲ جوی‌استیک و چند سوئیچ، خروجی CPPM برای اتصال به FC.

  • هزینه کل: ۲۰-۴۰ هزار تومان
  • برد: ۱۰۰-۵۰۰ متر (با آنتن ۱۷mm)
  • کانال‌ها: تا ۸ کانال روی یک سیگنال CPPM

TX Controller Arduino Nano Joystick×2 + SW×4 nRF24L01+ PA+LNA 2.4GHz RX Receiver Arduino Pro Mini nRF24L01+ پین D2 CPPM → FC nRF24 RC — زیر ۴۰ هزار تومان، ۸ کانال CPPM

کد TX — ارسال ۸ کانال


#include <RF24.h>
#include <SPI.h>

RF24 radio(9, 10);  // CE, CSN
const byte addr[] = "RC001";
uint16_t ch[8];  // ۸ کانال، هر کدام 1000-2000μs

void setup() {
  radio.begin();
  radio.setChannel(108);        // دور از WiFi
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_MAX);
  radio.openWritingPipe(addr);
  radio.stopListening();
}

void loop() {
  ch[0] = map(analogRead(A0),0,1023,1000,2000); // Roll
  ch[1] = map(analogRead(A1),0,1023,1000,2000); // Pitch
  ch[2] = map(analogRead(A2),0,1023,1000,2000); // Throttle
  ch[3] = map(analogRead(A3),0,1023,1000,2000); // Yaw
  ch[4] = digitalRead(4) ? 2000 : 1000;          // Mode SW
  ch[5] = digitalRead(5) ? 2000 : 1000;          // Arm SW
  ch[6] = 1500; ch[7] = 1500;                    // اختیاری

  radio.write(ch, sizeof(ch));
  delay(20);  // 50Hz rate
}

کد RX — خروجی CPPM


#include <RF24.h>
RF24 radio(9, 10);
const byte addr[] = "RC001";
uint16_t ch[8];
unsigned long lastRx;

// CPPM روی D3 (Timer2 PWM)
// PPM Frame: پالس sync 300μs + ۸ کانال
#define PPM_PIN 3

void generatePPM() {
  // پیاده‌سازی PPM با Timer2 ISR
  // یا استفاده از کتابخانه PPMEncoder
}

void setup() {
  radio.begin(); radio.setChannel(108);
  radio.setDataRate(RF24_250KBPS);
  radio.openReadingPipe(0, addr);
  radio.startListening();
  pinMode(PPM_PIN, OUTPUT);
  for(int i=0;i<8;i++) ch[i]=1500;
}

void loop() {
  if(radio.available()) {
    radio.read(ch, sizeof(ch));
    lastRx = millis();
  }
  // Failsafe: اگر ۵۰۰ms پیام نرسید
  if(millis()-lastRx > 500) {
    ch[2] = 1000;  // Throttle صفر
    ch[5] = 1000;  // Disarm
  }
  generatePPM();
}

چک‌لیست تست

تست نتیجه
nRF24 پاسخ می‌دهد؟ radio.begin() = true
۸ کانال در Betaflight/iNAV دیده می‌شود؟ Receiver Tab بار می‌شود
Failsafe در ۵۰۰ms Throttle صفر می‌کند؟ TX را خاموش کنید
در ۵۰ متر بدون dropout؟ ☐

Joystick×2 Arduino TX nRF24L01+ 2.4GHz 250kbps CPPM Output ۸ کانال FC iNAV/BF UAV/UGV nRF24 RC — ۴۰ هزار تومان، ۸ کانال CPPM → FC

ویدئوهای آموزشی


منابع بیشتر

  • آپارات: nRF24L01 کنترلر RC آردوینو فارسی
  • GitHub: RF24 Library Documentation
برچسب‌ها: CPPM Failsafe nRF24L01 PPM RC Controller آردوینو ارزان چند کانال
​
مطلب بعدی ساخت SDR Mesh: شبکه‌ای از RTL-SDR برای پوشش طیفی گسترده (فارسی) مطلب قبلی ساخت Tethered Drone: پهپاد با کابل برق برای مانیتورینگ بدون محدودیت زمانی (فارسی)
</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

یاد بگیر، بساز، به اشتراک بگذار. جامعه‌ای برای سازندگان، مهندسان و علاقه‌مندان به فناوری در ایران.

دسته‌بندی‌ها

  • پروژه‌ها
  • ربات‌های پرنده (UAV)
  • آموزش
  • ربات‌های زمینی (UGV)
  • الکترونیک
  • پهپاد و مولتی‌روتور

پیوندها

  • خانه
  • درباره ما
  • تماس
  • فید RSS

آخرین مطالب

  • خلاصه دوره ArduPilot/iNAV و گام‌های بعدی (فارسی)
  • رادیو تله‌متری در مقابل LTE/4G برای کنترل از راه دور (فارسی)
  • Ground Station روی موبایل و تبلت — QGroundControl و Solex (فارسی)
  • راه‌اندازی Ground Station با Mission Planner (فارسی)
© 2026 Make for Iran – بسازیم برای ایران. تمامی حقوق محفوظ است.
ساخته شده با ❤️ برای سازندگان ایران  |  ورود