🛤 ربات مسیریاب

دو سنسور IR و منطق چهار حالته.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

const int sLeft = 2, sRight = 3;

// موتور چپ
const int l1 = 4, l2 = 5, lEn = 9;
// موتور راست
const int r1 = 6, r2 = 7, rEn = 10;

void motors(int lSpeed, int rSpeed) {
  digitalWrite(l1, lSpeed >= 0);
  digitalWrite(l2, lSpeed < 0);
  analogWrite(lEn, lSpeed >= 0 ? lSpeed : -lSpeed);

  digitalWrite(r1, rSpeed >= 0);
  digitalWrite(r2, rSpeed < 0);
  analogWrite(rEn, rSpeed >= 0 ? rSpeed : -rSpeed);
}

void setupMotors() {
  int pins[] = {l1, l2, lEn, r1, r2, rEn};
  for (int i = 0; i < 6; i++) pinMode(pins[i], OUTPUT);
}

void setup() {
  pinMode(sLeft, INPUT);
  pinMode(sRight, INPUT);
  setupMotors();
  Serial.begin(9600);
}

void loop() {
  bool onL = (digitalRead(sLeft) == LOW);
  bool onR = (digitalRead(sRight) == LOW);

  if (!onL && !onR)      motors(160, 160);
  else if (onL && !onR)  motors(0, 160);
  else if (!onL && onR)  motors(160, 0);
  else                   motors(0, 0);

  Serial.print("chap:");
  Serial.print(onL ? 1 : 0);
  Serial.print(" rast:");
  Serial.println(onR ? 1 : 0);
  delay(20);
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «ربات مسیریاب» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