🚙 درس 51: ماشین رباتیک
دو موتور، چهار فرمان — اولین رباتی که حرکت میکند.
سطح: پیشرفته · زمان: حدود 16 دقیقه · مفاهیم: دو موتور، تابع، حرکت
قدمهای این درس
- چطور یک ربات دوچرخ میپیچد؟
- قدم ۱ — اول تابعها، بعد منطق
- قدم ۲ — تغذیهی جدا، وگرنه ربات ریست میشود
- چالش: مربع بکش
نمونهای از کد این درس
// موتور چپ
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);
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