Устройство предназначено для звуковой имитаций работы двигателя самолёта и звуковой и световой имитации работы бортового оружия.

Имитатор построен на использовании 2-х микроконтроллеров ATtiny2313 и ATtiny13.
На ATtiny2313 собран плеер wav файлов, которые записаны на SD карте.
Особенности работы этого плеера можно (нужно) посмотреть на странице его создателя http://www.getchip.net/posts/087-attiny2313-sd-card-talking-device/. Выражаю огромную благодарность GetChiper’у за данный плеер и доступный открытый код, который я немного того... поэтому если что будет глючить, все шишки на меня :).



Основные принципы работы плеера остались без изменений.
Изменения:
1. отсутствие управления кнопками, управление плеером происходит только через UART;
2. отсутствие переключателей Monster, Helium, Repeat (функция Repeat включена по умолчанию)
3. к переключателю DIR1 / DIR2 добавлен переключатель DIR3 / DIR4 (количество папок для звуковых схем увеличено до 4-х);
4. Сделан выход для включения усилителя, на котором появляется лог ”1” при проигрывании звукового файла;
5. Т.к. освободились ножки контроллера, переделана цепь светодиодной индикации.
На ATtiny13 собран RC-Switch с 2-я входами, который управляет работой плеера в зависимости от входных сигналов.

1 вход подключается через Y разъём к каналу газа (3 канал) и в зависимости от длительности канального импульса идёт передача по UART в плеер первой буквы названия файла и происходит его запуск, который должен соответствовать текущим оборотам двигателя.
Порядок чередования файлов (по первой букве в имени) в зависимости от ширины канального импульса:
A – холостые обороты, B, C, D, E, F, G, H, I, J, K
Особняком стоит файл с буквой “Z” это звук старта двигателя. Он при старте проигрывается 1 раз и далее запускается файл соответствующий ширине канального импульса.
Если какой-либо файл будет отсутствовать, плеер автоматически будет проигрывать предыдущий.
2 вход подключается к крутилке или 3-х позиционному тумблеру. (возможно его никуда не подключать, при отсутствии надобности в данной функции)
Этот канал управляет включением звука оружия и световых эффектов на соответствующих ножках контроллера RC-Switch.
Плеер способен одновременно воспроизводить только 1 файл, поэтому микшера нет, и звук оружия перекрывает звук двигателя. При выключении оружия, звук двигателя восстанавливается (звук оружия как бы имеет больший приоритет при воспроизведении).
Порядок чередования файлов (по первой букве в имени) в зависимости от ширины канального импульса:
“1” – первое оружие (пулемёт, быстрое мигание пина 2);
“2” – второе оружие (пушка, умеренное мигание пина 3);
“3” – первое + второе оружие (пушка + пулемёт, одновременное мигание пина 3 и 2).
Замечание:
При использовании 3-х позиционного тумблера, будут возможны только 2-а включения: “1” первое оружие и “3” первое + второе оружие (либо микшировать 2-а тумблера).


При первом включении устройства, первый канал RC-Switch необходимо откалибровать (второй канал настраивается по первому). Для этого надо установить стик в максимум и включить питание. (Чтобы не вызвать возможный запуск программирования регулятора, устройство для калибровки подключаем на любой канал).
После подачи питания (если канальный импульс в канале больше 1,5ms) одновременно начнут мигать пины (оружие 1 и оружие 2). После движения стика, мигание ускорится и в течении 6 секунд (время калибровки) надо перевести стик несколько раз в положение MIN и MAX. Прекращение мигания пинов оружия – калибровка завершена.

При прошивке плеера, фьюзы ставятся, как в описании на странице автора. (все фьюзы оставляются исходные, только отменить деление частоты на 8 – CK DIV8, по умолчанию включено деление, надо просто считать исходные фьюзы и инвертировать состояние фьюза CK DIV8)
При прошивке RC-Switch (ATtiny13), фьюзы оставляются исходные.
Было пару случаев, когда при работе плеер вдруг затихал, переставал на всё реагировать и начинал моргать красный светодиод. Причину я пока не откопал (может SD карта глючила), спасает кнопка Reset.

Даю наводку, где можно взять звуки. Есть такая игра IL-2, и к ней существуют звуковые моды, поискав по интернету, можно найти. Для примера я оттуда взял звук двигателя M-105 и звук пушки ШВАК и пулемёта УБ. Конечно, пришлось ещё повозиться в звуковом редакторе, чтоб сделать больше переходов (в игре как-то всё микшируется автоматически).
Чтоб было громко, необходимо ещё собрать усилитель мощности и взять соответствующий динамик, но без фанатизма, а то весь пар уйдёт в свисток динамик и вместо самолёта получится кирпич :)
Все исходники и файлы прошивки в архиве (RC_Sound.rar)
(также в архиве рисунок платы в Sprint Layout и звуковой пример - папка "1")

SDC_Talking_DimaMode4.hex - прошивка для Tiny2313

прошивка для Tiny13:

RC_2IN_ATtiny13_UART_1_inv_12.hex - диапазон разбивается на 12 отрезков (11 букв - A,B,C,...K + отрезок "выключено")
RC_2IN_ATtiny13_UART_1_inv_18.hex - диапазон разбивается на 18 отрезков (17 букв - A,B,C,...Q + отрезок "выключено")

