ניקוי ספרות שנשארו
חלק מהיחידה צגים וחיישנים במסלול ה-Arduino של Coddy. שיעור 9 מתוך 24.
כתיבה מעל מספר מחליפה רק כמה תווים שיש במספר החדש. הדפס 10, חזור אחורה, הדפס 9, והמסך מציג 90: ה־9 כיסה את ה־1, וה־0 לא נגעו בו כלל.
יש שני פתרונות. הפתרון המהיר: הדפס כמה רווחים אחרי המספר, כך שהם יכסו את מה שמספר ארוך יותר השאיר:
lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print(" "); // מסתיר עד ארבע ספרות ישנותהאפשרות השנייה היא lcd.clear(), שמנקה את כל המסך ומעבירה את הסמן לפינה השמאלית העליונה. היא גם מוחקת את כל השאר שהדפסת, ולכן צריך להדפיס הכול מחדש, ומסך שמתנקה פעמים רבות בשנייה מהבהב. עבור מספר אחד שמשתנה, הרווחים עדיפים.
אתגר
קלהשורה התחתונה מציגה את הקריאה מהכפתור, אבל כשמסובבים את הכפתור למטה מ־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);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה צגים וחיישנים
2צג LCD תווי
שלום על צג ה-LCDמיקום טקסט באמצעות setCursorהצגת מספרים בזמן אמת על צג ה-LCDניקוי ספרות שנשארוציור תווים מותאמים אישיתטקסט בגלילהתרגלו בעצמכם: Arduino אונליין