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

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

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

ساخت AGV انبار ساده با Arduino و سنسور خط: ربات باربر دنبال‌کننده مسیر (فارسی)

​ ژوئن 11, 2026 1 دقیقه مطالعه
AGV انبار Line Follower آردوینو

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

AGV (Automated Guided Vehicle) یک وسیله نقلیه زمینی است که بدون راننده و بر اساس یک مسیر از پیش تعریف‌شده حرکت می‌کند. ساده‌ترین نوع AGV از یک خط سیاه روی زمین پیروی می‌کند — سنسورهای IR در زیر ربات تفاوت روشنایی خط سیاه و زمین سفید را تشخیص می‌دهند.

در انبارهای صنعتی مدرن (مثل انبار آمازون)، AGVها قفسه‌ها را جابجا می‌کنند. نسخه DIY این پروژه یک پایه عالی برای یادگیری مفاهیم کنترل خودکار، سنسورهای IR، و کنترل PID سرعت است.

ما از یک آرایه سنسور IR به نام TCRT5000 x 5 استفاده می‌کنیم — ۵ سنسور کنار هم که موقعیت دقیق خط را تعیین می‌کنند. کنترل موتور از طریق L298N (H-Bridge درایور موتور) انجام می‌شود.

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

یک AGV دو-چرخ متحرک که مسیر خط سیاه را دنبال می‌کند، در ایستگاه‌ها می‌ایستد و با تنظیم PWM سرعت را کنترل می‌کند.

  • زمان ساخت: ۳ تا ۵ ساعت
  • هزینه: ۵۰۰ تا ۸۰۰ هزار تومان
  • سرعت: ۰.۵-۱ m/s قابل تنظیم

Arduino + L298N TCRT5000 × ۵ ← خط سیاه → AGV دنبال‌کننده خط — سنسور IR × ۵ — کنترل PD

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

قطعه نقش
Arduino Nano کنترلر اصلی
TCRT5000 Sensor Array × ۵ تشخیص خط
L298N Motor Driver کنترل ۲ موتور DC
موتور DC Geared 100RPM × ۲ محرک چرخ‌ها
شاسی ۲ چرخ دیفرانسیل پایه ربات

کد Arduino — کنترل PD Line Following


const int SENSOR[5] = {A0,A1,A2,A3,A4};
const int IN1=7, IN2=8, ENA=9, IN3=10, IN4=11, ENB=6;
const int BASE_SPEED = 150;
float Kp = 40, Kd = 20;
int lastError = 0;

int readLine() {
  int val[5]; int sum=0, wSum=0;
  for(int i=0;i<5;i++){
    val[i] = (analogRead(SENSOR[i]) > 500) ? 1 : 0;
    sum  += val[i];
    wSum += val[i] * (i * 1000);
  }
  if(sum==0) return lastError > 0 ? 4000 : 0;
  return wSum / sum;
}

void setMotors(int lSpd, int rSpd) {
  lSpd = constrain(lSpd, -255, 255);
  rSpd = constrain(rSpd, -255, 255);
  digitalWrite(IN1, lSpd > 0); digitalWrite(IN2, lSpd <= 0);
  analogWrite(ENA, abs(lSpd));
  digitalWrite(IN3, rSpd > 0); digitalWrite(IN4, rSpd <= 0);
  analogWrite(ENB, abs(rSpd));
}

void setup() {
  int pins[] = {IN1,IN2,IN3,IN4};
  for(int p : pins) pinMode(p, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int pos = readLine();
  int error = pos - 2000;  // ۲۰۰۰ = وسط (سنسور ۲ از ۰)
  int correction = Kp * error + Kd * (error - lastError);
  lastError = error;
  setMotors(BASE_SPEED + correction, BASE_SPEED - correction);
  delay(10);
}

چک‌لیست تنظیم

تست نتیجه
روی خط سیاه: سنسور وسط ۱ می‌شود؟ بله — Serial Monitor
ربات خط مستقیم را دنبال می‌کند؟ بله — Kp تنظیم کنید
ربات در پیچ ۹۰ درجه نمی‌ایستد؟ Kd را افزایش دهید
در انتهای خط متوقف می‌شود؟ کد توقف sum==0 اضافه کنید

TCRT5000 × ۵ آرایه سنسور Arduino Nano کنترل PD L298N Driver PWM چرخ‌ها AGV حرکت مسیر دقیق AGV خط‌دنبال‌کن — سنسور IR → PD Controller → موتورها

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


منابع بیشتر

  • آپارات: AGV ربات خط دنبال آردوینو فارسی
  • HowToMechatronics: Line Follower Complete
برچسب‌ها: AGV IR Line Follower آردوینو آموزش گام‌به‌گام انبار مبتدی موتور DC
​
مطلب بعدی راهنمای BLHeli_32 و DSHOT: تنظیم ESC چهارگانه برای مسابقه FPV (فارسی) مطلب قبلی راهنمای Sub-GHz 915MHz و 868MHz: مقایسه با 2.4GHz برای RC و LoRa بلندبرد (فارسی)
</> Make for Iran – بسازیم برای ایران

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

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

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

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

پیوندها

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

آخرین مطالب

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