HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop

НОВОСТИ DIY-проект: аудиокассета на базе Arduino для хранения и загрузки программ и игр в ZX Spectrum

NewsBot
Оффлайн

NewsBot

.
.
Регистрация
21.07.20
Сообщения
40.408
Реакции
1
Репутация
0
uc_p0kob2whncowrcygafw6vily.png


20-30 лет назад кассеты были самым популярным средством хранения аудиозаписей. Их применяли и для хранения данных, в частности, программ для 8-битных компьютеров. Именно кассеты использовались для загрузки и сохранения программ для ZX Spectrum. Тем не менее, кассет становится все меньше, несмотря на то, что поклонников ZX Spectrum и других подобных ПК довольно много. Конечно, можно использовать эмулятор ZX Spectrum под Windows или Linux. Но это все же менее лампово, чем реальный компьютер. Есть еще один выход — найти замену кассете.

Пользователь с ником JamHamster решил пойти по этому пути. Его решение — , которое внешне походит на привычную аудиокассету, работает с кассетным магнитофоном, но вместо магнитной ленты в нем используется SD-карта. По замыслу энтузиаста, такая «кассета» должна вставляться в магнитофон для передачи сигналов в ZX Spectrum или подключаться через аудиовыход. Кстати, решения для загрузки программ с кассет есть — например, TZXDuino для работы с ZX Spectrum, ZX81 и Amstrad CPC, но оно показалось разработчику слишком громоздким.


Подготовка к сборке


JamHamster выбрал для сборки плату Arduino Nano (размер платы всего 7 мм), на которой разместил устройство чтения карт памяти, усилитель и небольшой дисплей. В качестве софта для взаимодействия с ZX Spectrum — программное обеспечение, которое ранее разработали Эдрю Бир и Дункан Эдвардс.

hqw3j4_tgejtaxoxb5j_qxbkrr0.jpeg



Энтузиаст пояснил, что форм-фактор кассеты был выбран для сохранения аутентичности. «Мне кажется, что загрузочные SD-устройства в виде кассет — правильное решение. Они выглядят прикольно и хранятся в стандартном подкассетнике, дизайн которого мне очень нравится», — пояснил JamHamster.

Проблемой для размещения всех компонентов стали физические размеры корпуса кассеты. Поэтому JamHamster провел ряд модификаций. Например, дисплей и устройство для чтения SD-карт были физически уменьшены. Некоторые модули, в частности, USB-порт, пришлось «повесить» на провода, чтобы уместить конструкцию в корпус. А аудиовыход разработчик сделал самостоятельно.

76d8188e5a6c3875167ff1efc791c07c.jpg



Дополнительно JamHamster дал несколько советов тем, кто захочет повторить его эксперимент:
  • Не припаивайте компоненты внутри корпуса, так как он хрупкий и быстро повреждается.
  • Проверяйте работоспособность компонентов перед установкой.
  • Паять провода нужно поверх контактных площадок, а не насквозь.
  • Не пересекайте провода, чтобы не увеличивать толщину конструкции.


Собираем кассету на Arduino своими руками


th4lknyjoscpddj6d1lghe7uypq.jpeg



JamHamster для тех, кто захочет повторить его эксперимент. В ней можно найти форму, по которой нужно обрезать печатную плату, чтобы влезли все компоненты. На нее сначала устанавливается регулятор громкости так, чтобы колесико свободно вращалось и торчало из корпуса кассеты.

fhj9-qvgqkrrb-o6sfxc1pjrl5g.png



Для создания аудиовыхода (его придется делать вручную) понадобится стальная пружина диаметром 3,5 мм. Если ее нет, то этот элемент можно без проблем создать, используя сверло соответствующего диаметра. Далее при помощи джека наушников выверяется длина, и все это припаивается к плате. Аудиовыход используется в том случае, если нет кассетного магнитофона. Через него гаджет подключается напрямую к компьютеру и передает сигнал.

Что касается работы «кассеты» с магнитофоном, то для реализации этой возможности в устройство встроена магнитная пишущая головка, сигнал которой считывается уже другой головкой, но в кассетнике. К сожалению, выходной мощности микроконтроллера недостаточно, поэтому разработчик добавил миниатюрный усилитель PAM8403 (2 x 3Вт). Он достаточно портативный, так что общие габариты конструкции увеличились ненамного.
Подвод питания во время работы не требуется, поскольку в «кассете» есть собственный аккумулятор.

zj6kcvbl_5qbz9fs9dmbulq8yqi.png



grspirmyocdghl4pjraqczqpo90.png



nsdlwrknrw0adnhuxsj5qajrvki.png



updogmenwj5tzem0v0lci-lyzns.png



rjgr7imcohtihabi1oza5kedyc0.png



vqr6cwg6yblvoq-tufsg_ttvzho.png


Также в корпус устанавливаются пять кнопочных переключателей для управления устройством чтения SD-карт.

qia7fce10b3praxe20jfq5qem5u.png



Кстати, хранение данных реализовано не в виде .exe или .txt файлов. Вместо этого используются аудиодорожки, которые содержат в себе код программ. Именно так хранились данные на аудиокассетах с магнитной пленкой.

Основная сложность — поместить плату в корпус кассеты. Над решением этого вопроса автору пришлось поломать голову, но в итоге он нашел решение. Ниже показано, как нужно правильно обрезать платы дисплея, SD-ридера и перепаять USB-порт для экономии пространства на плате. Для крепления компонентов к плате можно использовать горячий клей.

aqfiwgjdgjzmivxvbntprpuyqac.png



Экран помещается между колесиками кассеты — так его будет лучше видно. Кстати, в коде ПО придется внести изменение, чтобы перевернуть изображение на мониторе. Это несложно. Достаточно заменить кусок кода:

#define ROTATE180 1
//#define UNROTATE 1


на:
//#define ROTATE180 1
#define UNROTATE 1


Теперь остается установить элемент питания, развести проводку, как указано в оригинальной инструкции, и проверить работу всех компонентов. После чего можно тестировать на ZX Spectrum.

x9-36rvhfbgd4vp8849jistovdm.jpeg



На реализацию проекта разработчик потратил немало времени, но результат стоил того. JamHamster и повторившие его работу энтузиасты остались очень довольны тем, что вышло в итоге.
 
Сверху Снизу