import machine
import utime
# กำหนดขาที่ใช้งาน
trigger_pin = 4
echo_pin = 5
led_pin = 2
# สร้างออบเจ็กต์สำหรับควบคุมขา GPIO
trigger = machine.Pin(trigger_pin, machine.Pin.OUT)
echo = machine.Pin(echo_pin, machine.Pin.IN)
led = machine.Pin(led_pin, machine.Pin.OUT)
def read_distance():
# ส่งสัญญาณ trigger
trigger.on()
utime.sleep_us(10)
trigger.off()
# รอรับสัญญาณ echo
while echo.value() == 0:
pulse_start = utime.ticks_us()
while echo.value() == 1:
pulse_end = utime.ticks_us()
# คำนวณระยะทาง
pulse_duration = utime.ticks_diff(pulse_end, pulse_start)
distance = (pulse_duration / 2) / 29.1 # ค่าคงที่คำนวณจากความเร็วของเสียง (343 m/s)
return distance
try:
while True:
distance = read_distance()
print("ระยะทาง:", distance, "เซนติเมตร")
# ตรวจสอบระยะทางและควบคุม LED
if distance < 200: # เมื่อระยะทางน้อยกว่า 10 เซนติเมตร
led.on()
else:
led.off()
# รอสักครู่
utime.sleep(1)
except KeyboardInterrupt:
pass
# ปิดออบเจ็กต์ GPIO
trigger.deinit()
echo.deinit()
led.deinit()