class ADC – המרה אנלוגית לדיגיטלית

המחלקה ADC עוטפת ערוץ ממיר אנלוגי-לדיגיטלי בודד הדוגם מתח על פין (או אחד מהערוצים האנלוגיים שעל השבב) ומחזיר את ערכו הבדיד.

דוגמת שימוש:

from machine import ADC, Pin

adc = ADC(Pin("P6"))      # ADC channel on header pin P6 (PA5)
val = adc.read_u16()      # raw reading scaled to 0..65535

בנאים

class machine.ADC(id: int | str | Pin) ADC

בונה אובייקט ADC עבור המקור האנלוגי המזוהה על ידי id. הצורות המקובלות הן:

  • מספר ערוץ שלם (018 ב-STM32, ספציפי-לפורט במקומות אחרים);

  • אובייקט Pin, או מחרוזת פין של לוח כגון "P6" – הפין חייב להיות בעל יכולת אנלוגית;

  • אחד מקבועי הערוץ-הפנימי (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF או CORE_VDD) לקריאת החיישנים הפנימיים של ה-MCU. ב-STM32 בלבד.

מתודות

read_u16() int

דוגמת את הערוץ האנלוגי פעם אחת ומחזירה את התוצאה כמספר שלם בלתי-מסומן בן 16 סיביות (065535). ממירי ADC ברזולוציה נמוכה יותר מיושרים-לשמאל לתוך טווח 16 הסיביות כך שהרזולוציה הגולמית הספציפית-לפורט מוסתרת.

read_uv() int

דוגמת את הערוץ האנלוגי ומחזירה את התוצאה במיקרו-וולט. הקריאה מכוילת מול הסף הפנימי במקומות בהם החומרה תומכת בכך. בפורט mimxrt בלבד.

קבועים

הקבועים שלהלן זמינים רק בפורט STM32; העבירו אותם כארגומנט id כדי לבנות ADC הקורא אחד מהחיישנים האנלוגיים שעל השבב. תוצאת read_u16() היא הקריאה הגולמית בת 16 הסיביות של הערוץ; לערכים מכוילים השתמשו בפונקציות העזר שעל pyb.ADCAll.

VREF: int

ערוץ סף-מתח חיצוני.

CORE_VREF: int

ערוץ סף-מתח פנימי בן 1.21 V (נומינלי) (VREFINT).

CORE_TEMP: int

ערוץ חיישן טמפרטורת-השבב הפנימי.

CORE_VBAT: int

ערוץ מתח סוללת-הגיבוי (VBAT).

CORE_VDD: int

ערוץ פס-אספקת ה-MCU (VDDA).