renoshnik 11 Скарга Опубліковано: 29 травня 2016 Разрабатывая разные устройства с функцией звукового оповещения, часто сталкиваюсь с проблемой выбора. Зачастую функция озвучки критически ограничивает доступный объем памяти для основной программы, снижает быстродействие или конфликтует по прерываниям. Поэтому было решено сделать базовый блок озвучки, чтобы его можно было просто подключить к различным девайсам. Ниже привожу небольшой обзор того, что получилось. Необходимые данные от блока управления к блоку озвучки передается по UART порту. Формат данных выглядит так : sNN.NN.NN (s file name. number of repetition. pause time) s – признак начала строки данных 1.NN – имя файла для воспроизведения (имя задается цифрами) 2.NN – количество повторов 3.NN – пауза в секундах между повторами Формат звуковых файлов WAV 8-bit_22khz В устройстве предусмотрено четыре (при желании можно увеличить) банка памяти для одновременного озвучивания четырех событий. Ниже видео, в котором я постарался показать, как это все работает, вначале немного теории, потом два примера подключения базового блока к девайсам. https://www.youtube.com/watch?v=vuKjZ1qR2qA Теперь можно без особых проблем делать и говорящие сигнализации и информаторы в салон и прочие девайсы со звуковыми оповещениями. Для экспериментов, ниже ссылка на тестовую прошивку (максимальная строка s09.03.30 и два банка) Посилання 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) Поділитися повідомленням Посилання на повідомлення Поділитися на інших сайтах