🛤 ربات مسیریاب
دو سنسور 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);
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «ربات مسیریاب» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!