我正在尝试让 NodeMCU ESP8266 开发板与 HC SR04 超声波传感器一起使用。我不断得到“0”的读数,这不是现实。
我将传感器的接地和 5v 引脚连接到 5v 电源,以及 GPIO 引脚 4 和 5 上的 Echo 和 Trigger 引脚。理论上,一切都应该正常工作,但我只是一直得到“0”。也许我的代码有问题?见下文:
import machine
import sys
import time
time.sleep(1) #Just for everything to settle down
while 1:
pinTrigger = machine.Pin(5, machine.Pin.OUT) #defining the pins
pinEcho = machine.Pin(4, machine.Pin.IN) #defining the pins
pinTrigger.high()
time.sleep(0.00001)
pinTrigger.low()
time.sleep(0.5)
start = time.time()
stop = time.time()
while pinEcho ==0:
start = time.time() #Starting the time when sending out the signal
while pinTrigger ==1:
stop = time.time() #Stopping the time when the signal comes back
elapsed = stop-start #working out the time.
distance = elapsed * 34000 #multiply by speed of sound to get distance
distance = distance / 2 #divide by 2 becuase it was there and back
print ("Distance : %.1f" % distance)
sys.exit()
请帮忙。