1 图纸
图2 接线
线路3.程序1
from gpiozero import DistanceSensor
from time import sleep
from pythonosc import osc_message_builder
from pythonosc import udp_client
sensor = DistanceSensor(echo = 1,trigger =16)
sender = udp_client.SimpleUDPClient('127.0.0.1',4559)
while True:
pitch = round(sensor.distance *100 +30)
print(pitch)
sender.send_message('/play_this',pitch)
sleep(0.1)
代码2:
import RPi.GPIO as GPIO
import time
from pythonosc import osc_message_builder
from pythonosc import udp_client
TRIG = 16
ECHO = 1
GPIO.setmode(GPIO.BCM)
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG,True)
time.sleep(0.00001)
GPIO.output(TRIG,False)
sender = udp_client.SimpleUDPClient('127.0.0.1',4559)
try:
while GPIO.input(ECHO)==0:
pass
start_time = time.time()
while GPIO.input(ECHO)==1:
pass
end_time =time.time()
distance = 17150*time
pitch = round(distance*100+30)
sender.send_message('/play_this',pitch)
except Exception:
print('error')
finally:
GPIO.cleanup()
网友评论