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.
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