Thứ Hai, 18 tháng 7, 2022

3 cách nháy một đèn Led có sẵn với Raspberry Pi Pico bằng MicroPython

 Bo mạch Raspberry Pi Pico có một đèn LED xây dựng sẵn, đèn LED này kết nối với chân GP25. Vì thế, khi mới làm quen với lập trình chúng ta có thể điều khiển nhấp náy đèn LED này để hiểu hơn về viết code.



Dưới đây chúng ta sẽ tìm hiểu 3 cách nháy một đèn LED với Raspberry Pi Pico

Cách 1: Sử dụng time.sleep()

from machine import Pin
import time

ledBuiltIn = Pin(25, Pin.OUT)

while True:
    ledBuiltIn.value(1)
    print("Led is on")
    time.sleep(0.5)
   
    ledBuiltIn.value(0)
    print("Led is off")
    time.sleep(0.5)

Cách này có ưu điểm là dễ hiểu, dễ viết mã. Tuy nhiên khi sử dụng sleep thì hệ thống bị tạm dừng, dẫn đến gián đoạn đọc dữ liệu từ một số cảm biến khác (nếu có).

Cách 2: Sử dụng time.ticks_ms()

from machine import Pin
import time

ledBuiltIn = Pin(25, Pin.OUT)

thoiGianNhayLed = 500
batDauTinhGio = time.ticks_ms()
while True:
    if(time.ticks_ms()-batDauTinhGio >=thoiGianNhayLed):
        batDauTinhGio = time.ticks_ms()
        if(ledBuiltIn.value()==1):
            ledBuiltIn.value(0)
            print("Led is off");
        else:
            ledBuiltIn.value(1)
            print("Led is on")

Cách này khắc phục được nhược điểm của cách một, tuy nhiên mã hơi khó hiểu hơn một chút.

Cách 3: Sử dụng Timer

from machine import Pin, Timer
import time

ledBuiltIn = Pin(25, Pin.OUT)

dongHo = Timer()

def nhayLed(timer):
    global ledBuiltIn
    if (ledBuiltIn.value()==1):
        ledBuiltIn.value(0)
        print("Led is off")
    else:
        ledBuiltIn.value(1)
        print("Led is on")
       
dongHo.init(freq=2, mode=Timer.PERIODIC, callback=nhayLed)

Cách này nhấp nháy đèn Led theo chu kỳ định sẵn, không cần viết trong vòng lặp while.



Không có nhận xét nào:

Đăng nhận xét