Всё тоже самое, только сигнал UART (звязь Tiny13 и Tiny2313) не инвертируется (при согласовании уровней без транзистора))
RC_2IN_ATtiny13_UART_1_no_inv_12.hex
RC_2IN_ATtiny13_UART_1_no_inv_18.hex

Первый вариант для работы, как на схеме. Два контроллера звязаны по UART, но 2313 работает от 3.3 вольт. Для согласования уровней сигнала я использовал транзистор (их везде навалом). Но данное включение инвертирует сигнал, поэтому выход UART надо инвертировать, что и делает парвая прошивка.
Второй вариант для более простого согласования уровней стабилитроном (у кого он есть), тогда инвертировать ничего не надо.
Все элементы кроме контроллеров и мосфетов на светодиоды, выпаяны из разного старого компьютерного хлама.
Вроде всё, если что упустил, отвечу в комментариях. (Заходить буду не очень часто, но постараюсь ответить всем).

А тут немного видео как это работает, извиняюсь за качество съёмки.



Проект получил дальнейшее развитие.

Сергей КСВ 45 предложил одну идею:
вот видео
и начиная с 1.28 мин на нем при перегазовке слышны ступенчатые изменения оборотов турбины, в нашем случае так же идет эта ступенька, а вот если бы сделать алгоритм такой:

Разбиваем сэмплами полностью по звуковым отрезкам всю работу турбины (самый короткий алгоритм)

1- запуск
2- малые обороты
3- увеличение с малых до средних
4- средние
5- увеличение со средних до максимальных
6- максимальные
7- уменьшение с максимальных до средних
8- уменьшение со средних до малых
9- глушение

в чем изюминка реалистичности звука - так в полной имитации проигрывания всех сэмплов поочередно без ступеньки.
Сложность заключается в том что пока например после увеличения стика газа полностью не воспроизведется трек "3" в нашем случае, не включится трек 4
так получится плавный переход - малые обороты трек "2" добавили газу проиграется трек "3" и за ним будет в повторе играть трек "4" пока стик газа в 50%

если стик газа сразу с мин перевести на макс - воспроизводится "2" далее "3" потом "5" и трек "6" макс обороты.
Вот что получилось:

(RC_Sound_New.rar)

Диапазон газа разбивается на равные отрезки, каждому соответствует свой звуковой файл + отрезок "выключено".
Файлы (первая буква) именуются по очереди начиная с "С" и через 2: C, F, I, L, ...

Файлы соответствующие промежуточным буквам: A,B,D,E,G,H... определяют звук изменения оборотов.
А - нарастание (пуск двигателя), B - спадание (выключение)
D - нарастание с "С" до "F", E - спадание с "F" до "C"
и.т.д. см. приложенный рисунок.

SDC_Talking_DimaMode5.hex - прошивка для Tiny2313

прошивка для Tiny13:

RC_2IN_ATtiny13_UART_2_inv_6.hex - диапазон разбивается на 6 отрезков (5 букв - C,F,I,L,O + отрезок "выключено")
RC_2IN_ATtiny13_UART_2_inv_10.hex - диапазон разбивается на 10 отрезков (9 букв - C,F,I,L,O,R,U,X,[ + отрезок "выключено")
Всё тоже самое, только сигнал UART (cвязь Tiny13 и Tiny2313) не инвертируется (при согласовании уровней без транзистора)
RC_2IN_ATtiny13_UART_2_no_inv_6.hex
RC_2IN_ATtiny13_UART_2_no_inv_10.hex

В архиве есть пример звуков для 6 диапазонного разбиения.
===========================================================================

Звуковой модуль для автомобилистов (RC_Sound_Auto_v2.rar)


Сам я нисколько не автомобилист, но по просьбе читателей сделал данную вещь.
Постарался сделать её как можно более универсальной, возможно некоторые фишки надуманы и никому не будут нужны.

Принцип наименования файлов и логика их запуска, думаю, понятена из рисунка.


- На 3 ножку Tiny13 выводится лог. "1" при запуске двигателя (включение канал2) и держится во время работы. Выводится "0" при глушении двигателя.
(Например туда можно подключить фары.)

- Сделан ещё один (по сравнению с RC_Sound) входной канал3 (2 ножка Tiny13) для включения (бибикалка, сирена, крякалка) любого звука (логика работы, как оружие на звуковом модуле для самолёта).

Этот канал разбит на 3-и диапазона: |-- выкл. --|-- сигнал"1" --|-- сигнал"2" --|

При включении сигнала "1" на 8 пине Tiny2313 появляется лог."1" (подразумевается использовать для запуска
световой илюминации сопровождения звукового сигнала "1")

При включении сигнала "2" на 9 пине Tiny2313 появляется лог."1" (подразумевается использовать для запуска
световой илюминации сопровождения звукового сигнала "2")

Соответственно при подключении к дискретному каналу возможно только состояние - выкл. и сигнал "2"


- Калибровка запускается как обычно, только под конец светодиод (3 ножка Tiny13) начинает ускоренно мигать, приглашая перевести стик в нейтраль
(можно и раньше, главное чтоб по окончании ускоренного мигания стик был в нейтрали).

- Индикация потери сигнала: т.к. 3 ножка постоянно включена при "работе" двигателя. Теперь при потере сигнала следуют периодические двойные короткие вспышки на 3 ножке.

Схема фактически идентична схеме RC_Sound, за исключением добавленного канала3, вместо одного выхода на световую индикацию (оружие1). Кому он не нужен, прошивка будет работать и на старой схеме.