Автомобильная сирена с записью аудио-фрагментов Я решил побороть эту проблему в корне, ну и вот что получилось: сирена в которую можно записать до 16 звуковых фрагментов общей продолжительностью ~27сек., составить из них плейлист, который будет воспроизводиться в состоянии тревоги, дополнительно ещё 4 кнопки по которым сирена воспроизведет нужный фрагмент, ну и микрофон, чтобы поругаться.
Вкратце, как работает: к процессору по I2C шине подключены 4 штуки 24с256 (общий объем памяти 255кБ), H-мост для вывода звука и MAX232 для программирования звуковых фрагментов (записи данных в 24с256). В 24с256 собственно и хранятся фрагменты в Wave форме с частотой дискретизации 9765 Гц. H-мост воспроизводит звук посредством PWM, одна половина верхнюю полуволну, вторая нижнюю полуволну Так же подключены микрофонный усилитель (для электретного микрофона) и кнопки, одна из кнопок «подключает» микрофон к H-мосту, на остальные четыре можно «повесить» фрагменты.
Оконечные транзисторы могут быть выбраны из IRF510-IRF630 для n-канальных и IRF9510-IRF9630 для p-канальных. Остальные три планарные n-p-n 1F (на схеме не отражены дополнительные инверторы перед мостом).
ПО для PC и WinCE устройств позволяет предварительно сформировать фрагменты и аварийный плейлист и записать его в сирену. Поддерживается добавление wave и mp3 файлов (версия для CE mp3 не поддерживает), есть минимальные возможности отредактировать фрагменты. При добавлении будет произведён ресемплинг на частоту 9765 Гц (т.к. ресемплинг не тривиальная задача и цели ПО несколько другие, по этому полноценные звуковые редакторы делают это несколько лучше и вообще совет: полностью подготовить фрагменты в полноценном редакторе: порезать как надо, привести к моно, 8 битам и отресемплить на 9765 Гц). Скорость записи полного объема памяти около 5 мин на физическом COM-порте и 20-40 мин для USB-COM шлюзов.
Прошивка для PIC16F876 (Fuse: LPV_OFF, WDT-on, HS_OSC, при использовании ICPROG, никаких манипуляций с fuses не потребуется).
Основные входы: +12 – питание, ALARM – режим тревоги. +12 необходимо для дежурного питания сирены, если планируете использование дополнительных кнопок и микрофона. ALARM – говорит сам за себя, в принципе если сирена будет использоваться только как сирена, то +12 подключать нет необходимости, НО из-за того, что процессор подымается не совсем так быстро как я этого хотел, то пропадают предупреждающие «кряки» сигнализации, по этому +12 надо задействовать (подключить к постоянным 12В) в любом случае.
Никакой настройки сирена не требует. При отсутствии фрагментов в памяти в режиме тревоги будет выводиться «пила».
Плата рассчитана под самую распространённую китайскую сирену. На задней части корпуса я установил DB9, на который правильно развел RS232, остальное (кнопки и микрофон) как получилось