3.5. LED 클래스

카메라에서 가장 단순한 하드웨어는 온보드 LED입니다. 대부분의 보드에는 RGB LED(빨강, 초록, 파랑)가 있습니다. machine.LED는 이를 제어하기 위한 전용 클래스입니다. 핀 번호도, 저항기도, 회로도 필요 없습니다 – 조회, 전류 제한, 배선이 모두 카메라 자체에서 처리됩니다.

import time
from machine import LED

red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()

완전한 하드웨어 “hello world”: 클래스를 임포트하고, 색상 이름으로 인스턴스를 생성하고, 켜고, 기다리고, 끕니다. LED는 5초 동안의 sleep 중에 눈에 띄게 켜져 있습니다.

마지막의 red.off()는 처음의 red.on()과 대칭을 이루며 정리(cleanup)를 명시적으로 만듭니다. 온보드 LED는 스크립트가 종료될 때 자동으로 리셋되기도 합니다. 스크립트가 커지면 스크립트 종료 시의 정리에 의존하는 것은 취약해집니다. 각 .on()을 명시적인 .off()와 짝지어 두는 것은 긴 스크립트를 예측 가능하게 유지하는 습관입니다.

3.5.1. 생성자와 메서드

생성자는 "LED_RED", "LED_GREEN", "LED_BLUE" 중 하나를 받습니다. 각 인스턴스는 네 가지 메서드를 제공합니다:

  • on() – 켭니다.

  • off() – 끕니다.

  • toggle() – 현재 상태를 반전합니다.

  • value() – 인수가 없으면 현재 상태(0 또는 1)를 반환하고, 인수가 하나 있으면 그 값을 설정합니다.

메인 루프 패턴을 사용한 깜박이 예제:

import time
from machine import LED

led = LED("LED_RED")

while True:
    led.toggle()
    time.sleep_ms(500)

온보드 LED는 표시 및 상태 용도로 사용하세요: 매초 깜박이는 하트비트, 오류 시의 빨간 점멸, 센서 측정값이 범위 안에 있을 때의 초록 펄스 등이 그 예입니다.