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

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

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›آشنایی با LoRa SX1278 — ارسال دستور به UGV از ۲ کیلومتر (فارسی)
آموزش ربات‌های زمینی (UGV)

آشنایی با LoRa SX1278 — ارسال دستور به UGV از ۲ کیلومتر (فارسی)

​ ژوئن 12, 2026 1 دقیقه مطالعه
ماژول LoRa SX1278 Ra-02 آردوینو UGV

LoRa چیست — فناوری امواج رادیویی برد بلند

LoRa (Long Range) یک مدولاسیون رادیویی است که توسط Semtech توسعه یافته. در باند Sub-GHz (۴۳۳، ۸۶۸ یا ۹۱۵ MHz) کار می‌کند و با توان ۱۰۰mW برد ۲–۱۵km در فضای باز دارد. رمز موفقیتش تکنیک CSS (Chirp Spread Spectrum) است که سیگنال را در طیف پخش می‌کند — مقاوم در برابر نویز، تداخل و محو چند مسیری.

SX1278 تراشه LoRa ساخت Semtech است. ماژول Ra-02 (EBYTE یا Ai-Thinker) آن را با آنتن پیزو و کانکتور SMA ارائه می‌دهد. با آردوینو از طریق SPI ارتباط برقرار می‌کند.

پارامترهای کلیدی: SF (Spreading Factor) ۷–۱۲: بالاتر = برد بیشتر، سرعت کمتر. BW (Bandwidth) ۱۲۵/۲۵۰/۵۰۰kHz: بالاتر = سرعت بیشتر، برد کمتر. CR (Coding Rate) 4/5 تا 4/8: بالاتر = مقاومت بیشتر.

مقایسه تنظیمات LoRa برای UGV

SF BW برد تأخیر کاربرد
SF7 125kHz ~۲km ~۵۰ms کنترل RT UGV
SF9 125kHz ~۵km ~۲۰۰ms تله‌متری GPS
SF12 125kHz ~۱۵km ~۲s دیتای حسگر کند

اتصال Ra-02 به Arduino

Ra-02 Arduino Uno نکته
VCC 3.3V هرگز 5V ندهید
SCK/MOSI/MISO D13/D11/D12 SPI Hardware
NSS D10 Chip Select
RST D9 Reset
DIO0 D2 Interrupt (TX done / RX ready)

کد ارتباط دوطرفه

#include <SPI.h>
#include <LoRa.h>

bool isTX = true;  // true = فرستنده، false = گیرنده
int counter = 0;

void setup(){
  Serial.begin(115200);
  if(!LoRa.begin(433E6)){
    Serial.println("LoRa init failed!"); while(1);
  }
  LoRa.setSpreadingFactor(7);
  LoRa.setSignalBandwidth(125E3);
  LoRa.setCodingRate4(5);
  LoRa.setTxPower(17);  // 17 dBm = ~50mW
  Serial.println("LoRa OK");
}

void loop(){
  if(isTX){
    LoRa.beginPacket();
    LoRa.print("CMD:"); LoRa.print(counter++);
    LoRa.endPacket();
    Serial.print("Sent #"); Serial.println(counter);
    delay(500);
  } else {
    int pkt = LoRa.parsePacket();
    if(pkt){
      String recv = "";
      while(LoRa.available()) recv += (char)LoRa.read();
      int rssi = LoRa.packetRssi();
      float snr  = LoRa.packetSnr();
      Serial.print("Recv: "); Serial.print(recv);
      Serial.print("  RSSI:"); Serial.print(rssi);
      Serial.print("dBm  SNR:"); Serial.println(snr);
    }
  }
}

  • کتابخانه arduino-LoRa — GitHub
  • آپارات: LoRa آردوینو برد بلند
برچسب‌ها: 433MHz LoRa Ra-02 RF RSSI Sub-GHz SX1278 آردوینو کنترل UGV
​
مطلب بعدی ادغام IMU و GPS با فیلتر کالمن برای UGV پایدار (فارسی) مطلب قبلی ساخت ریموت کنترل LoRa DIY برای UGV با Arduino و SX1276 (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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