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

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

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›ربات‌های زمینی (UGV)›ساخت ربات UGV چهارچرخ با ESP32 و کنترل Joystick Bluetooth (فارسی)
ربات‌های زمینی (UGV) پروژه‌ها

ساخت ربات UGV چهارچرخ با ESP32 و کنترل Joystick Bluetooth (فارسی)

​ ژوئن 11, 2026 2 دقیقه مطالعه
ربات UGV 4WD ESP32 Bluetooth Joystick

UGV با Bluetooth چیست؟ (برای مبتدی)

UGV (Unmanned Ground Vehicle) یک وسیله نقلیه زمینی بدون راننده است. در این پروژه ما یک UGV 4WD (چهارچرخ محرک) می‌سازیم که با Bluetooth Classic از گوشی Android کنترل می‌شود.

ESP32 دارای Bluetooth 4.2 (Classic + BLE) داخلی است و نیاز به ماژول HC-05 ندارد. با اپلیکیشن رایگان Dabble یا BlueControl، یک Joystick مجازی روی گوشی ایجاد می‌شود که مختصات X,Y آن از طریق Bluetooth به ESP32 ارسال می‌شود.

L298N یک درایور موتور H-Bridge است که امکان کنترل دو موتور DC را با PWM فراهم می‌کند — سرعت و جهت هر دو موتور به صورت مستقل قابل تنظیم است.

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

یک UGV 4WD که با Joystick گوشی Android از طریق Bluetooth با برد ۱۰ متر کنترل می‌شود.

  • زمان ساخت: ۴ تا ۶ ساعت
  • هزینه: ۸۰۰ هزار تا ۱.۵ میلیون تومان
  • برد کنترل: ۱۰-۳۰ متر Bluetooth

ESP32 + L298N Bluetooth + موتور گوشی Android Dabble App BT Classic UGV 4WD — Joystick BT → ESP32 → L298N → ۴ موتور

قطعات لازم (BOM)

قطعه نقش
ESP32 DevKit V1 کنترلر + BT
شاسی 4WD Smart Robot Car بدنه + ۴ موتور + چرخ
L298N Motor Driver کنترل ۲ جفت موتور
باتری 7.4V LiPo یا ۶×AA تغذیه

کد ESP32 — Bluetooth Joystick Control


#include "BluetoothSerial.h"
BluetoothSerial SerialBT;

// پین‌های L298N:
const int L_FWD=26, L_BWD=27, L_PWM=14;
const int R_FWD=25, R_BWD=33, R_PWM=32;
const int BASE = 180;  // سرعت پایه

void setMotors(int left, int right) {
  left  = constrain(left,  -255, 255);
  right = constrain(right, -255, 255);
  digitalWrite(L_FWD, left  > 0); digitalWrite(L_BWD, left  < 0);
  digitalWrite(R_FWD, right > 0); digitalWrite(R_BWD, right < 0);
  ledcWrite(0, abs(left));  // PWM channel 0 → L_PWM
  ledcWrite(1, abs(right)); // PWM channel 1 → R_PWM
}

void setup() {
  Serial.begin(115200);
  SerialBT.begin("UGV_ESP32");
  int pwmPins[] = {L_FWD,L_BWD,R_FWD,R_BWD};
  for(int p : pwmPins) pinMode(p, OUTPUT);
  ledcSetup(0, 1000, 8); ledcAttachPin(L_PWM, 0);
  ledcSetup(1, 1000, 8); ledcAttachPin(R_PWM, 1);
}

void loop() {
  if(SerialBT.available()) {
    // فرمت Dabble: F(forward), B(back), L(left), R(right), S(stop)
    char c = SerialBT.read();
    Serial.println(c);
    if(c == 'F')      setMotors(BASE, BASE);
    else if(c == 'B') setMotors(-BASE, -BASE);
    else if(c == 'L') setMotors(-BASE/2, BASE);
    else if(c == 'R') setMotors(BASE, -BASE/2);
    else if(c == 'S') setMotors(0, 0);
  }
}

چک‌لیست تست

تست نتیجه
گوشی در BT Settings "UGV_ESP32" را می‌بیند؟ بله
Forward → هر ۴ چرخ به جلو؟ بله — اگر نه، جهت موتور را عوض کنید
Left/Right → می‌چرخد؟ بله
Stop → می‌ایستد؟ بله

Dabble App Joystick گوشی ESP32 BT Classic پارس L298N × ۲ PWM موتور UGV 4WD جهت + سرعت UGV 4WD BT — Joystick گوشی → ESP32 → L298N → حرکت

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


منابع بیشتر

  • آپارات: ESP32 UGV بلوتوث کنترل فارسی
  • Random Nerd: ESP32 Bluetooth Classic
برچسب‌ها: 4WD Android Bluetooth ESP32 Joystick L298N UGV آموزش گام‌به‌گام
​
مطلب بعدی ساخت گیرنده ADS-B با RTL-SDR: ردیابی هواپیماهای واقعی روی نقشه (فارسی) مطلب قبلی راهنمای OSD در ArduPilot: نمایش اطلاعات پرواز روی صفحه FPV (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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