3.9. מתגים ונגדי משיכה

פלט GPIO מניע חומרה חיצונית. כניסת GPIO היא ההפך: המצלמה קוראת את המתח על פין ומדווחת עליו כ-0 או 1. התקן הכניסה הפשוט ביותר הוא מתג – והפיכתו לקריא באופן אמין דורשת רכיב אלקטרוני אחד בנוסף למתג עצמו.

3.9.1. מתגים וכניסות צפות

מתג הוא מגע מכני: שני חתיכות מתכת הנוגעות זו בזו כאשר המתג סגור ונפרדות כאשר הוא פתוח. מבחינה חשמלית, זהו ההתקן כולו. אין בתוכו מקור מתח; מתג לבדו מספק רק ”מחובר“ או ”מנותק“.

חיווט מתג ישירות בין פין GPIO לאדמה משמעו שהפין הוא:

  • ב-0 V כאשר המתג סגור (כעת מחווט לאדמה).

  • צף כאשר המתג פתוח (מחווט לכלום).

לפין צף אין מתח מוגדר. הכניסה קוראת כל מה שבמקרה נמצא קרוב אליה – צליבה מאותות סמוכים, רעש מהאספקה, אפילו חשמל סטטי באצבע הקרובה לחוט. value() מחזיר תערובות בלתי צפויות של 0 ו-1 פעמים רבות בשנייה.

3.9.2. נגדי משיכה-מעלה ומשיכה-מטה

התיקון הוא נגד משיכה: נגד בעל ערך גבוה (10 kΩ עד 100 kΩ הוא טיפוסי) הקושר את הכניסה למסילה ידועה כאשר המתג פתוח.

Two circuit diagrams side by side. Left: a pull-up circuit with a resistor from the input pin up to the supply and a switch from the input pin down to GND. Right: a pull-down circuit with a resistor from the input pin down to GND and a switch from the input pin up to the supply.

תצורות משיכה-מעלה (שמאל) ומשיכה-מטה (ימין) עבור כניסת מתג.

  • משיכה-מעלה. הנגד קושר את הכניסה למסילת האספקה. כאשר המתג פתוח, רק זרם קטן מטפטף דרך הנגד והפין קורא גבוה. כאשר המתג סגור, הוא מקצר את הפין לאדמה; הפין קורא נמוך. הנגד מגביל את הזרם שאחרת היה זורם מהאספקה לאדמה דרך המתג הסגור.

  • משיכה-מטה. התמונה ההפוכה: הנגד קושר את הכניסה לאדמה, והמתג מתחבר לאספקה. פתוח קורא נמוך, סגור קורא גבוה.

משיכה-מעלה היא המוסכמה הנפוצה יותר – לחצנים ”פעילים-נמוך“. ה-MCU עצמו מספק נגדי משיכה-מעלה ומשיכה-מטה מובנים שניתן לאפשר עם Pin.PULL_UP או Pin.PULL_DOWN, ובכך מסיר את הנגד החיצוני לחלוטין.