🤖 ربات مسیریاب — چطور خط سیاه را دنبال می‌کند

ربات مسیریاب کلاسیک‌ترین پروژه‌ی رباتیک است و در تقریباً هر مسابقه‌ای دیده می‌شود. اصلش خیلی ساده‌تر از چیزی است که به نظر می‌رسد.

سنسور چطور خط را می‌بیند؟

هر سنسور یک LED مادون قرمز دارد که به زمین نور می‌تاباند و یک گیرنده که بازتاب را می‌سنجد. سطح سفید نور را برمی‌گرداند و سطح سیاه جذبش می‌کند. پس: بازتاب زیاد یعنی سفید، بازتاب کم یعنی روی خط.

منطق دو سنسوره

دو سنسور در دو طرف خط بگذار، طوری که در حالت عادی هر دو روی سفید باشند:

کد

const int left = 2, right = 3;              // سنسورها
const int m1a = 5, m1b = 6, m2a = 9, m2b = 10;  // درایور

void drive(int l, int r) {
  analogWrite(m1a, l > 0 ? l : 0);
  analogWrite(m1b, 0);
  analogWrite(m2a, r > 0 ? r : 0);
  analogWrite(m2b, 0);
}

void setup() {
  pinMode(left, INPUT);
  pinMode(right, INPUT);
}
void loop() {
  bool onL = digitalRead(left)  == LOW;   // LOW یعنی سیاه
  bool onR = digitalRead(right) == LOW;

  if (!onL && !onR)      drive(170, 170);  // مستقیم
  else if (onL && !onR)  drive(0, 170);    // چپ بپیچ
  else if (!onL && onR)  drive(170, 0);    // راست بپیچ
  else                   drive(0, 0);      // بایست
}

سه نکته که کار را درست می‌کند

قدم بعدی

وقتی نسخه‌ی دو سنسوره کار کرد، با پنج سنسور و کنترل نسبتی (PID) ربات خیلی نرم‌تر حرکت می‌کند — ولی اول همین را درست کن.

منطق مسیریاب را در شبیه‌ساز تمرین کن 🤖

مقاله‌های دیگر

🤖

آردوینو چیست؟ راهنمای کامل برای شروع از صفر

بهترین شبیه‌ساز مدار آنلاین فارسی — چرا شبیه‌ساز، و چرا روبومیکر؟

💡

ساده‌ترین پروژه الکترونیک برای بچه‌ها: روشن‌کردن یک LED