Menu
CoddyTech

חיישן חניה: אורות

חלק מהיחידה פרויקטים במסלול ה-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 לפני שמדליקים אחת מהן, כמו ברמזור. אחרת, הצהובה תישאר דולקת כשהאדומה תידלק.

challenge icon

אתגר

קל

הציגו את המרחק באמצעות צבע:

  • הגדירו את פינים 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);
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פרויקטים

תרגלו בעצמכם: Arduino אונליין