Menu
CoddyTech

ניקוי ספרות שנשארו

חלק מהיחידה צגים וחיישנים במסלול ה-Arduino של Coddy. שיעור 9 מתוך 24.

כתיבה מעל מספר מחליפה רק כמה תווים שיש במספר החדש. הדפס 10, חזור אחורה, הדפס 9, והמסך מציג 90: ה־9 כיסה את ה־1, וה־0 לא נגעו בו כלל.

יש שני פתרונות. הפתרון המהיר: הדפס כמה רווחים אחרי המספר, כך שהם יכסו את מה שמספר ארוך יותר השאיר:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // מסתיר עד ארבע ספרות ישנות

האפשרות השנייה היא lcd.clear(), שמנקה את כל המסך ומעבירה את הסמן לפינה השמאלית העליונה. היא גם מוחקת את כל השאר שהדפסת, ולכן צריך להדפיס הכול מחדש, ומסך שמתנקה פעמים רבות בשנייה מהבהב. עבור מספר אחד שמשתנה, הרווחים עדיפים.

challenge icon

אתגר

קל

השורה התחתונה מציגה את הקריאה מהכפתור, אבל כשמסובבים את הכפתור למטה מ־1023, הספרות הישנות נשארות. תקן זאת:

  • אחרי הדפסת הקריאה, הדפס רווחים כדי לכסות ספרות שנשארו
  • השאר את Knob: בשורה העליונה

לחץ על Run, סובב את הכפתור למעלה ולמטה, ואז לחץ על Check.

נסו בעצמכם

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("Knob:");
}

void loop() {
  int reading = analogRead(A0);
  lcd.setCursor(0, 1);
  lcd.print(reading);
  // מספר קצר יותר משאיר ספרות ישנות על הצג: תקנו זאת כאן
  delay(100);
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה צגים וחיישנים

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