借鉴论坛里(MicroPython 驱动 HC-SR04 超声波传感器)tick_us()的用法,在microbit下验证可以用,代码如下:
代码: 全选
from microbit import *
import time
display.show(Image.ARROW_W)
def distance():
distance = 0
pin1.write_digital(1)
time.sleep_us(10)
pin1.write_digital(0)
while pin8.read_digital() == 0:
pass
while pin8.read_digital() == 1:
ts = time.ticks_us()
while pin8.read_digital() == 1:
pass
te = time.ticks_us()
tc = te - ts
distance = round((tc*170)/10000, 2)
return distance
while True:
dist = distance()
if button_a.was_pressed():
display.scroll('%s cm' % dist)
display.show(Image.ARROW_W)
sleep(2)