Klasse LED – portable Onboard-LED-Steuerung

Die Klasse LED ist ein dünner, portabler Wrapper um machine.Pin, der eine benannte Board-LED ansteuert und dabei den Unterschied der Active-Low-/Active-High-Verdrahtung zwischen Boards verbirgt. Sie wird von der OpenMV-Firmware als eingefrorenes Python-Modul ausgeliefert (siehe scripts/libraries/machine.py) und ist daher auf jedem von OpenMV unterstützten Board verfügbar, unabhängig vom Port.

Die LED wird als einfacher Ein/Aus-GPIO angesteuert; es gibt keine PWM-Intensitätssteuerung. LEDs, die an PWM-fähige Pins verdrahtet sind, steuern Sie stattdessen direkt über PWM.

Anwendungsbeispiel:

from machine import LED

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

Konstruktoren

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

Konstruiert ein LED-Objekt, das an die durch pin_name identifizierte LED gebunden ist. pin_name ist entweder ein OpenMV-Board-LED-String ("LED_RED", "LED_GREEN", "LED_BLUE", "LED_IR" – der genaue Satz hängt von der Cam ab) oder ein Pin-Objekt.

Der Konstruktor erfasst, ob die LED active-low oder active-high verdrahtet ist (mithilfe von boardname(), um die Active-Level-Konvention für das aktuelle Board nachzuschlagen), sodass Aufrufer stets logische Ein/Aus-Pegel übergeben, ohne sich um die Polarität kümmern zu müssen.

Methoden

on() None

Schaltet die LED in ihren Ein-Zustand.

off() None

Schaltet die LED in ihren Aus-Zustand.

toggle() None

Kehrt den aktuellen Zustand der LED um.

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

Liest oder setzt den LED-Zustand.

Ohne Argument wird der aktuelle logische Zustand zurückgegeben (0 = aus, 1 = ein).

Mit einem einzelnen Argument v wird die LED auf diesen Zustand gesetzt. Der Treiber verknüpft v per XOR mit der Active-Level-Konvention des Boards, sodass 1 unabhängig von der Polarität immer „ein“ bedeutet.

boardname() str

Gibt den Board-Namen-String zurück (das Präfix von os.uname().machine vor " with "). Wird intern verwendet, um die richtige Active-Level-Konvention für die LED auszuwählen.