Автор Тема: Простой switcher/looper на Arduino Nano. на 5 педалей.  (Прочитано 25521 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Попросил знакомый сварганить ему какой-то лупер/свитчер для переключения педалек, ТЗ было -  "чтобы оно было хотяб на 5 педалей, и хотя б на несколько пресетов, плюс чтобы была возможность "живой" игры - т.е. кнопки на лупере просто включали-выключали педали, а не только переключали пресеты. Но так, чтобы был дешевый и простой. Навороты не нужны".
Под рукой лежала ардуина нано (купил как-то по случаю штук 5, авось пригодятся, стоят на ибее по 3-5 баксов китайские клоны). Полазив по интернету - обнаружил что предлагаемые луперы какие-то заморочные. дисплеи LCD, сегментальные дисплеи для указания банка и прочего. Можно конечно заморочится - но не на Нано. т.к. там всего то 14 цифровых выводов, и 8 аналоговых. т.е. если аналоговые подключить как цифру - то максимум что мы имеем - 22 вывода, которыми чем-то можно управлять. Т.е. ни о каких дисплеях, куче кнопок и прочего - лучше не думать. Ковыряя в гугле картинки нашел где именно Нану использовали для подобных задач. Но статья была скорее теоретическая, автором не собиралась, имели место несколько недоработок и явных багов. Но общая идея была очень даже не плоха. Поворотным переключателем я выбирал что хочу делать - включать-выключать педали, записывать в память пресеты, считывать из памяти пресеты и собсно все. Ни лишних дисплеев, ни кучи ненужных  функций... Просто, дешево и немного сердито. Идея была доработана и в итоге получилась такая вот схема:

1098505-0

Имеем:
5 кнопок - которые управляют включением выключением педалей. Так же - эти же кнопки в других режимах - сохраняют 5 пресетов в память контроллера, и позволяют мгновенно выбрать 1 из 5 сохраненных пресетов.
1 кнопка - Bypass All - которая в независимости не от чего (играете ли вы на пресетах, играете ли вы живьем и прочее) - при нажатии отключает все педали в байпасс (при этом никак не влияя на сохраненные пресеты и прочее).
1 повортный переключатель на 3 позиции для выбора режима. Таких режимов 3:
первый режим - Live/Setup. Нажатием на 5 управляющих кнопок мы включаем-выключаем соответсвенно 5 педалей по собственному выбору, положение ON/OFF которых в последствии можно записать в память.
Второй режим - Запись. Переключив в него и нажав любой из 5 кнопок - записываем установку с предыдущего режима в память контроллера, в пресет соответственно номеру кнопки.
Третий режим - Игра пресетами. Нажимая на одну из 5 кнопок - получаем 1 из 5 сохраненных ранее пресетов.
5 DPDT реле с индикационным светодиодом (чтобы в пресете было видно какие педали включены, какие выключенны). Ну и DPDT позволяют получить в данном случае холодный Bypass.
5 индикационных светодиодов, которые расположены рядом с кнопками, которые показывают в 1 режиме - какая педаль включена-выключена (совпадают с состоянием диодов на реле), в 2 режиме - пресет, куда записывать (морганием при нажатии на кнопку пресета), в третьем режиме - показывают какой из 5 пресетов включен.
12 джеков - 10 соеденены с реле как Send/Return, 2 - вход\выход.

Так же я буду использовать какой-то модульный преобразователь 12V/5V, чтобы устройство можно было питать от стандартного "педального" блока питания, или педалборда. такой StepDown модуль на ebay стоит в районе 1-2 баксов, либо можно заюзать КРЕНку 5 вольтовую или LM317 для более тонкой настройки питания.

Прошивка была написана за пару часов, на родном ардуиновском IDE. Подчищу, поубираю лишнее - выложу тоже.

Устройство было протестировано на макетной плате, исправлены баги, произвольные срабатывания и прочее. Показано гитаристу, получено одобрение "о, именно то, что нужно".
Корпус буду делать под заказ - есть возможность. Технически - подойдет любой длинный не сильно широкий крепкий корпус, способный вместить в себя в 1 линию 12 джековых гнезд.
В данный момент развожу платку, куда ардуинка будет втыкатся на пинах (чтобы удобнее было если вдруг надо будет перепрошить или заменить). Добавлю тож позже.


Как работать с устройством:

Живая игра:
1. Включаем
2. Переводим поворотный переключатель в режим Live/Setup (1).
3. Нажимаем кнопку "Bypass All".
4. Играем, включая-выключая байпас для каждой педали кнопкой на устройстве.

Сохранение пресетов и игра пресетами:
1. Включаем
2. Переводим поворотный переключатель в режим Live/Setup (1).
3. Нажимаем кнопку "Bypass All".
4. Нажимая на 5 кнопок, выбираем какие педали будут задействованы в пресете.
5. Переводим поворотный переключатель в режим "Save" (2).
6. Нажав например кнопку 1 записываем соответсвенно пресет 1 в память контроллера. (индикаторный светодиод для соответсвующей кнопки мигнет 3 раза).
7. Повторить шаги 2-6 для остальных пресетов.
8. Переводим поворотный переключатель в режим "Play presets" (3).
9. Нажимая кнопки 1-5 играем любым из 5 записанных пресетов.


Светодиоды на реле - будут показывать какие из входов включены/выключены. Светодиод связанный с кнопкой - будут показывать какой из пресетов выбран.
В процессе игры живьем или на пресетах всегда можно нажать кнопку Bypass All - чтобы отключить все эффекты. Ее состояние в памяти не сохраняется, так что если после этого нажать любой из 5 пресетов - он загрузится из памяти как ни в чем не бывало. )))

