3.5. Class LED

Perangkat keras paling sederhana pada kamera adalah LED on-board-nya. Sebagian besar board memiliki LED RGB (merah, hijau, biru). machine.LED adalah class khusus untuk mengendalikannya; tidak ada nomor pin, tidak ada resistor, tidak ada rangkaian -- pencarian, pembatasan arus, dan pengkabelan ditangani oleh kamera itu sendiri.

import time
from machine import LED

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

"Hello world" perangkat keras yang lengkap: impor class, buat instance dengan nama warna, nyalakan, tunggu, matikan. LED terlihat menyala selama jeda lima detik.

red.off() penutup bersimetri dengan red.on() pembuka dan membuat pembersihan menjadi eksplisit. LED on-board juga direset secara otomatis ketika skrip keluar. Seiring pertumbuhan skrip, mengandalkan pembersihan saat skrip keluar menjadi rapuh; menjadikan setiap .on() berpasangan dengan .off() eksplisit adalah kebiasaan yang menjaga skrip panjang tetap dapat diprediksi.

3.5.1. Konstruktor dan metode

Konstruktor menerima salah satu dari "LED_RED", "LED_GREEN", atau "LED_BLUE". Setiap instance mengekspos empat metode:

  • on() -- menyalakannya.

  • off() -- mematikannya.

  • toggle() -- membalik status saat ini.

  • value() -- tanpa argumen, mengembalikan status saat ini (0 atau 1); dengan satu argumen, menetapkannya.

Sebuah blinker, menggunakan pola main-loop:

import time
from machine import LED

led = LED("LED_RED")

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

Gunakan LED on-board untuk keperluan indikator dan status: detak jantung yang berkedip setiap detik, kilat merah saat terjadi kesalahan, denyut hijau ketika pembacaan sensor berada dalam rentang.