PDA

Просмотр полной версии : YM/AY плеер на ARDUINO PRO MINI



Voxel
02.10.2019, 22:38
Хочу поделится поделкой выходного дня (так то неделю). Идея и реализация взяты от сюда (https://habr.com/ru/post/392625/), за что автору огромное спасибо.

И так, давно хотел себе автономный плеер любимой АУ. И как то просиживая в интернете наткнулся на данный проект. Собрал его на макетке, и он заработал с ходу. Видел тему ниже где уже частично касались данной реализации, от туда взята схема микшера каналов.

Что бы было понятно, я совсем не умею что либо писать под ARDUINO, от того скетч это сборная солянка, основа автора проекта, остальное из великого интернета.

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

Так же там есть плата усилителя на TDA 2822 (нашел на помойке компьютерные колонки), но ее лучше не использовать, там не хватает цепочки из пары резисторов на канал, для уменьшения коэффициента усиления, я резал дороги и паял их навесным.

И теперь собственно сам скетч.
Что сделано(умеет):
Четыре клавиши управления:
Right - вперед на композицию, при длительном удержании вперед на каталог.
Left - назад на композицию, при длительном удержании назад на каталог.
Pause - пауза, при длительном удержании смена схемы каналов: 0 - ACB, 1 - BAC, 2 - ABC. По умолчанию режим ABC.
Menu - проигрывание случайной композиции, при длительном удержании меняется режим случайного проигрывания, что можно понять по звуку.
Звучит низкий звук - случайный выбор внутри каталога.
Звучит высокий звук - случайный выбор во всем диске.

По умолчанию проигрывание идет последовательно, дойдя до конца каталога переходим в следующий. Кончились каталоги начинаем с начала.

В отличие от авторского скетча: играть начинает практически мгновенно при нажатии одной из клавиш. При большом количестве композиций рандомный выбор будет не быстрым. Обработка клавиш в отдельной библиотеке (возможно значения клавиш на аналоговом входе при повторении нужно будет корректировать) взято от сюда (http://samopal.pro/arduino-button-2/) и от сюда (http://alxarduino.blogspot.com/2013/09/ReadAnalogKeys.html) и совмещено. Возможность менять конфигурацию каналов.

ОСОБЕННОСТЬ! каталоги должны быть вида 0, 1, 2....32...40 и т.д. Иначе он не будет их видеть.
Клавиши сидят на A6, а не на A5, как на схеме. У меня использованы резисторы 5,1 ком и остальные по 2,2 ком.

В итоге была найдена подходящая коробочка в которую на термоклей все было впихнуто. Кнопки из старых светодиодов. Повышающий преобразователь и одна банка 18650 с зарядником. В дальнейшем думаю покрасить) Жена говорит на кассетный плеер похож)) Играет уже кучу часов подряд и все не садится.

Надеюсь хоть кому то окажется полезным.


Добавлено:
- Цветомузыка на Attiny13. Выкинута входная часть LM358. К второй ножки контроллера подключаются три канала (ноги 3, 4, 38) через резисторы по 2 ком. Видео работы ниже.

http://micronc.ru/zx/ay_hq.png
http://www.eurowebcart.ru/gallery/1503817081/analog.png
70186
70187

САЙТ ПРОЕКТА (http://srukami.inf.ua/muz_cub_tiny13.html)

http://srukami.inf.ua/gif/shem_tiny13_muz_cub_2.jpg


70200
70330


https://www.youtube.com/watch?v=KgyZ1Cmn1w4

Voxel
03.10.2019, 21:53
Обновил архив проекта!
Исправления:
При удержании кнопки MENU меняется режим случайного проигрывания, что можно понять по звуку.
Звучит низкий звук - случайный выбор внутри каталога.
Звучит высокий звук - случайный выбор во всем диске.

Выбор каналов перешел на кнопку PAUSE

Voxel
15.10.2019, 15:16
Требуется следующая помощь!
При попытке подключить дисплей по I2C, на свободных выводах A4, A5. Происходит странная ситуация! перестают открываться файлы с карты памяти. При том, что сама карта нормально инициализируется, но при попытке выполнить команду sd.open() происходит ошибка.
Предполагаю, что где то идет конфликт SPI и I2C. В интернете поискал, ошибка такая бывает, но решения так и не находится. Прошу помощи! Скетч в архиве в первом сообщении.

EvgenRU
16.10.2019, 00:01
Попробуйте CS карты на 4-ый пин повесить, вроде когда-то тоже с этим намучался.

Как-то так

/*
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK(SCK) - pin 13
** CS - pin 4
*/
#include <SD.h>

const int CS_Pin = 4;

File root;

void setup()
{
pinMode(CS_Pin, OUTPUT);

// see if the card is present and can be initialized:
if (!SD.begin(CS_Pin)) return;

root = SD.open("/",FILE_READ);
}

Voxel
16.10.2019, 23:21
Попробуйте CS карты на 4-ый пин повесить, вроде когда-то тоже с этим намучался.

Спасибо, но к сожалению поменять ногу возможности нет. Жду OLED дисплей с ним по идеи не должно быть проблем.

- - - Добавлено - - -

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

Voxel
19.10.2019, 15:03
Добавил цветомузыку. Если вдруг кому то будет интересно выложу плату, но там примитивная схема. Прошивка и фьюзы по ссылке на странице проекта.
Выложил небольшое видео работы.

Скарт
02.11.2019, 03:46
У меня вот так :)
https://www.youtube.com/watch?v=m23hZ-1JwqI
https://www.youtube.com/watch?v=dkEykieEZuI
Вот код https://gist.github.com/Airrr17/21b62fd00c8b57fac0e84ec9947bd462

Так же есть похожий MOD плеер.
https://www.youtube.com/watch?v=JJlvLp384ss
Код под видео.

Voxel
04.11.2019, 16:39
У меня вот так :)
https://www.youtube.com/watch?v=m23hZ-1JwqI
https://www.youtube.com/watch?v=dkEykieEZuI
Вот код https://gist.github.com/Airrr17/21b62fd00c8b57fac0e84ec9947bd462

Так же есть похожий MOD плеер.
https://www.youtube.com/watch?v=JJlvLp384ss
Код под видео.

Класс) Именно с ваших исходников собрался тискать вывод на OLED. Спасибо)

А МОД плеер ваш обязательно соберу)

igel
12.05.2020, 16:07
Здравия доброго! Вот я тоже хотел бы повторить, но на 8910 чтобы было трио вместо стерео. Вот мой проект https://zx-pk.ru/threads/31774-ob%D1%8Ajomnyj-trio-zvuk-na-ay-3-8910-vzamen-urezannogo-stereo/page3.html

Можете подсказать что нужно для этого поправить в коде и схеме? Премного благодарен за разработку самого простого плеера нашей любимой Ямахи!

Богдан
27.09.2020, 01:49
А можно схему подключения кнопок перевыложить, ато не работает ссылка.
.