Итого. Имеем простое в управлении устройство, с вполне неплохим функционалом (режим живой игры, 5 пользовательских пресетов, Master Bypass), за очень немного денег.
А именно:
Ардуинка нано v3 - клон 3-5 баксов на ибее с бесплатной доставкой.
6 spst momentary кнопок (по 1,5 бакса за штуку)
5 dpdt реле миниатюрных,  с катушками на 5 вольт, по 1-1,5 бакса за штуку
12 разъемов Jack с выключателями - по 1-2 бакса за штуку
10 светодиодов (за 1 бакс кулек)
1 поворотный переключатель за 2 бакса.
1 корпус за 10 баксов
прочие мелочи на 2-5 баксов максимум (питание, текстолит, болтики и гаечки).
Т.е. за 5 канальное программируемое устройство придется отдать где-то в районе 50 баксов. что очень недурно, учитывая что подобные пассивные устройства стоят немногим дешевле в сборке.

По ходу распайки, собирания, и играния на устройстве будут добавлены платы, прошивка, фотки и прочее. ))) Так же осталось еще 2 вывода. Думаю попробовать на них сделать что-то вроде отдельного Tuner Out, или глобального "mute all"


... и добавил:

Прошивка:
* switcher_5fx_ver1_0.txt (1.43 КБ - загружено 306 раз.)

дополнительная библиотека:
* keypad.txt (18.54 КБ - загружено 211 раз.)

у обоих вложений поменять расширение с .txt на .zip, чтобы корректно открывалось.

Библиотеку распаковать как есть туда, где стоит IDE от ардуины например - C:\Program Files (x86)\Arduino\libraries\


« Последнее редактирование: Февраля 03, 2015, 18:27:31 от Tander »

Оффлайн Dying Fetus

  • Moderator
  • *****
  • Сообщений: 10260
  • Репутация: +1318/-24
  • DIYng Fetus
    • http://cathar.ru
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #1 : Февраля 03, 2015, 18:32:58 »
фотовидео?

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #2 : Февраля 03, 2015, 18:37:50 »
эм... пока еще нету, фоткать-писать видео работы макета - смысла не вижу никакого. По мере развития событий, будут добавлятся и фото, и видео. )

Оффлайн Салют

  • Завсегдатай
  • ***
  • Сообщений: 417
  • Репутация: +66/-7
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #3 : Февраля 03, 2015, 18:50:55 »
Можно управлять семисегментными индикаторами с помощью регистров сдвига. Делается хоть 20 индикаторов, к нам навесить 20 этих регистров, и управлять всем этим табло по трём проводам  :i_am_so_happy:
Я использовал 74HC595
« Последнее редактирование: Февраля 03, 2015, 18:52:46 от Салют »

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #4 : Февраля 03, 2015, 19:13:39 »
Можно. только зачем? какой пресет - видно с помощью светодиода. Какие там педали включены - видно опять же с помощью светодиодов на петлях... делать отверстие под индикатор квадратное? та еще забава.... ради того, чтобы дублировать инфу? не вижу смысла при 5 пресетах... плюс опять же - занимать еще 1 ногу контроллера под него. коих осталось 2, чего хватает например для еще 1 кнопки и одного реле чтобы сделать куда более важную функцию типа мьюта или отдельного посыла на тюнер.

Оффлайн Sofa_Guitarrero

  • Опытный
  • ****
  • Сообщений: 712
  • Репутация: +57/-1
  • Диванщик! Из палаты мер и весов! BMWMotorrad-труЪ!
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #5 : Февраля 03, 2015, 19:14:11 »
Можно управлять семисегментными индикаторами с помощью регистров сдвига.
+100500 и в интернетах куча готового быдлокода например:
http://lucidtronix.com/tutorials/41

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #6 : Февраля 03, 2015, 19:23:42 »
+100500 и в интернетах куча готового быдлокода например:
http://lucidtronix.com/tutorials/41

да там писать то нечего. Но опять же вопрос - а зачем? что показывать этим индикатором?

... и добавил:

