🚙 درس 51: ماشین رباتیک

دو موتور، چهار فرمان — اولین رباتی که حرکت می‌کند.

سطح: پیشرفته · زمان: حدود 16 دقیقه · مفاهیم: دو موتور، تابع، حرکت

قدم‌های این درس

  1. چطور یک ربات دوچرخ می‌پیچد؟
  2. قدم ۱ — اول تابع‌ها، بعد منطق
  3. قدم ۲ — تغذیه‌ی جدا، وگرنه ربات ریست می‌شود
  4. چالش: مربع بکش

نمونه‌ای از کد این درس

// موتور چپ
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 forward()  { motors(180, 180); }
void back()     { motors(-180, -180); }
void left()     { motors(-150, 150); }
void right()    { motors(150, -150); }
void stopAll()  { motors(0, 0); }

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

void loop() {
  Serial.println("jolo");  forward(); delay(1500);
  Serial.println("rast");  right();   delay(600);
  Serial.println("jolo");  forward(); delay(1500);
  Serial.println("chap");  left();    delay(600);
  stopAll();               delay(1000);
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

🌉

درس 50: موتور جلو و عقب

🛤️

درس 52: ربات دنبال‌کننده‌ی خط