כפתור לחיצה ריגעית - Push Button
בכל מערכת בקרה תמיד נמצא כפתורי הפעלה שונים. בסמרטפון יש כפתורים להדלקה וכיבוי, או לשליטה בעוצמת הקול. בטלויזיה יש מגוון כפתורים בשלט. במזגן יש כפתורים לכיוון הטמפרטורה. ניתן להביא עוד הרבה דוגמאות, מה שממחיש שהכפתור משמש כרכיב מרכזי במימוש של כל ממשק משתמש של מערכת אלקטרונית.
תפקידו של המפסק לחבר או לנתק את המעגל החשמלי בו הוא מורכב. המפסק הוא רכיב בקרה המאפשר לשלוט על אספקת המתח/זרם לצרכנים.
ניתן לחלק את המפסקים השונים לשתי קבוצות: (1) מפסקים שבהפעלתם עוברים ממצב אחד לשני TOGGLE ולא חוזרים למצב הראשון עם שחרור המפסק, (2) מפסקים שבהפעלתם עוברים ממצב אחד לשני אך חוזרים למצב הראשון עם שחרור המפסק.
סוגי מפסקים:
Toggle
Slide
Momentary
Push Button
Rocker
Push w latch
מפסק PB, מפסק לחיצה ריגעית, משנה את מצבו בלחיצה ושחרור הכפתור. יש מפסקים מסוג רגיל פתוח (הכי נפוצים) שמנתקים את המעגל החשמלי כאשר הם משוחררים - Normally Open או בקיצור NO. יש מפסקים מסוג רגיל סגור שמנתקים את המעגל החשמלי כאשר לוחצים על הכפתור - Normally Closed , או בקיצור NC.
NC - רגיל סגור
NO - רגיל פתוח
לכפתור PB ארבע רגליים. 2 זוגות רגליים בכל צד של המפסק. בתמונה ניתן לראות את מבנה המפסק והרגליים שלו. כל זוג רגליים מקוצרות (רגליים 1 ו-4 מחוברות באופן פיזי על ידי מוליך, וגם רגליים 2 ו-3) דבר המאפשר לנו להתחבר למפסק משני צדדיו.
כפתור PB מחובר לבקר על ידי שלושה חיבורים: 5V, פין דיגיטלי, חיבור לנגד 10K אוהם שממשיך לאדמה GND. ראו שרטוט של החיבור. הנגד אחראי להוריד את המתח הנמדד בפין הדיגיטלי לאפס במצב שהכפתור משוחרר. צורת חיבור זו נקראת PULL DOWN כי הנגד מתחבר לאדמה.
כדי לקרוא את מצב הכפתור בתוכנית הבקר, משתמשים בפונקציה digitalRead. פונקציה זו מודדת את המתח על הפין הדיגיטלי אליו מחובר המפסק ומחזירה 1 - HIGH אם המפסק לחוץ, 0 - LOW אם המפסק משוחרר.
הסבר מפורט ניתן למצוא במצגת המצורפת. תוכנית דוגמא ניתן למצוא בסביבת הפיתוח של ארדואינו בדוגמאות של DIGITAL נמצאת תוכנית שנקראת BUTTON. בתוכנית זו מדליקים ומכבים נורת LED עם לחיצה ושחרור של הכפתור
תכנות הבקר
משתנים - לכל רכיב קלט מגדירים שני משתנים - משתנה לאחסון מספר הפין אליו מחברים את הנורה, ומשתנה לאחסון הערך הנקלט מהחיישן.
#define pbPin 2
int pbValue = 0;
SETUP - הגדרת סוג הפין כרכיב פלט
pinMode(pbPin,INPUT);
קריאת ערך החיישן - קריאת המתח מהפין אליו החיישן מחובר וקבלת ערך מותאם HIGH/LOW
pbValue = digitalRead(pbPin);
בדיקת הערך ופעולה - שימוש בתנאי לוגי לקבלת החלטה מה לבצע
if (pbValue == HIGH){
digitalWrite(ledPin,HIGH);
}
else{
digitalWrite(ledPin,LOW);
}
תוכנית דוגמא לכפתור ניתן לראות בסביבת הפיתוח של ארדואינו מתוך
תפריט examples->digital->button , או התוכנית שלפניכם שמדליקה נורה רק אם שני הכפתורים לחוצים (לחצו על התמונה להורדת הקוד)