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

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

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

کنترل UGV با دستکش حرکتی: MPU-6050 روی دست + Sub-GHz LoRa 433MHz (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
دستکش کنترل UGV MPU-6050 LoRa 433MHz

دستکش کنترل حرکتی چیست؟ (مبتدی)

به جای استفاده از جوی‌استیک یا دکمه، در این پروژه حرکت دست شما مستقیماً UGV را کنترل می‌کند. یک MPU-6050 روی دستکش نصب می‌شود و زاویه کج شدن دست را اندازه می‌گیرد. این زاویه با LoRa SX1278 (ماژول زیر ۱۰ دلار، برد تا ۱km) به گیرنده روی UGV ارسال می‌شود.

دست را جلو کج کنید → UGV جلو می‌رود. چپ کج کنید → UGV چپ می‌رود. صاف نگه دارید → توقف. این کنترل بسیار شهودی است و بدون نیاز به یادگیری دکمه‌ها کار می‌کند.

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

یک دستکش کنترل UGV با LoRa بی‌سیم — کنترل با حرکت دست.

  • هزینه TX: MPU-6050 + Arduino + SX1278 = ۲۰ دلار
  • برد: ۵۰۰m-۱km
  • تأخیر: زیر ۵۰ms

دستکش TX MPU-6050+Arduino SX1278 LoRa 433 433MHz ۱km UGV RX Arduino+SX1278 L298N موتور دستکش → LoRa 433MHz → UGV، کنترل با دست

کد TX — دستکش


#include <LoRa.h>
#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

void setup() {
  Wire.begin();
  mpu.initialize();
  LoRa.begin(433.175E6);
  LoRa.setSpreadingFactor(7);   // SF7 برای تأخیر کم
  LoRa.setSignalBandwidth(250E3); // BW250 سریع‌تر
  LoRa.setTxPower(17);
}

void loop() {
  int16_t ax,ay,az,gx,gy,gz;
  mpu.getMotion6(&ax,&ay,&az,&gx,&gy,&gz);

  // زاویه Pitch (جلو/عقب) و Roll (چپ/راست):
  float pitch = atan2(-ax, sqrt((long)ay*ay+(long)az*az)) * 180/M_PI;
  float roll  = atan2(ay, az) * 180/M_PI;

  // تبدیل به فرمان:
  char cmd = 'S';
  if(pitch < -15)     cmd = 'F';  // جلو
  else if(pitch > 15) cmd = 'B';  // عقب
  else if(roll < -20) cmd = 'L';  // چپ
  else if(roll > 20)  cmd = 'R';  // راست

  LoRa.beginPacket();
  LoRa.write(cmd);
  LoRa.write((int8_t)constrain(abs(pitch),0,90));  // سرعت
  LoRa.endPacket();
  delay(50);  // 20Hz
}

کد RX — UGV


#include <LoRa.h>

const int L_F=6,L_B=7,R_F=8,R_B=9;
const int ENA=10, ENB=11;
unsigned long lastCmd;

void setup() {
  LoRa.begin(433.175E6);
  LoRa.setSpreadingFactor(7);
  LoRa.setSignalBandwidth(250E3);
  int pins[]={L_F,L_B,R_F,R_B};
  for(int p:pins) { pinMode(p,OUTPUT); }
  pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT);
}

void loop() {
  int sz = LoRa.parsePacket();
  if(sz >= 2) {
    char cmd = LoRa.read();
    int spd = map(LoRa.read(), 0, 90, 100, 255);
    lastCmd = millis();
    analogWrite(ENA, spd); analogWrite(ENB, spd);
    if(cmd=='F') { digitalWrite(L_F,1);digitalWrite(L_B,0);digitalWrite(R_F,1);digitalWrite(R_B,0); }
    else if(cmd=='B') { digitalWrite(L_F,0);digitalWrite(L_B,1);digitalWrite(R_F,0);digitalWrite(R_B,1); }
    else if(cmd=='L') { digitalWrite(L_F,0);digitalWrite(L_B,1);digitalWrite(R_F,1);digitalWrite(R_B,0); }
    else if(cmd=='R') { digitalWrite(L_F,1);digitalWrite(L_B,0);digitalWrite(R_F,0);digitalWrite(R_B,1); }
    else { digitalWrite(L_F,0);digitalWrite(L_B,0);digitalWrite(R_F,0);digitalWrite(R_B,0); }
  }
  // Failsafe
  if(millis()-lastCmd > 300) { digitalWrite(L_F,0);digitalWrite(L_B,0);digitalWrite(R_F,0);digitalWrite(R_B,0); }
}

چک‌لیست تست

تست نتیجه
دست را ۱۵° جلو → UGV جلو؟ ☐
دست صاف → توقف؟ ☐
Failsafe در ۳۰۰ms توقف؟ ☐
در ۱۰۰ متر فاصله کار می‌کند؟ ☐

MPU-6050 دستکش SX1278 LoRa SF7 BW250 UGV Arduino L298N موتور Failsafe ۳۰۰ms دستکش MPU-6050 → LoRa 433 → UGV — کنترل طبیعی دست

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


منابع بیشتر

  • آپارات: دستکش کنترل ربات فارسی
  • Random Nerd: MPU-6050 Arduino Guide
برچسب‌ها: 433MHz LoRa MPU-6050 SX1278 UGV ارزان دستکش حرکتی کنترل ژست
​
مطلب بعدی ساخت گیمپال ۳ محوره با آردوینو و MPU-6050: تصویر پایدار برای FPV (فارسی) مطلب قبلی ساخت ADS-B Receiver با RTL-SDR: ردیابی هواپیماهای واقعی روی نقشه (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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