python - 树莓派 HC-sr04 远距离控制音量
问题描述
我是编码新手。我有一个脚本检测距离(超声波HC-SR04),如何连接音乐音量?这可能很容易,但我被卡住了。我不知道如何通过子进程连接,我创建了一个脚本来提高和降低音乐的音量,并希望将其连接到与人类的距离
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
import signal
import sys
# use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BCM)
# set GPIO Pins
pinTrigger = 23
pinEcho = 24
def close(signal, frame):
print("\nTurning off ultrasonic distance detection...\n")
GPIO.cleanup()
sys.exit(0)
signal.signal(signal.SIGINT, close)
# set GPIO input and output channels
GPIO.setup(pinTrigger, GPIO.OUT)
GPIO.setup(pinEcho, GPIO.IN)
#GPIO.setup(pinTrigger2, GPIO.OUT)
#GPIO.setup(pinEcho2, GPIO.IN)
#GPIO.setup(pinTrigger3, GPIO.OUT)
#GPIO.setup(pinEcho3, GPIO.IN)
while True:
# set Trigger to HIGH
GPIO.output(pinTrigger, True)
# set Trigger after 0.01ms to LOW
time.sleep(0.00001)
GPIO.output(pinTrigger, False)
startTime = time.time()
stopTime = time.time()
#subProcess.call(["/usr/bin/mpg321","0001.mpr.mp3"])
# speichert die startzeit
while 0 == GPIO.input(pinEcho):
startTime = time.time()
# speichert die ankunftszeit
while 1 == GPIO.input(pinEcho):
stopTime = time.time()
# zeitunterschied zwischen ankunft und start
TimeElapsed = stopTime - startTime
# multipliziert mit der Schallgeschwindigkeit (34300 cm/s)
# und durch 2, weil der Schall hin und zurück geht
distance = (TimeElapsed * 34300) / 2
print("Distance Sensor 1: %.1f cm" % distance)
time.sleep(1)
dist = distance
if(dist <= 0):
subProcess.call(["/home/pi/volumeup.py]", stdout=devnull, shell=False)
if(dist > 300):
subProcess.call(["/home/pi/volumedown.py"], stdout=devnull, shell=False)
解决方案
推荐阅读
- javascript - 减少方法 Javascript
- javascript - 获取不同语言的千位数字分隔符Angular
- php - PHP / SQL Server:PHP注意:未定义索引:和PHP注意:未定义变量:
- spring - 表单验证返回白标错误页面
- java - HashMap 抛出不需要的空指针异常
- powershell - 自建powershell脚本
- react-native - React Native 分页和 React 导航问题
- amazon-web-services - 如何使用 API 网关设置可公开访问的 API 调用?
- javascript - Youtube 嵌入代码是在 Javascript 或 Jquery 中使用 Regex 进行验证
- vis.js - 分层布局的 Vis.js 垂直节点位置