Arduino MIDI крачен контролер: 12 стъпки
Arduino MIDI крачен контролер: 12 стъпки
Anonim
Arduino MIDI крачен контролер
Arduino MIDI крачен контролер

Наскоро проектирах този MIDI контролер да работи с фразата, която е вградена в педала за забавяне Boss DD500. Контролирам цялата си китарна платформа с помощта на Behringer FCB MIDI платка и това ми позволява да променям пластирите на педала за забавяне в цикъла на ефектите, като същевременно превключвам усилвателните канали.

DD500 има вградена основна функция за затваряне, но един от недостатъците е, че когато петлителят е активен, той се контролира от педалните превключватели на педала. Това означава, че не можете да променяте кръпки на педала, докато контурът е активен, тъй като по същество той улавя функциите на педалите. Тъй като използвам MIDI, това ограничение не съществува, тъй като това е просто физически проблем. Това обаче означаваше да резервирам 5 педала на основния ми MIDI контролер за лупера и затова реших да създам отделен контролер за тях.

Първоначалният ми план за това беше да взема малък корпус на Hammond и да сложа 5 крачни превключвателя и да се науча на някои основни кодировки на Arduino. Тъй като започнах да научавам повече и кодът ми работеше, в крайна сметка ме мотивира да опитам повече неща и след това по принцип се превърна в нещо по -голямо.

Стъпка 1: Концепции

Концепции
Концепции
Концепции
Концепции

Една от ранните идеи беше просто да има 5 бутона в един ред със светодиоди за състоянието. Това беше сравнително лесно да се направи на макет с Arduino. Добавянето на нови функции и хардуер в крайна сметка беше процес, в който непрекъснато проектирах и препроектирах физическото оформление на хартия и надградих върху основния проект. Дори и с много планиране, голяма част от работата по това беше донякъде свършена в движение в началото.

Двете снимки по -горе показват първия чертеж, който направих на хартия, който даде началото на идеята, последван от месец бележки, направени след това, което оформяше физическото и PCB оформлението.

Стъпка 2: Прототипиране на платка

Прототипиране на платка
Прототипиране на платка
Прототипиране на платка
Прототипиране на платка

Целият проект е изграден върху макет и изцяло тестван, за да се увери, че функционира напълно с DD500, преди да започне каквато и да е работа за постоянно настаняване. В кода бяха добавени някои допълнителни функции, които дадоха на контролера някои допълнителни функции, които DD500 липсваше. Те ще бъдат обсъдени по -подробно в кодовия раздел.

Педалът има 5 крачни превключвателя, 4 светодиода за състоянието, 5 I2C LCD екрана и се управлява от Arduino Nano Every. Той получава захранване от 9V захранващ педал за китара чрез отделна пробивна кутия, която пренася тази мощност през MIDI кабела, като използва 2 пина, които обикновено не се използват на MIDI конектор.

Стъпка 3: Изработка

Изработка
Изработка
Изработка
Изработка
Изработка
Изработка

Разгледах много възможни случаи за настаняване на проекта и дори обмислих идеята да се опитам да огъна собствения си калъф от алуминиеви листове. В крайна сметка се спрях на корпус на Хамънд, който беше достатъчно широк, за да побере 5 -те LCD екрана 16X2, които бях избрал.

Стъпковите превключватели бяха общи моментни превключватели с меко докосване.

На този етап реших да направя екранирани рамки за монтиране, за да поддържам предната част чиста, тъй като щях да отрежа ръчно дупките на екрана с Dremel и знаех, че вероятно ще има няколко области, които са по -малко от перфектни. Нарязах ги от местно дизайнерско студио, което прави лазерно рязане, първо като картонени шаблони, за да се уверя, че всичките ми размери са правилни, а след това в 3 мм бял акрил за последното парче.

Стъпка 4: CAD макет и оформление

CAD макет и оформление
CAD макет и оформление
CAD макет и оформление
CAD макет и оформление

От моите скици на хартия използвах Inkscape, за да изложа всички физически компоненти и да финализирам размерите и позициите. Аз също измислих метода за монтаж на екрана на този етап. За да сведем до минимум количеството видими болтове отпред, реших да монтирам всички екрани към някои алуминиеви плочи отзад, като използвам стойки, а след това ще ми трябват само 4 болта на плоча, за да ги фиксирам към кутията, което също така ще държи рамките на екрана на място.

Стъпка 5: Дизайн на печатни платки

Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки

За да създам печатна платка, използвах уебсайт, наречен EasyEDA. Той разполага с редакторска среда, в която можете да нарисувате схема на вашите компоненти, да я превърнете в оформление на печатна платка и след това да я експортирате директно в JLCPCB, за да я направите на дъски. Никога досега не бях правил подобно нещо, но те имат отлично ръководство на сайта, което обяснява как работи редакторът и в рамките на един час бях накарал таблото да бъде проектирано и поръчано.

Някои области на платката по това време са били лошо проектирани поради неопитност, като например използването на една 5V релса за захранване на екрана, например, вместо да се дава на всеки отделно захранване. За щастие всички падащи напрежения, които се случиха, не бяха достатъчни, за да причинят проблеми с екраните.

Таблата пристигнаха около 2 седмици по -късно и за щастие работеха без никакви проблеми.

Стъпка 6: Монтажи на екрана

Монтажи на екрана
Монтажи на екрана
Монтажи на екрана
Монтажи на екрана
Монтажи на екрана
Монтажи на екрана

