קריאה אנלוגית ב-ESP32 – מדריך מלא

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

📡

מהי קריאה אנלוגית?

קריאה אנלוגית היא קריאה של ערך משתנה – לא רק 0 או 1, אלא כל ערך שבין 0 לבין 3.3 וולט. בניגוד לקריאה דיגיטלית שיודעת רק לומר "כן" או "לא", הקריאה האנלוגית יודעת לומר בדיוק כמה.

🌡️ טמפרטורה💡 עוצמת אור🔊 עוצמת קול💧 רמת לחות☢️ קרינה🌫️ ריכוז גז
💡

כשאתם מסובבים ידית של וולום, או מחזיקים חיישן טמפרטורה – אלו כולם אות אנלוגי. הם לא סתם "דלוק" או "כבוי" – הם נותנים ערך מדויק.

קריאה אנלוגית לעומת דיגיטלית

חיישן אנלוגי

ערכים אפשריים רבים – מ-0V ועד 3.3V

חיישן דיגיטלי

2

רק שתי אפשרויות: 0 (כבוי) או 1 (דלוק)

חיישן אנלוגי מוציא מתח חשמלי משתנה שמשתנה לפי מה שהוא מודד – בין 0V ל-3.3V. חיישן דיגיטלי לעומתו אומר רק "כן" או "לא".

ה-ESP32 יכול לקרוא גם חיישנים דיגיטליים וגם חיישנים אנלוגיים. לקריאה אנלוגית הוא משתמש ב-ADC המובנה בו.

🔌

כיצד ה-ESP32 קורא אנלוגי?

ה-ESP32 קורא את המתח שמגיע לרגל האנלוגית ומעביר אותו דרך ADC (Analog to Digital Converter) – רכיב פנימי שממיר את המתח האנלוגי למספר דיגיטלי.

⚠️

שים לב! ה-ESP32 לא מחזיר לנו ישר את המתח בוולטים – הוא מחזיר מספר בין 0 ל-4095. מדוע 4095? כי ה-ADC הוא בעל רזולוציה של 12 סיביות (2¹²=4096 ערכים).

מתח בכניסהערך דיגיטלי
0V0
~1.65V2048
3.3V4095
💻

הפקודה analogRead

כדי לקרוא קריאה אנלוגית ב-ESP32, משתמשים בפקודה analogRead. הפקודה מקבלת כפרמטר את מספר הרגל שרוצים לקרוא ממנה.

int analogValue = analogRead(34);

// קורא את המתח מרגל 34
// מחזיר מספר בין 0 ל-4095
ℹ️

ב-ESP32 הרגליים שמתאימות לקריאה אנלוגית: GPIO 34, 35, 36, 39 – אלו רגליים לקריאה בלבד (input only).

⚙️

כיצד מתבצעת הקריאה האנלוגית?

  1. חיישן אנלוגי מוציא מתח חשמלי משתנה שמשתנה לפי מה שהוא מודד

  2. המתח מגיע לרגל האנלוגית של ה-ESP32 (לדוגמה GPIO34)

  3. ה-ADC המובנה ממיר את המתח האנלוגי למספר דיגיטלי בין 0 ל-4095

  4. הפקודה analogRead מחזירה לנו את המספר הזה בתוכנית

  5. אנחנו מחליטים לפי המספר מה מצב החיישן ומה לעשות

🧮

כיצד ממירים קריאה למתח?

אם רוצים לדעת מה המתח האמיתי בוולטים, משתמשים בנוסחה:

מתח=קריאה אנלוגית4095×3.3

דוגמה: אם הקריאה היא 2048, אז: (2048 ÷ 4095) × 3.3 ≈ 1.65 וולט

🎯

מה עושים עם הערך שחישבנו?

אחרי שמרנו את הקריאה האנלוגית למתח, אפשר להשתמש בו כדי להבין את מצב החיישן:

☀️ חיישן אור

מתח גבוה = הרבה אור

🌫️ חיישן גז

מתח גבוה = ריכוז גבוה

☢️ חיישן קרינה

מתח גבוה = קרינה חזקה

💧 חיישן לחות

המתח משתנה לפי לחות

📋 סיכום – מה שלמדנו

כל מה שצריך לזכור על קריאה אנלוגית ב-ESP32:

📡

קריאה אנלוגית היא קריאה של ערך משתנה, ולא רק 0 או 1

🔌

החיישן מוציא מתח חשמלי משתנה לפי מה שהוא מודד

💻

ה-ESP32 קורא בעזרת הפקודה analogRead

🔢

ה-ADC ממיר למספר בין 0 ל-4095

🧮

אפשר להמיר חזרה למתח בעזרת הנוסחה

🎯

לפי הערך קובעים את מצב החיישן

אולי יעניין אותך גם...

הצעה לפתרון מבחן השלמה אלקטרוניקה 2026 סמל שאלון 771101 הנדסאים

הצעה לפתרון מבחן השלמה 771101 – 2026

הצעה לפתרון מלא מבחן השלמה בהנדסת אלקטרוניקה ומחשבים (771101) - אביב 2025. כולל הסברים מפורטים, נוסחאות ופתרונות שלב אחר שלב.

error: © תוכן זה שמור באמצעות זכויות יוצרים, אין אפשרות לבצע העתקה. ©