analogReference – הסבר ופרטים

- עמוד זה הוא חלק מהמדריך לפונקציות ארדואינו -

הפונקציה analogReference(mode) קובעת את הקצה העליון של טווח המתחים החשמליים שניתן לקרוא בעזרת הפונקציה analogRead. הקצה התחתון של הטווח הוא תמיד GND.

פרמטרים

mode, מטיפוס uint8_t, מצביע על מקור המתח שיהווה את הקצה העליון של הטווח. הערכים החוקיים עבורו מוגדרים על ידי הקבועים הבאים, שמוגדרים בספריות הליבה של ארדואינו:

  • DEFAULT (ערך 0) – ברירת המחדל, שהיא מתח ההפעלה של לוח הארדואינו (לרוב 5V)
  • EXTERNAL (ערך 1) – מתח ממקור חיצוני, שמחובר לפין AREF של לוח הארדואינו
  • INTERNAL (ערך 2) – ערך קבוע של 1.1V, אך ורק בלוחות שאינם ארדואינו Mega
  • INTERNAL1V1 (ערך 2) – ערך קבוע של 1.1V, אך ורק בלוחות ארדואינו Mega
  • INTERNAL2V56 (ערך 3) – ערך קבוע של 2.56V, אך ורק בלוחות ארדואינו Mega

שימו לב, הגדרת קבועי INTERNAL השונים תלויה בלוח היעד שנבחר בסביבת הפיתוח של ארדואינו. לדוגמה, אם נבחר לוח ארדואינו Uno, הקבועים INTERNAL1V1 ו-INTERNAL2V56 לא יהיו זמינים כלל.

ערך חוזר

אין

דוגמאות

analogReference(EXTERNAL);

הערות

  • אף על פי שפונקציה זו לגיטימית לגמרי, נדיר מאוד לראות קוד ארדואינו שמשתמש בה!
  • הבחירה המתבצעת ב-analogReference תקפה לכל פיני הקלט האנלוגי בארדואינו.
  • אם חובר מתח חיצוני לפין AREF, חובה לקרוא לפונקציה analogReference עם הערך EXTERNAL לפני הקריאה הראשונה ל-analogRead, ואסור לקרוא לה עם כל ערך אחר. אחרת, עלול להיגרם נזק למיקרו-בקר.
  • המתח על פין AREF (שמשמש כערך עליון כשהפרמטר mode הוא EXTERNAL) חייב להיות בטווח שבין GND לבין מתח ההפעלה של לוח הארדואינו, אחרת עלול להיגרם נזק למיקרו-בקר.
  • אם המתח בפין הקלט האנלוגי (הנמדד) גדול מהערך העליון שהוגדר, אך עדיין נמוך או שווה למתח ההפעלה של לוח הארדואינו, התוצאה שתוחזר מהפונקציה analogRead תהיה הערך המרבי – 1023.
  • מאחורי הקלעים, הפונקציה analogReference לא משנה באופן מיידי הגדרות בחומרת המיקרו-בקר אלא רק שומרת בצד הגדרה, שתמומש בעת קריאה ל-analogRead.
  • הערך העליון של המתח, בכל אחת מהאפשרויות של הפרמטר mode, אינו מדויק לחלוטין ועשוי להשתנות מעט בהתאם לחומרה הספציפית, לטמפרטורה ועוד.

קישורים רלוונטיים

בלוג אישי בנושאי מייקינג, תכנות, מיקרו-בקרים ואלקטרוניקה