Заранее извиняюсь, так как я новичок в программировании. Я пишу простую программу, используя python на rasbperry pi. Предполагается, что каждый раз при обнаружении движения будет воспроизводиться случайный файл из списка файлов WAV, содержащихся в папке. Изначально у меня были «проигрывать случайный код файла» и «код детектора движения» в двух отдельных файлах, и каждый из них работал нормально. Однако при их объединении файл wav воспроизводится только при первом обнаружении движения (однако каждый раз, когда обнаруживается движение, он ДЕЙСТВИТЕЛЬНО печатает «Воспроизведение звука». Tkinter присутствует, поскольку у меня есть планы на будущее добавить кнопку записи в добавляю новые звуки через небольшой сенсорный экран, который у меня тоже есть. Я уверен, что это что-то простое, и пока я не выясню, что делаю не так, я продолжаю смотреть python обучающие программы. Код ниже
from tkinter import *
import glob
import random
import time
import simpleaudio as sa
from gpiozero import LED
from gpiozero import MotionSensor
green_led = LED(17)
pir = MotionSensor(4)
sound_list = glob.glob("sounds/*.wav")
sound_item = random.choice(sound_list)
wave_obj = sa.WaveObject.from_wave_file(sound_item)
play_obj = wave_obj.play()
green_led.off()
while True:
pir.wait_for_motion()
print("Motion Detected")
green_led.on()
play_obj.wait_done() #Wait until sound has finished playing
print("Playing Sound")
pir.wait_for_no_motion()
green_led.off()
print("No Motion")