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

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

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›کنترل از راه دور با CC1101 و آردوینو: ماژول Sub-GHz زیر ۳ دلار برای تله‌متری UGV (فارسی)
آموزش ربات‌های زمینی (UGV)

کنترل از راه دور با CC1101 و آردوینو: ماژول Sub-GHz زیر ۳ دلار برای تله‌متری UGV (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
CC1101 Sub-GHz آردوینو UGV تله‌متری

CC1101 چیست و چرا برای UGV عالی است؟ (مبتدی)

ماژول CC1101 یک ترانسیور (فرستنده-گیرنده) RF زیر ۳ دلار است که روی باندهای Sub-GHz مثل 433MHz، 868MHz و 915MHz کار می‌کند. این چیپ از تکنولوژی GFSK (Gaussian Frequency Shift Keying) استفاده می‌کند — یک روش دیجیتال انتقال داده که نسبت به OOK/ASK ساده مقاومت بهتری در برابر نویز دارد.

مزیت اصلی در مقایسه با LoRa: قیمت بسیار پایین‌تر (۳ دلار در مقابل ۱۰-۱۵ دلار LoRa) و سرعت بالاتر (تا ۵۰۰kbps). برای تله‌متری و کنترل UGV با برد ۵۰۰-۱۰۰۰ متر کاملاً کافی است. اتصال از طریق SPI انجام می‌شود و کتابخانه ELECHOUSE_CC1101 برای آردوینو آن را خیلی ساده می‌کند.

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

یک لینک دو‌طرفه CC1101 برای ارسال دستورات RC و دریافت تله‌متری (ولتاژ، سرعت) از UGV.

  • هزینه رادیو: ۲ × ۳ دلار = ۶ دلار (زیر ۴۰۰ هزار تومان)
  • برد: ۵۰۰-۱۰۰۰ متر با آنتن ساده
  • سرعت: ۲۵۰kbps GFSK

← دستور RC تله‌متری → TX (کنترلر) Arduino+CC1101 Joystick RX (UGV) Arduino+CC1101 موتور + سنسور CC1101 GFSK 433MHz — دو‌طرفه: دستور RC + تله‌متری

قطعات لازم

قطعه قیمت تقریبی
ماژول CC1101 433MHz × ۲ ۳ دلار × ۲
Arduino Nano × ۲ ۵ دلار × ۲
Joystick Module × ۱ ۱ دلار
آنتن سیمی ۱۷۳mm × ۲ رایگان (سیم)

سیم‌بندی CC1101 به Arduino Nano


CC1101   →  Arduino Nano
VCC      →  3.3V  (مهم! CC1101 فقط 3.3V تحمل دارد)
GND      →  GND
MOSI     →  D11
MISO     →  D12
SCK      →  D13
CSn      →  D10
GDO0     →  D2  (اختیاری - Interrupt)
GDO2     →  D3  (اختیاری)

// آنتن λ/4 برای 433MHz:
// طول = 300/433/4 × 1000 = 173mm سیم مستقیم

کد TX (کنترلر جوی‌استیک)


#include <ELECHOUSE_CC1101_SRC_DRV.h>

const int JX = A0, JY = A1;
byte txBuf[4];

void setup() {
  Serial.begin(9600);
  ELECHOUSE_cc1101.Init();
  ELECHOUSE_cc1101.SetMHZ(433.92);  // فرکانس
  ELECHOUSE_cc1101.SetModulation(0); // GFSK
  ELECHOUSE_cc1101.SetDRate(9.6);    // kbps
  ELECHOUSE_cc1101.SetTxPower(10);   // dBm (حداکثر 12)
}

void loop() {
  txBuf[0] = 0xAA;                    // هدر
  txBuf[1] = map(analogRead(JX),0,1023,0,255);  // X
  txBuf[2] = map(analogRead(JY),0,1023,0,255);  // Y
  txBuf[3] = txBuf[1] ^ txBuf[2];    // Checksum ساده

  ELECHOUSE_cc1101.SendData(txBuf, 4);
  delay(50);  // 20Hz rate
}

کد RX (روی UGV)


#include <ELECHOUSE_CC1101_SRC_DRV.h>

byte rxBuf[64];
int len;

void setup() {
  Serial.begin(9600);
  ELECHOUSE_cc1101.Init();
  ELECHOUSE_cc1101.SetMHZ(433.92);
  ELECHOUSE_cc1101.SetModulation(0);
  ELECHOUSE_cc1101.SetDRate(9.6);
  ELECHOUSE_cc1101.SetRx();  // حالت دریافت
}

void loop() {
  if(ELECHOUSE_cc1101.CheckRxFifo(100)) {
    if(ELECHOUSE_cc1101.CheckCRC()) {
      len = ELECHOUSE_cc1101.ReceiveData(rxBuf);
      if(len>=4 && rxBuf[0]==0xAA) {
        int xVal = rxBuf[1];  // 0-255
        int yVal = rxBuf[2];
        // تبدیل به سرعت موتور
        int leftSpeed  = map(yVal+xVal/2, 0, 383, -255, 255);
        int rightSpeed = map(yVal-xVal/2, 0, 383, -255, 255);
        // setMotors(leftSpeed, rightSpeed);
        Serial.println("L:" + String(leftSpeed) + " R:" + String(rightSpeed));
      }
    }
    ELECHOUSE_cc1101.SetRx();  // برگشت به Rx
  }
}

چک‌لیست تست

تست نتیجه
CC1101 روی SPI شناسایی می‌شود؟ Version = 0x14 در Serial
TX در Serial Monitor RX داده می‌فرستد؟ بله در ۵۰ms
در ۱۰۰ متر کار می‌کند؟ بله
RSSI در Serial قابل خواندن است؟ ELECHOUSE_cc1101.getRSSI()

Joystick Arduino TX CC1101 433MHz GFSK CC1101 RX Arduino UGV موتور + LED تله‌متری CC1101 GFSK — زیر ۶ دلار، برد ۵۰۰m، دوطرفه

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


منابع بیشتر

  • آپارات: CC1101 آردوینو 433MHz فارسی
  • GitHub: ELECHOUSE CC1101 Library
برچسب‌ها: 433MHz CC1101 GFSK Sub-GHz UGV آردوینو ارزان تله‌متری
​
مطلب بعدی ساخت کوادکوپتر ۳ اینچ Cinewhoop برای فیلم‌برداری داخلی: راهنمای کامل (فارسی) مطلب قبلی ساخت سیستم ضد-تصادف LiDAR برای AGV: TF-Mini Plus و آردوینو (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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