Първите направени части бяха монтажите на екрана. Използвах 3 мм алуминий за това и пробих отвори за отстояване. Размерите бяха определени чрез поставяне на всичко на бюрото, както исках да бъде крайният педал, и измерване от монтажните отвори на печатните платки на екрана. Също така поставих педалните превключватели с тях, за да получа разстоянията за тези.

След като всички отвори бяха пробити, екраните бяха монтирани и проверени за правоъгълност чрез придържане на линийка към плоските долни ръбове. Всичко се подреди досега.

Стъпка 7: Приложение

Корпус
Корпус
Корпус
Корпус
Корпус
Корпус

Следва промяна на случая. Стъпковите превключватели и светодиодите бяха ясни, тъй като всеки просто изискваше съответно 12 мм и 5 мм отвор.

Основната част от физическата работа идва при изрязването на дупките на екрана. Използвах Dremel с някои тежки режещи дискове и различни файлове, за да почистя дупките след това. Тази част отне всичко около 2 часа.

Корпусът, който използвах, е проектиран за промишлени цели и е направен чрез огъване на едно парче метал и точково заваряване на ъглите. Това означаваше, че ще е необходима известна работа, за да се почистят тези ъгли, като се използва пълнител за каросерия на автомобила, за да се изравнят долните точки и да се запълнят празнините по ръба.

В този момент случаят беше напълно подготвен и аз се подигравах с всичко, само за да видя как ще изглежда.

Стъпка 8: Ъ-О

Ъ-О
Ъ-О
О-о-о
О-о-о
О-о-о
О-о-о

И тогава дойде осъзнаването, че въпреки цялото си планиране и измерване, направих една ОГРОМНА грешка. Проектирах оформлението на платката и корпуса независимо един от друг. В главата ми дъската щеше да седи почти встрани до горната стена, с кратка стойка зад нея. Но нямаше абсолютно никакъв начин това да е подходящо. И нямаше място да го сложиш отстрани. Огромен пропуск, но за щастие такъв, който успях да поправя, тъй като все още имаше доста малко пространство между стойките на екрана на задния капак на кутията. Още няколко дупки, пробити в стойките на екрана, и няколко отклонения, и ние сме отново в бизнеса, с достатъчно място, за да поставите капака.

Стъпка 9: Боядисване

Боядисване
Боядисване
Боядисване
Боядисване
Боядисване
Боядисване

Всичко беше разглобено отново и корпусът беше боядисан в метализирано бонбонено червено, последвано от няколко слоя лак. Случаят беше оставен да се втвърди за една седмица, въпреки че открих, че лакът все още беше леко мек в този момент, когато изграждах всичко. Няколко малки участъка от боята се повредиха поради това. Нещо, което се стремя да избегна при следващия си проект.

През това време бях закупил 3D принтер и реших да го използвам, за да направя няколко шайби за крачни превключватели, тъй като найлоновите, които бях купил, имаха ужасен жълтеникав оттенък и бяха с лоши размери.

Стъпка 10: Окабеляване

Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации

Последната част от физическото сглобяване беше да свърже всичко. Отново проблемите с дизайна на корпуса/дизайна на печатни платки се появиха отново и някои от позициите на заглавките на печатната платка означаваха пресичане на много проводници един върху друг, правейки нещата малко по -разхвърляни, отколкото се надявах.

Проводниците за екраните бяха обединени в комплекти от 4 и с помощта на радиатор и плитка обвивка, направени в едно цяло.

Стъпка 11: Arduino код

Image
Image

Като тотален начинаещ в кодирането на Arduino, аз се учех, докато вървях. Кодът вероятно е еквивалент на програмиране на „дълъг път“, но бях доволен, че работи по предназначение.

Петлителят на DD500 има 5 основни функции:

  • Включване/изключване на лупера
  • Запис/Overdub/Възпроизвеждане
  • Възпроизвеждане на записан цикъл
  • Спрете възпроизвеждането
  • Изчистете записания цикъл

Всяка от тези функции има съответния крачен превключвател и, с изключение на бутона за спиране, светодиоден индикатор за състоянието. LCD екраните също се актуализират със съответна информация, за да покажат дали педалът е в режим на запис, наслояване или възпроизвеждане, както и каква функция ще изпълнява всеки крачен превключвател в зависимост от случващото се по това време.

Друга функция, която добавих, беше да проследя колко пъти е активирана функцията за запис/наслагване. Това се следи в кода чрез увеличаване на цяло число, което се показва на екрана „буфер“, като се изброява колко записи са записани. Докато DD500 не може да изтрие отделни песни, добавих това само като упражнение за кодиране, за да видя дали мога да го накарам да работи.

Изглежда, че има проблем с качването на файлове в Instructables и затова поставих копие от кода на Pastebin вместо това на:

В кода бяха използвани 2 библиотеки:

LiquidCrystal_I2C

FortySevenEffects MIDI библиотека

Стъпка 12: Заключение

Заключение
Заключение

Едно от най -големите неща, които отнемам от този проект, е, че планирането колкото е възможно по -рано може да избегне потенциални проблеми. Проблемите с монтирането на моята печатна платка подчертават важността на това. Поддържането на добри бележки също е нещо, което силно препоръчвам. Без тях може да съм срещнал повече проблеми, отколкото съм имал. В момента изграждам втория си MIDI контролер и този път положих по -големи усилия за рационализиране на кода си и за проектиране на хардуера около начина на монтиране на печатната платка.

Препоръчано: