คลาส LED -- การควบคุม LED บนบอร์ดแบบพกพา

คลาส LED เป็น wrapper บาง portable รอบ machine.Pin ที่ขับ LED บอร์ดที่มีชื่อ โดยซ่อนความแตกต่างในการต่อวงจรแบบ active-low/active-high ระหว่างบอร์ด มาเป็น frozen Python module ของ OpenMV firmware (ดู 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()

Constructors

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

สร้างออบเจ็กต์ LED ที่ผูกกับ LED ที่ระบุโดย pin_name pin_name คือสตริง LED บอร์ด OpenMV ("LED_RED", "LED_GREEN", "LED_BLUE", "LED_IR" -- ชุดที่แน่นอนขึ้นอยู่กับ cam) หรือออบเจ็กต์ Pin

Constructor จะบันทึกว่า LED ต่อวงจรแบบ active-low หรือ active-high (โดยใช้ boardname() เพื่อค้นหาแนวทาง active-level สำหรับบอร์ดปัจจุบัน) ดังนั้นผู้เรียกจึงส่งระดับ on/off แบบ logic เสมอโดยไม่ต้องกังวลเรื่องขั้ว

Methods

on() None

ขับ LED ไปยังสถานะเปิด

off() None

ขับ LED ไปยังสถานะปิด

toggle() None

สลับสถานะปัจจุบันของ LED

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

รับหรือตั้งค่าสถานะ LED

เมื่อไม่มีอาร์กิวเมนต์ ให้คืนค่าสถานะ logic ปัจจุบัน (0 = ปิด, 1 = เปิด)

เมื่อมีอาร์กิวเมนต์ v ตัวเดียว ให้ตั้ง LED เป็นสถานะนั้น ไดรเวอร์จะ XOR v กับแนวทาง active-level ของบอร์ด ทำให้ 1 หมายถึง "เปิด" เสมอไม่ว่าขั้วจะเป็นอย่างไร

boardname() str

คืนค่าสตริงชื่อบอร์ด (คำนำหน้าของ os.uname().machine ก่อน " with ") ใช้ภายในเพื่อเลือกแนวทาง active-level ที่ถูกต้องสำหรับ LED