מחלקה LED – בקרה ניידת של נורית LED על הלוח

המחלקה LED היא עטיפה ניידת ודקה סביב machine.Pin שמנהלת נורית LED בעלת שם על הלוח, ומסתירה את הבדל החיווט active-low / active-high בין לוחות. היא מסופקת כמודול Python קפוא על ידי קושחת OpenMV (ראו scripts/libraries/machine.py) ולכן זמינה בכל לוח הנתמך על ידי OpenMV, ללא תלות בפורט.

ה-LED מונע כ-GPIO פשוט של הדלקה/כיבוי; אין בקרת עוצמה באמצעות PWM. עבור נוריות LED המחווטות לפינים שתומכים ב-PWM, הניעו אותן ישירות באמצעות PWM.

דוגמת שימוש:

from machine import LED

red = LED("LED_RED")
red.on()
red.toggle()
red.off()

בנאים

class machine.LED(pin_name: str | Pin) LED

בנו אובייקט LED הקשור ל-LED שמזוהה על ידי pin_name. pin_name הוא או מחרוזת LED של לוח OpenMV ("LED_RED", "LED_GREEN", "LED_BLUE", "LED_IR" – הסט המדויק תלוי במצלמה) או אובייקט Pin.

הבנאי רושם האם ה-LED מחווט active-low או active-high (באמצעות boardname() כדי לאתר את מוסכמת הרמה הפעילה של הלוח הנוכחי) כך שהקוראים תמיד מעבירים רמות הדלקה/כיבוי לוגיות מבלי לדאוג לקוטביות.

שיטות

on() None

מניעים את ה-LED למצב מודלק.

off() None

מניעים את ה-LED למצב מכובה.

toggle() None

הופכים את המצב הנוכחי של ה-LED.

value(v: int | None = None, /) int | None

מקבלים או מגדירים את מצב ה-LED.

ללא ארגומנט, מחזיר את המצב הלוגי הנוכחי (0 = מכובה, 1 = מודלק).

עם ארגומנט יחיד v, מגדירים את ה-LED למצב זה. מנהל ההתקן מבצע XOR בין v למוסכמת הרמה הפעילה של הלוח כך ש-1 תמיד ”מודלק“ ללא תלות בקוטביות.

boardname() str

מחזיר את מחרוזת שם הלוח (הקידומת של os.uname().machine לפני " with "). משמש פנימית לבחירת מוסכמת הרמה הפעילה הנכונה עבור ה-LED.