3.5. Lớp LED

Phần cứng đơn giản nhất trên camera là các đèn LED tích hợp sẵn. Hầu hết các bo mạch đều có LED RGB (đỏ, xanh lá, xanh dương). machine.LED là lớp chuyên dụng để điều khiển chúng; không cần số chân, điện trở hay mạch điện -- việc tra cứu, giới hạn dòng và nối dây được xử lý bởi camera.

import time
from machine import LED

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

"Hello world" phần cứng hoàn chỉnh: nhập lớp, khởi tạo một thực thể với tên màu, bật lên, chờ, tắt xuống. LED sáng lên trong thời gian ngủ năm giây.

Lệnh red.off() ở cuối đối xứng với red.on() ở đầu và làm cho việc dọn dẹp tường minh. Các LED tích hợp cũng tự động đặt lại khi tập lệnh thoát. Khi tập lệnh phát triển lớn hơn, việc dựa vào dọn dẹp khi thoát tập lệnh trở nên dễ vỡ; thói quen ghép mỗi .on() với một .off() tường minh giúp các tập lệnh dài có thể dự đoán được.

3.5.1. Hàm tạo và các phương thức

Hàm tạo nhận một trong các giá trị "LED_RED", "LED_GREEN" hoặc "LED_BLUE". Mỗi thực thể cung cấp bốn phương thức:

  • on() -- bật.

  • off() -- tắt.

  • toggle() -- đảo trạng thái hiện tại.

  • value() -- không có đối số, trả về trạng thái hiện tại (0 hoặc 1); với một đối số, thiết lập trạng thái.

Một bộ nhấp nháy, sử dụng mẫu vòng lặp chính:

import time
from machine import LED

led = LED("LED_RED")

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

Sử dụng các đèn LED tích hợp sẵn cho mục đích chỉ thị và trạng thái: nhịp tim nhấp nháy mỗi giây, đèn đỏ nháy khi có lỗi, đèn xanh nháy khi giá trị cảm biến nằm trong phạm vi.