באחד מהשיעורים הקודמים השתמשנו בכפתור להפעיל נורה, כאשר הכפתור היה לחוץ הנורה דלקה
וכאשר הכפתור היה חופשי הנורה הייתה כבויה. אבל השימוש היותר מוכר לנו עם כפתורים הוא שלחיצה
אחת תדליק את הנורה ולחיצה נוספת תכבה אותה, אך כדי לעשות זאת צריך לפתור כמה בעיות בדרך.
המחשבה הראשונה שעולה לנו בראש היא לרשום קוד שבודק מה מצב הכפתור וברגע שהוא משתנה
מלא לחוץ ללחוץ ישר נדליק/נכבה את הנורה עד הלחיצה הבאה. הבעיה היא שלחיצה על כפתור לא נראת
מאחורי "הקלעים" כל כך פשוטה כמו שזה נשמע. ברגע שאנחנו לוחצים חשמל מתחיל לזרום דרך הכפתור
וישנם מספר גורמים שיכולים לגרותם לזרם הזה להפסיק לאלפית השניה אפילו שהכפתור לחוץ, וגם כאשר
אנחנו עוזבים את הכפתור לאלפית השניה עלול לעבור זרם חשמלי גם כאשר הכפתור לא לחוץ. כל אלו
יגרמו לקוד שלנו לא לעבוד כמו שצריך, לכן הוסיפו בקוד אלמנת של זמן. הארדואינו סופר לכמה זמן הכפתור
היה לחוץ/לא לחוץ - ורק אם מדובר בזמן הארוך מ 50 אלפיות השניה הוא ישנה את מצב הנורה.
נטען את הדוגמא Debounce בתוכנה של ארדואינו, לרכיב רת המעגל לפי התרשים שמופיע בעמוד הדוגמא
באתר של ארדואינו.
נעלה את הקוד לארדואינו ונלחץ על הכפתור - נראה האם הקוד עובד. נעבור שורה שורה ונראה מה היא עושה.
נכיר פעולה חדשה millis() הפעולה מחזירה ערך מספרי שמייצג כמה זמן עבר מרגע הפעלת הארדואינו.