Концепция устройства - максимальная простота и минимум телодвижений\отвлеканий при пользовании  :)

Оффлайн Ден2

  • Ветеран форума
  • ******
  • Сообщений: 4278
  • Репутация: +271/-5
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #7 : Февраля 03, 2015, 19:29:59 »
А мне, как человеку, крайне далёкому от программирования, всё нравится) Сам смогу повторить проект по готовому? Или придётся С++ учить?

Оффлайн Dying Fetus

  • Moderator
  • *****
  • Сообщений: 10260
  • Репутация: +1318/-24
  • DIYng Fetus
    • http://cathar.ru
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #8 : Февраля 03, 2015, 19:33:32 »
Ден2, сможешь. там по факту получается платка с ключами и реле и к ней через проводки плата с наной. нана прошивается софтиной. прошивка есть ;)

Оффлайн Angel

  • Опытный
  • ****
  • Сообщений: 769
  • Репутация: +55/-7
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #9 : Февраля 03, 2015, 19:38:16 »
Нормальная задумка, но я бы все таки добавил хотя бы одну ногу ардуины для миди выхода и тогда получилось бы управлять процессорами/усилками с миди и вышел бы полноценный контроллер для игры пресетами. Ну и уже сказали про индикаторы на сдвиговых регистрах.

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #10 : Февраля 03, 2015, 19:45:48 »
Ден2, да, повторить легко. скачиваешь с оф-сайта софтину, и ей прошиваешь нану с помощью USB кабеля и готовой прошивки. потом нану втыкаешь в соответсвующий разьем на плате - и готово!

Angel, Миди больше чем 1 ногу потребут, т.к. кроме высылки миди уже нужно будет и переключалку какую-то, которая будет переводить режим работы устройства в миди-режим, и тогда бы хорошо освободить аналоговый вход и сделать педаль, которую процессор-усилок будет воспринимать как вау или громкость....
мне кажется, что это задумка для другого проекта с другим контроллером. А Можно взять например Arduino Mega 2560 на 54 ногах (за 12 баксов модуль)... Там можно развернутся по максимуму вообще... штук 12-14 педалей, нормальный дисплей, миди, и прочие радости. :)

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

Технически - можно просто сделать 3 разных контроллера (мини, миди и макси), под разные задачи, для разных потребностей, для разных гитаристов )))
« Последнее редактирование: Февраля 03, 2015, 19:56:57 от Tander »

Оффлайн Салют

  • Завсегдатай
  • ***
  • Сообщений: 417
  • Репутация: +66/-7
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #11 : Февраля 03, 2015, 19:55:46 »
Angel, Миди больше чем 1 ногу потребут, т.к. кроме высылки миди уже нужно будет и переключалку какую-то, которая будет переводить режим работы устройства в миди-режим, и тогда бы хорошо освободить аналоговый вход и сделать педаль, которую процессор-усилок будет воспринимать как вау или громкость....
мне кажется, что это задумка для другого проекта с другим контроллером. Можно взять например - ATmega32u4 или Arduino Micro на базе нее - там уже 32 I/O к которым можно уже будет и миди подцепить, и педалей побольше (штук 8-10), и дисплей нормальный какой-то.
Вот регистры сдвига как-раз и позволяют увеличить число выходов. То есть даже в этом проекте можно управлять всеми светодиодами и всеми реле, используя только 3 ножки Ардуины.
« Последнее редактирование: Февраля 03, 2015, 19:57:52 от Салют »

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #12 : Февраля 03, 2015, 20:00:59 »
Салют, Я делаю из того, что под рукой. Бежать в магазин, покупать регистр сдвига (или заказывать на ибее и ждать 2 недели), подключать, писать под это еще кусок кода.... ради того, чтобы освободить ножки, которых в данном контексте устройства и так хватает? Кто хочет сделать что-то подобное с расширенным функционалом - то милости прошу создавать отдельную тему, с радостью подключусь к дискуссии.   :) я всего лишь делюсь лично своим ИМХО и теми девайсами которые я делаю, в таком виде, в котором делаю  :)  Плюс - каждый желающий, взяв данное устройство за основу может модифицировать по своему усмотрению)))

Оффлайн Салют

  • Завсегдатай
  • ***
  • Сообщений: 417
  • Репутация: +66/-7
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #13 : Февраля 03, 2015, 20:07:52 »
Tander, я просто хотел сказать, что для более сложного проекта совсем не нужно будет задействовать более навороченный микроконтроллер

Оффлайн Tander Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 3731
  • Репутация: +475/-0
    • Efremoff
Re: Простой switcher/looper на Arduino Nano. на 5 педалей.
« Ответ #14 : Февраля 03, 2015, 20:53:04 »
Ок. Спасибо за информацию. Уже заказал 5 регистров сдвига этих.  Как появится задача на более навороченный свичер - попробую заюзать. )