Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

renoshnik
2017-04-24 18:30:11

Для реализации проекта взял Arduino Pro-Mini, адаптер для microSD и usb-uart адаптер

bbf25cas-960.jpg

С этим девайсом можно озвучить пять входов.
Для каждого входа можно задать количество повторений и длительность паузы.
Входы работают по лог.0 (замыкание на массу)
Аудио файлы должны быть в формате WAV PCM Mono 16-32kHz 8bit
имена файлов задавайте 2.wav, 3.wav, 4.wav, 5.wav, 6.wav
так же присутствует выход для управления питанием УНЧ.

Как все работает и как это запрограммировать самостоятельно для своих условий смотрите в видео…


прошивка тут  sound_box_05.hex



Зачастую функция озвучки критически ограничивает доступный объем памяти для основной программы, снижает быстродействие или конфликтует по прерываниям.
Поэтому было решено сделать базовый блок озвучки, чтобы его можно было просто подключить к различным девайсам. Ниже привожу небольшой обзор того, что получилось.

Необходимые данные от блока управления к блоку озвучки передается по UARTу. Формат данных выглядит так :

sNN.NN.NN (s file name. number of repetition. pause time)

s – признак начала строки данных
1.NN – имя файла для воспроизведения (имя задается цифрами)
2.NN – количество повторов
3.NN – пауза в секундах между повторами

Формат звуковых файлов WAV 8-bit_22khz

В устройстве предусмотрено четыре (при желании можно увеличить) банка памяти для одновременного озвучивания четырех событий.

Ниже видео, в котором я постарался показать, как это все работает,
вначале немного теории, потом два примера подключения базового блока к девайсам.



Теперь можно без особых проблем делать и говорящие сигнализации и информаторы в салон и прочие девайсы со звуковыми оповещениями.

Для экспериментов, ниже ссылка на тестовую прошивку (максимальная строка s09.03.30 и два банка)

test_SOUND_777.hex

Arduino 09 – ATmega pin 15/1 – **** аудио выход WAV PCM Mono 22050Hz 8bit
Arduino 05 – ATmega pin 11/5 – bank_1 СД
Arduino 06 – ATmega pin 12/6 – bank_2 СД
Serial.begin(57600)

Підвал форуму