Arduino-AY-player (также известный как Nano AY\YM player) — это проект автономного плеера музыкальных файлов для звуковых чипов AY-3-8910 / YM2149, построенного на базе микроконтроллера Arduino Nano. Устройство воспроизводит музыку напрямую через реальный чип AY/YM, храня файлы на SD-карте и отображая информацию на OLED-экране. Проект был представлен автором djspawn на форуме ZX-PK.ru в октябре 2022 года, а все материалы (схема, прошивка, герберы, корпус для 3D-печати) опубликованы на GitHub .
1. Основные возможности
- Поддержка трёх форматов файлов: PSG, RSF, YRG.
- Три режима воспроизведения: все по кругу, случайный трек, повтор одного трека .
- Поддержка проигрывания через Serial-порт — например, с помощью плеера от avray.ru (AVR-AY Player) .
- I2C OLED-экран 128×64 (SSD1306) для отображения информации .
- Встроенный усилитель для наушников с управлением по I2C — на базе чипа TPA6130A2 .
- Сохранение настроек громкости и контраста экрана в EEPROM .
2. Аппаратная платформа и совместимость
- «Мозг» устройства — Arduino Nano, выбранный из соображений лёгкой повторяемости проекта .
- Совместимость с чипами: подходит для AY/YM как в корпусе DIP-40, так и в DIP-28 (AY-3-8912) .
- Собрано и проверено два экземпляра: один на оригинальном Arduino Nano, другой на китайском клоне LGT8F328p NANO Style — оба работают отлично .
3. Компонентная база
| Компонент | Назначение |
|---|---|
| TPA6130A2 (QFN20) | Усилитель для наушников с управлением по I2C |
| PCF8574 (SO-16) | Расширитель портов I2C |
| TP5100 | Модуль зарядки и DC-DC преобразователь |
| 74LVC125 | Преобразователь уровней для SD-карты |
| SSD1306 128×64 | OLED-экран |
| TFP09212B | Слот для SD-карты |
| HRS_ZX62D-B-5P8 | Micro USB разъём |
| 12F14 или EG1213 | Ползунковый переключатель |
Примечание: резисторы R4 и R5 (подтяжка шины I2C) можно не запаивать — подтяжка уже есть в экране .
4. Управление
Устройство имеет пять кнопок управления :| Кнопка | Короткое нажатие | Длинное нажатие |
|---|---|---|
| UP | Громкость + | — |
| DOWN | Громкость − | — |
| OK | Play/Pause | Режимы проигрывания ALL/RND/ONE |
| LEFT | Предыдущий трек | Переключение на режим игры через COM-порт (AVR-AY Player) и обратно на SD |
| RIGHT | Следующий трек | Перемотка вперёд |
Дополнительные комбинации:
- (удерживать OK) + UP — увеличить контрастность экрана.
- (удерживать OK) + DOWN — уменьшить контрастность экрана.
5. Рекомендации по сборке
Автор рекомендует следующий порядок сборки :- Начинать с усилителя, PCF8574, преобразователя уровней для SD, всей рассыпухи и кнопок.
- В конце устанавливать AY, NANO, модуль зарядки и экран.
- Если используется оригинальный Arduino Nano — сразу выпаять SPI-гребёнку (2×3 PIN); для клона просто запаивать в плату.
- Если PCF8574 пришёл в корпусе SSOP-16 (шире, чем SO-16) — подогнуть ноги «под себя» и паять феном.
6. Резюме
Arduino-AY-player от djspawn — это автономный плеер музыки для чипов AY-3-8910/YM2149, реализованный на Arduino Nano с поддержкой SD-карты, OLED-экрана и встроенного усилителя для наушников. Проект отличается продуманной эргономикой (пять кнопок с короткими и длинными нажатиями, сохранение настроек в EEPROM), поддержкой нескольких форматов файлов (PSG, RSF, YRG) и возможностью работы как с SD-картой, так и через Serial-порт с внешним плеером. Все материалы проекта — схема, прошивка (PlatformIO), герберы и корпус для 3D-печати — доступны на GitHub .Файлы для загрузки
| Название файла / Папка | Описание | GitHub | Yandex.Диск |
|---|---|---|---|
| AY_Player_OLED_SRAM.ino | Основной скетч Arduino для плеера | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| aymeter.h | Заголовочный файл проекта | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Arduino-AY-player-circuit.pdf | Принципиальная схема в PDF | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Arduino-AY-player-circuit.png | Принципиальная схема в PNG | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Arduino-AY-Player-board.jpg | Фотография готовой платы | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Скачать все файлы | Все файлы находятся в одном архиве | Ссылка на GitHub | Ссылка на Яндекс.Диск |
Полезные ссылки проекта:
- Обсуждение проекта на ZX-PK.ru — Тема «Nano AY\YM player on arduino»
- Демо-видео работы — YouTube
- AVR-AY Player (avray.ru) — внешний плеер для режима Serial
- Репозиторий проекта — GitHub