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

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

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›آموزش›Obstacle Avoidance با HC-SR04 و IR برای UGV — جلوگیری از برخورد (فارسی)
آموزش ربات‌های زمینی (UGV)

Obstacle Avoidance با HC-SR04 و IR برای UGV — جلوگیری از برخورد (فارسی)

​ ژوئن 12, 2026 1 دقیقه مطالعه
Obstacle Avoidance UGV HC-SR04 سونار IR

اجتناب از موانع — حس ۶م ربات

HC-SR04 یک سونار اولتراسونیک است که با ارسال پالس صوتی ۴۰kHz و زمان‌بندی بازگشت آن فاصله را اندازه می‌گیرد: فاصله(cm) = زمان(μs) / 58. برد ۲–۴۰۰cm و دقت ±۳mm دارد. ارزان (~۴۰K) و محبوب.

حسگر IR شارپ (GP2Y0A21) با نور مادون قرمز فاصله ۱۰–۸۰cm را اندازه می‌گیرد — آنالوگ، سریع‌تر از سونار اما تحت‌تأثیر نور آفتاب. ترکیب هر دو بهترین نتیجه را می‌دهد.

الگوریتم Bug0 ساده‌ترین روش اجتناب از موانع است: به سمت هدف برو، اگر مانع دیدی آن را دور بزن تا مجدد مسیر آزاد شود.

BOM حسگرها

قطعه برد قیمت
HC-SR04 (جلو) ۲–۴۰۰cm ~۴۰K
HC-SR04 × ۲ (کناری) ۲–۴۰۰cm ~۸۰K
IR Sharp GP2Y0A21 (عقب) ۱۰–۸۰cm ~۱۵۰K

کد الگوریتم Bug0 با HC-SR04

long readSonar(int trigPin, int echoPin){
  digitalWrite(trigPin, LOW); delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long dur = pulseIn(echoPin, HIGH, 30000);  // timeout 30ms
  return dur / 58;  // cm
}

// حسگرها: TRIG/ECHO جلو، چپ، راست
#define TRIG_F 4  #define ECHO_F 5
#define TRIG_L 6  #define ECHO_L 7
#define TRIG_R 8  #define ECHO_R 9
#define SAFE_DIST 30  // cm

void loop(){
  long dF = readSonar(TRIG_F, ECHO_F);
  long dL = readSonar(TRIG_L, ECHO_L);
  long dR = readSonar(TRIG_R, ECHO_R);

  if(dF > SAFE_DIST){
    // مسیر آزاد — به سمت GPS Waypoint
    navigateToWaypoint();
  } else if(dR > dL && dR > SAFE_DIST){
    // سمت راست آزادتر — دور بزن
    drive(-100, 100);  // چرخش راست
    delay(300);
  } else if(dL > SAFE_DIST){
    drive(100, -100);  // چرخش چپ
    delay(300);
  } else {
    // همه طرف بسته — عقب برو
    drive(-150, -150);
    delay(500);
  }
}

جانمایی حسگرهای مانع روی UGV UGV HC-SR04 F HC-L HC-R IR Sharp B ↑ جلو


  • Last Minute Engineers: HC-SR04 آردوینو
  • آپارات: حسگر مانع ربات
برچسب‌ها: Bug Algorithm GPS HC-SR04 IR Sensor Obstacle Avoidance UGV حسگر مانع سونار
​
مطلب بعدی مدیریت باتری LiPo برای UGV — شارژ، BMS، اندازه‌گیری ولتاژ و ایمنی (فارسی) مطلب قبلی LiDAR ارزان برای UGV — RPLIDAR A1 و TF-Luna: نقشه محیط با آردوینو (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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