from machine import Pin, time_pulse_us
import time
# Khai báo chân GPIO
trig = Pin(12, Pin.OUT) # Chân Trig của cảm biến siêu âm
echo = Pin(14, Pin.IN) # Chân Echo của cảm biến siêu âm
buzzer = Pin(27, Pin.OUT) # Chân Buzzer
led = Pin(5, Pin.OUT) # Chân đèn LED
def measure_distance():
# Phát tín hiệu từ Trig
trig.off()
time.sleep_us(2)
trig.on()
time.sleep_us(10)
trig.off()
# Đo độ rộng xung Echo (thời gian nhận tín hiệu phản hồi)
duration = time_pulse_us(echo, 1, 1000000) # Đọc thời gian xung Echo lên tới 1 giây (timeout)
# Tính toán khoảng cách (tính bằng cm)
distance = (duration * 0.0343) / 2
return distance
while True:
distance = measure_distance()
# In khoảng cách đo được
print('Khoảng cách: {:.2f} cm'.format(distance))
# Nếu khoảng cách nhỏ hơn 50 cm, bật Buzzer và đèn LED
if distance < 50:
buzzer.on()
led.on()
else:
buzzer.off()
led.off()
time.sleep(1) # Chờ 1 giây trước khi thực hiện lại