מה נלמד כאן
- מבנה הלחצן ואיזו רגל מחוברת לאיזו
- מעגל Pull-Up
Pin.IN— קריאה במקום כתיבה
קלט
עד עכשיו רק שלחנו פקודות. עכשיו נתחיל לקלוט.

הידע שצריך
1. הלחצן והמלכודת שבו

לוחצים → המגעים נסגרים. משחררים → נפתחים.

⚠️ הפכו את הלחצן ותראו קו אופקי. שתי הרגליים המקבילות לקו כבר מחוברות — לפני שלחצתם על שום דבר.
החיבור הנכון הוא באלכסון. זו הטעות הנפוצה ביותר: מחברים שתי רגליים שכבר מחוברות, והמעגל תמיד סגור.
2. מעגל Pull-Up
מה קורא פין שלא מחובר לכלום? ערכים אקראיים — הוא "צף" וקולט רעש חשמלי.

Pull-Up פותר את זה: נגד בין הפין ל-VCC נותן ערך ברירת מחדל יציב.
| המצב | הפין קורא |
|---|---|
| לא לחוץ | 1 (HIGH) |
| לחוץ | 0 (LOW) |
⚠️ לחיצה נותנת 0, לא 1. מבלבל בהתחלה, וזו התנהגות תקנית.
3. Pin.IN וקריאה
button = Pin(5, Pin.IN)
state = button.value()
אותו אובייקט Pin מהשיעורים הקודמים — רק שהפעם Pin.IN במקום Pin.OUT, ו-value() בלי פרמטר קוראת במקום לכתוב.
זו אלגנטיות של פייתון:
value(1)כותב,value()קורא. שיטה אחת, שני שימושים.
הניסוי
המטרה: להציג את מצב הלחצן ב-Shell.
רשימת רכיבים
| הרכיב | כמות |
|---|---|
| לוח ESP32 | 1 |
| לוח ניסוי 400 נקודות | 1 |
| לחצן | 1 |
| נגד 10kΩ | 1 |
10kΩ ולא 220Ω — הנגד כאן מייצב מתח, לא מגן על רכיב.
התרשים החשמלי

החיבור

הקוד
from machine import Pin
import time
BUTTON_PIN = 5
button = Pin(BUTTON_PIN, Pin.IN) # הפעם כניסה
while True:
button_state = button.value() # קוראים
print(button_state)
time.sleep(0.01)
מה אמור לקרות

- משוחרר →
1 - לחוץ →
0
נסו בעצמכם
- שנו ל-
time.sleep(0.2). למה הפלט קריא יותר? - שלבו עם שיעור 1: לחיצה מדליקה נורית.
- הסירו את נגד ה-Pull-Up והריצו. מה קורה לערכים?
- ב-Shell:
button = Pin(5, Pin.IN)ואזbutton.value()בכל לחיצה. - חברו את הלחצן דרך שתי רגליים מקבילות לקו. מה קורה?


