Я работаю над проектом Raspberry pi, где я выводю различные сигналы тревоги через динамик, используя I2 C между Pi и аудиоусилителем.
Проблема в том, что после ввода всего требуется 10 секунд до того, как я услышу сигнал будильника из динамика. Это почему? Может ли кто-нибудь предложить способ устранения задержки?
Код python следующий:
import smbus
# I2C address for the amplifier
MAX9744_I2CADDR = 0x4B
REG_ADDR = 0x10010111
bus = smbus.SMBus(1)
class MAX9744(object):
global MAX9744_I2CADDR
i2c = None
def __init__(self, address=MAX9744_I2CADDR):
self.address = address
self.i2c = bus
def set_volume(self, address_reg, value):
assert value >= 0 and value <=64, 'Volume must be between 0 and 63'
# send the volume
bus.write_byte_data(self.address, address_reg, value & 0b111111)
amp = MAX9744()
vol = input('input the desired volume')
print('setting volume to {0} '.format(vol))
amp.set_volume(REG_ADDR , vol)
priority = input('What is the priority level? 1.High 2.Med 3.Low')
import pygame as pg
# start the mixer
pg.mixer.init()
if priority == 3:
pg.mixer.music.load("med_priority.wav")
pg.mixer.music.play(loops=-1)
elif priority == 2:
pg.mixer.music.load("high_priority.wav")
pg.mixer.music.play(loops=-1)
elif priority == 1:
pg.mixer.music.load("low_priority.wav")
pg.mixer.music.play(loops=-1)
#clock = pg.time.Clock()
#clock.tick()
# play
while pg.mixer.music.get_busy():
continue