רובוט עוקב קו
אחד הפרוייקטים האהובים בקורס: רכב שנוסע לבד לפי קו שחור מצויר על רצפה לבנה, בלי כל שליטה ידנית. בונים אותו על גבי שלדת "מכונית חכמה", ומוסיפים לו שני חיישני IR (עוקבי קו) בחזית.
עקרון הפעולה
- שני חיישני IR: ממוקמים בחזית הרכב, ימין ושמאל, קרוב לרצפה
- מעל הקו הלבן: החיישן מחזיר ערך "בהיר" - הרכב ממשיך ישר
- מעל הקו השחור: החיישן מחזיר ערך "כהה" - הרכב מתקן כיוון לצד השני
- שני מנועים + גשר H: מבצעים את התיקון בפועל
קוד לדוגמה
const int leftSensor = 7;
const int rightSensor = 8;
// פיני שליטה במנועים (התאימו לחיווט שלכם)
const int leftMotorF = 5, leftMotorB = 6;
const int rightMotorF = 9, rightMotorB = 10;
void setup() {
pinMode(leftSensor, INPUT);
pinMode(rightSensor, INPUT);
}
void loop() {
bool left = digitalRead(leftSensor); // LOW = מעל קו שחור
bool right = digitalRead(rightSensor);
if (left == HIGH && right == HIGH) {
forward(); // שני החיישנים על לבן - ישר
} else if (left == LOW && right == HIGH) {
turnLeft(); // חיישן שמאלי על שחור - לפנות שמאלה
} else if (left == HIGH && right == LOW) {
turnRight(); // חיישן ימני על שחור - לפנות ימינה
} else {
stopMotors(); // שני החיישנים על שחור - עצירה
}
}
טיפים לכיוונון
מומלץ לכוונן את בורג הרגישות על כל חיישן IR כך שיבחין בבירור בין הרצפה לקו, ולשמור על מהירות נסיעה נמוכה בהתחלה כדי שיהיה זמן לתקן כיוון בפניות חדות.