![](/img/trans.png)
[英]Typewriter effect in discord.py (i used google translate to ask this question, sry for any mistakes)
[英]I want to know if I any mistakes?
我對 Jsn-sr04t 防水超聲波傳感器有疑問,知道樹莓派零 W1 中的連接做得很好,因為它已激活,但讀數完全錯誤,引腳輸入正確,但這個似乎有數據輸入錯誤。 我在同一個傳感器 model 上使用了 python 中的幾個程序
PD:我知道這是可行的,因為我在 arduino mega 上對其進行了測試,並且傳感器工作正常
import RPi.GPIO as GPIO
import os
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO_TRIGGER = 10
GPIO_ECHO = 8
TRIGGER_TIME = 0.00001
MAX_TIME = 0.004 # max time waiting for response in case something is missed
GPIO.setup(GPIO_TRIGGER, GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Echo
GPIO.output(GPIO_TRIGGER, False)
def measure():
# Pulse the trigger/echo line to initiate a measurement
GPIO.output(GPIO_TRIGGER, True)
time.sleep(TRIGGER_TIME)
GPIO.output(GPIO_TRIGGER, False)
# ensure start time is set in case of very quick return
start = time.time()
timeout = start + MAX_TIME
while GPIO.input(GPIO_ECHO) == 0 and start <= timeout:
start = time.time()
if(start > timeout):
return -1
stop = time.time()
timeout = stop + MAX_TIME
# Wait for end of echo response
while GPIO.input(GPIO_ECHO) == 1 and stop <= timeout:
stop = time.time()
if(stop <= timeout):
elapsed = stop-start
distance = float(elapsed * 34300)/2.0
else:
return -1
return distance
if __name__ == '__main__':
try:
while True:
distance = measure()
if(distance > -1):
print("Measured Distance = %.1f cm" % distance)
else:
print("#")
time.sleep(0.5)
except KeyboardInterrupt:
print("Measurement stopped by User")
GPIO.cleanup()
不斷 OUTPUT:“#”
似乎是 GPIO 設置的問題或時序問題,因為相同的設置適用於 Arduino。
如果它仍然不起作用,那么您還可以查看備用 output 選項,如串行 UART、PWM 等。您可以在此處獲取更多詳細信息 -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.