После сборки эмулятора дисковода для своего компьютера Дельта-С решил так же собрать и эмулятор магнитофона. Как то и не думал, что на Ардуино есть такой эмулятор, но их оказалось очень даже большое разнообразие!
Изначально наткнулся на вот эту статью на хабре и решил повторить проект по данной статье. Всё собрал на макетке и эмуль на первый взгляд заработал, но обнаружилась вот такая критическая проблема с выходным звуком. Известно, что сначала идёт пилотный тон-сигнал в конце которого должен идти короткий блок с данными (заголовок), так вот, у меня данный блок после пилота не проигрывается. Ну и соответственно дальнейшая загрузка не происходит. Хоть автор статьи пишет, что не делал никаких изменений в коде в плане обработки звука, но вот у меня такая проблема была.
Далее вышел на проект TZXDuino версии 1.16 и попробовал его. Правда этот проект не имел схемы, плюсом ещё и для управления здесь используется специальный LCD keypad shield, поэтому пришлось совмещать. Получилась такая схема:
А на столе это выглядело так:
Самое главное, что всё заработало! Только Ардуину нужно питать отдельно, питание через её USB порт не подходит, мал уровень сигнала и если рассматривать оригинальный проект по ссылке выше, то автор даже транзистор добавляет для усиления звука. Если питать схему по нормальному, то усиление не нужно и всё работает хорошо. Сразу встал вопрос по дублированию звука на мини пищалку. Простое присоединение к пину Ардуины не даёт положительного эффекта, через транзистор тоже у меня не получилось. Звук на пищалку идёт, но вот комп сигнал воспринимает не стабильно. Посмотрел коды других проектов, там везде есть дублирование на второй пин Ардуино, а в версии 1.16 такого нет! Поэтому пришлось ковырять код и искать возможность дублирования сигнала. Как ни странно, но у меня получилось, хоть я и не ардуинщик. Задействовал пин D8, а схему применил такую:

Далее пересобрал на постоянную плату с применением Ардуино нано. Использовал, как и в других проектах, макетную двухстороннюю плату 5х7 см, а LCD дисплей заменил на OLED (благо такая возможность уже была предусмотрена в проекте).
Теперь стал думать над корпусом. Решил стилизовать эмулятор под мини магнитофон. Модель создавал в Tinkercad, в других редакторах я работать не умею.. Вот такой корпус получился:
Немного топорно, но всё же лучше, чем совсем без корпуса. Внутрь встроил аккумулятор с повышайкой и платой заряда, чтобы эмулятор был автономным. Только оставалось подумать над тем, как сигнализировать о низком заряде батареи. Решил вывести вольтаж батареи на экран, но не особо получилось. Цифровое значение вольтажа никак не получалось вывести на экран, поэтому сначала просто создал условие, если напряжение больше 3,5 вольта, то выводится «OK», иначе «LOW». Но потом переписал код, сделал промежуточные условия и сейчас показывается примерный вольтаж. Ещё раз повторю, я не ардуинщик, не особо понимаю как сделать правильно, так что делаю как получается ). Информацию о вольтаже засунул в старт эмулятора, убрав стартовое лого. Так же задействовал ещё один пин ардуины, для сигнального светодиода. То есть он срабатывает когда напряжение батареи меньше 3,5 вольта.

Скачать код и файлы для печати можно напрямую с сайта:
rahost-studio_TZXDuino_V1.16.zip
TZXDuino(stl_files).zip
Так же смотрите видеообзор данной поделки:


