חיישן חניה: אורות
חלק מהיחידה פרויקטים במסלול ה-Arduino של Coddy. שיעור 10 מתוך 24.
אף אחד לא קורא מספרים בזמן החניה. שלוש נוריות ה-LED הופכות את המרחק לצבע: ירוק בפין 6 כשהדרך פנויה, צהוב בפין 7 כשמתקרבים, אדום בפין 13 כשצריך לעצור.
שלושה טווחים, ונורית LED אחת בדיוק לכל טווח. שרשרת if / else if / else מתאימה, כי רק אחד מהענפים שלה מופעל:
if (cm >= 100) {
// ירוק
} else if (cm >= 30) {
// צהוב: מ-30 עד 99
} else {
// אדום: מתחת ל-30
}אין צורך שהבדיקה השנייה תציין cm < 100: פירושו של else הוא שהבדיקה הראשונה הייתה שקרית, ולכן המרחק כבר קטן מ-100.
כבה את שלוש נוריות ה-LED לפני שמדליקים אחת מהן, כמו ברמזור. אחרת, הצהובה תישאר דולקת כשהאדומה תידלק.
אתגר
קלהציגו את המרחק באמצעות צבע:
- הגדירו את פינים 6, 7 ו-13 כיציאות
- 100 ס״מ או יותר: ירוק בלבד
- 30 עד 99 ס״מ: צהוב בלבד
- פחות מ-30 ס״מ: אדום בלבד
המשיכו להדפיס את המרחק. לחצו על Run, גררו את המרחק של החיישן, ואז לחצו על Check.
נסו בעצמכם
// חיישן המרחק
const int trigPin = 9;
const int echoPin = 10;
// שלח פולס והחזר את המרחק ב-cm.
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
long cm = readDistance();
Serial.println(cm);
delay(100);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
תרגלו בעצמכם: Arduino אונליין