MIDI Fighter + игрушка для детей (upgraded). How-to

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

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

Сегодня я хочу несколько подробнее остановится на создании и добавить возникших нюансов и схем. Arduino я начал заниматься недавно, матёрые ардуинщики, а тем более люди, программирующие серьёзные МК скажут что это капитанство, но я думаю найдутся и люди, которым это будет интересно и они узнают что-то новое, а некоторые даже соберут такую штуку сами.


Так как принципиально всё было ясно, я заказал все нужные детали(самым нужным тут собственно являлись кнопки, т.к. такие кнопки в радио/ардуино магазинах не продают) на алиэкспрессе. Я приведу то, что нужно ввести там в поиске, т.к. ссылки на конкретные товары могут умереть. Всё что нужно сделать - это ввести их в поиске и отсортировать по количеству заказов. С высокой вероятностью среди первых нескольких товаров вы увидите то, что нужно.


Заказ.

1) кнопки - "SANWA Arcade Button" - я заказал размера "28mm 30mm", использовал сверло на 28мм, встали очень туго и крепко. Мои кнопки ехали до меня где-то 2 месяца, учитывая праздники.

2) плата Arduino. Я тоже обошелся Nano, - запрос "arduino nano". Я брал с уже припаянными ногами.

3) "dfplayer mini arduino" - это плеер, который будет воспроизводить наши mp3-шки. К нему нужна любая microSD карта, на которую поместятся ваши файлы.

4) Колонка. Я брал "speaker 8 ohms 0.5W", т.е. на 8Ом и пол ватта.

5) 2 батарейки 18650 и кейс к ним - "18650 battery" и "Case for 2 x 18650"

6) пару выключателей. Их я купил в магазине радио деталей, это проще, можно в руках покрутить, а стоят они недорого. Я брал с фиксацией положения, заказать можно выбрав что-то по запросу "switch button". Нюанс - проще с круглыми - просверлил дырку, вставил и всё, под квадратный дырку делать сложнее. Один будет использовать для включения устройства от батареек, второй для переключения режимов "MP3 плеер" - "MIDI Fighter"

7) поворотные потенциометры. "arduino potentiometer 10k" Есть мнение, что самые дешевые качеством не очень, можете поискать что-то подороже, но меня(и маленького пользователя) устраивает работа самых простых. И крышечки к ним "Potentiometer Caps 6mm"

8) пара маленьких макетных плат. это уже не обязательно, всё зависит от того, как вы разместите элементы в корпусе, я использовал пару "arduino board mini", на них идеально встают и arduino nano и плеер.

9) гребенка для подключения к макетной плате - "arduino breakable header"

10) паяльник, припой, термоусадки и прочая мелочь вроде резистора в 1кОм у вас уже должна быть. Так же я использовал 16 диодов для одновременного нажатия кнопок. Их купил в радиодеталях по запросу "мне диоды для логики в ардуино".


Корпус.

Тут полная свобода для творчества, хотя можно его так же заказать, главное рассчитать размер. Я использовал доску из ближайшего строительного 2см*7см*2м, качественную фанеру 10мм(или 8мм), саморезы, уголки, болты, гайки. Доски отрезаны под углом 45 градусов на отрезной пиле. Для лицевой части на досках сделан пропил на торцовочной пиле, чтобы в него заходила фанера, с задней части пропил открытый, фанера просто ложится в углубление. Для крепления задней части использовал уголок с напаянной гайкой, т.к. батарейки нужно менять, да и всякое может случиться, это же arduino :)

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

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

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

Сборка электроники.

Схема:

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

Hi-res


Кнопки соединены по принципу "матричная клавиатура", это позволяет занимать не 16 пинов(которых нет на Nano), а 8. Диоды ставил чтобы корректно работали любые комбинации одновременных нажатий. Возможно можно проще, но у меня сработало так. Пара слов о соединениях. Если всё собрать просто на макетке и одинарных проводках, то при сколько нибудь жесткой эксплуатации проводки будут отходить, контакт теряться, вся система глючить. Поэтому идеальный вариант когда всё припаяно. Я сделал нечто среднее, использовал те самые гребенки, про которые я писал, только оставил их длиной в макетку. На один конец припаял контакты от кнопок/потенциометров, второй конец вставил в макетку. Это позволяет и разобрать схему с минимальными потерями если что и гребенка сидит очень плотно.

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

Несколько фотографий устройства.

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост
MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост
MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

Софт.

За основу я взял код из поста про MIDI контроллер, внеся несколько доработок:


1) добавил дэбоунсинг на кнопках

2) теперь первые два потенциометра выбирают папки с музыкой(произнося выбор), третий меняет настройки эквалайзера, четветрый так же это громкость.

3) ну и собственно теперь это всё дело работает от батарейки, для этого добавилась ещё одна кнопка. Вы скажете - можно было сделать одной кнопкой с тремя положениями? Да, но это поделка для ребенка, а значит чем больше кнопок - тем лучше :)



Про плеер.

Тут забавный нюанс: на гитхабе есть репозиторий с библиотекой для этого плеера, в нём есть ссылка на документацию. Так вот примеры в документации даны для несколько иной версии библиотеки, ссылка на которую есть в документации. Я использовал версию с гитхаба по ссылке выше.



Контент.

Наборы звуков располагаются в корне карты памяти в папках(у меня 12), папки называются "01", "02" ... "12".

В папках звуки располагаются так: "0001.mp3", "0002.mp3" ... "0016.mp3". Есть папка mp3, в которой есть файлы "0001.mp3", "0002.mp3" ... "0012.mp3", там произносятся цифры, для индикации выбранного набора. Можно записать самим, я сделал с помощью одного сервиса.

Касательно содержимого - есть несколько паков звуков на торрентах, которые довольно просто ищутся - "Boom Library - Toons", "Producer.Loops.Symphonic.Series.Vol.1.Classic.Cartoons.MULTiFORMAT-LOOPS", "Sound Ideas Warner Bros. Sound Effects Library", "HB01 - Hanna Barbera"... Это звуки из мультиков и для мультиков. Однако практика показала - гораздо большей популярностью пользуются папки с детскими песнями(или любимыми песнями ребенка), 99% времени слушаются они :)



MIDI.

Пару слов о том, как подружить Ableton Live с MIDI кнопками в windows. Всё показано в видео, под ним же есть ссылки на нужные утилиты. Пресеты можно взять на https://maps.djtechtools.com/mappings/



TODO.

Что можно улучшить? Я вижу что можно реализовать автоотключение питания по таймеру, если ребенок забыл и ушёл по своим важным делам. Нужно добавить реле и поменять кнопку включения на кнопку без фиксации положения. Как такое реализуется рассказано здесь. Однако возможно после севших батареек лучше провести беседу про то, что приборы нужно выключать за собой. Так же можно добавить плату заряда для батарей, или изначально купить что-то типа powerbank-а



Ссылки:

статья про MIDI контроллер, которая похоже использовалась для создания поста по первой ссылке(там много интересного в ссылках в конце)

Arcade Button MIDI Controller instructables.com

Фотографии моего устройства и схема в оригинале

Код для моего устройства на github gist

Репозиторий с библиотекой плеера



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

MIDI Fighter + игрушка для детей (upgraded). How-to Arduino, Midi, Midifighter, Ручная работа, Своими руками, Игрушки, Длиннопост

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу