用树莓派加声音强度检测传感器来用ptgame自动播放声音的问题

liu50 2019-10-21127 次点击

我在树莓派上接入了一个声音强度传感器,有声音时输出低电平,无声音是输出高电平,低电平时树莓派用ptgame播放一个MP3文件,高电平时暂停播放,再有低电平输入时停止暂停播放。
因为我想达到一个MP3文件连续播放的状态,而并不是每次有低电平输入时都从头播放,所以我用count计数器,第一次接受到低电平时播放音乐,然后break,跳入下一个“暂停,停止暂停”的循环。
但是却不起作用,我并不知道原因,可能是逻辑错误,有哪位大佬帮我检查一下,或者还有更好的别的替代方法,谢谢!!
import RPi.GPIO as GPIO
from gpiozero import Buzzer
import time
import pygame

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(4,GPIO.IN) #设置针脚4为声音传感器的输入接口
GPIO.setup(25,GPIO.OUT) #设置针脚25为二极管正极输出接口
file=r'test.mp3'
pygame.mixer.init()
count=0

while True:

for i in range(100):
count += 1
if count<=1:
if GPIO.input(4)==0:#捕捉到声音信号时输出低电平
GPIO.output(25,GPIO.HIGH)#点亮二极管
track = pygame.mixer.music.load(file)
pygame.mixer.music.play()
time.sleep(10)
print('1')
else:
GPIO.output(25,GPIO.LOW)
break

if GPIO.input(4)==0:#捕捉到声音信号时输出低电平
GPIO.output(25,GPIO.HIGH)#点亮二极管
pygame.mixer.music.unpause()#unpasue the music
print('2')
time.sleep(5)
else:
pygame.mixer.music.pause()#pause the music
GPIO.output(25,GPIO.LOW)
print('3')


#GPIO.cleanup()

收藏 ♥ 感谢
Spoony 小组长 2019-10-21 
代码建议放在 github 上,贴个链接。
Python 没有缩进没法看。

另外请描述一下哪一部分不起作用?里面的 print 埋点也不起作用吗?

登录注册 后可回复。

这里由以下店铺的技术人员在此免费提供能力范围内的技术支持。

NXEZ 创客商店(淘宝)

排障问题发帖注意事项:
1、请尽可能将故障说明清晰,列明例如使用环境和做了哪些操作和配置等。
2、排障中已经做了哪些尝试,如果能在问题中进行描述将极大提高解决问题的效率。
3、对于需要自身完成知识积累才能解决的问题,请自行通过搜索引擎寻找资料学习。