Съдържание:
Видео: HX1 -DM - Upcycled Arduino DUE Powered DIY барабанна машина (направена с мъртва машина MK2): 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Спецификацията
- Хибриден Midi контролер / барабанна машина: Arduino DUE захранван!
- 16 Скоростни сензорни подложки с много ниска латентност 1> ms
- 8 копчета, които потребителят може да назначи за всяка команда на Midi #CC
- 16-канален вграден секвенсор (не е необходим компютър !!)
- MIDI вход/изход/през функционалност (може да се използва като USB midi интерфейс!)
- Частична поддръжка на MIDI часовник и MTC (работи по управление на MMC и DAW)
Това определено е един от най -сложните проекти, по които съм работил, говорих за 17 изходни регистъра за смяна, 6 входни регистри за смяна, 2x 16 канални мултиплексора, работещи на платка Нямам представа какво е какво и къде плюс никога не съм бъркал със сместващи регистри / мултиплексори преди ……
Започна като импулсно изкупуване от eBay, наистина исках Native Instruments Maschine, защото винаги съм харесвал барабанните тампони върху тях в сравнение с тези в MPC студиото, което притежавах, така че когато видях дефектен в eBay за £ 40, си помислих Бих се опитал да го поправя, като най -лошият сценарий е „ако не мога да го поправя, имам Arduino DUE и няколко UNO, които лежат наоколо, винаги мога да направя някакъв хак“
И без това много ми харесват тези барабанни накладки !!!!
Консумативи
1 x дефектна машина за местни инструменти MK2
1 x Arduino Due.
17 x SN74HC595’s - 8 -битови изходни регистри за смяна
6 x SN74HC165’s - 8 -битови регистри за смяна на вход
2 x 74HC4067 - 16 канални мултиплексори.
2 x 3.2”256x64 OLED дисплея.
някакъв плосък проводник (ще е подходящ стар флопи кабел)
Стъпка 1: Ремонтът
Продавачът на eBay беше любезен да даде представа какво да очаква в описанието и беше премахнал USB порта. Платката е претърпяла пренапрежение и не се е включила. Посочете мултицета…. Изглежда, че платката има къса.. „Ремонтирал съм безброй дънни платки с къси панталони преди това. Колко трудно може да бъде!?!“Оказа се, че това пренапрежение (и вероятно отчасти дизайна на платката), беше извадило почти ВСЕКИ компонент на платката, включително основния процесор. Тази дъска беше в наистина лош начин!
Продължих да пробивам и пробивам с моя мултицет, направих малко проучване на компонентите и разбрах какво прави всеки плюс NI свърши чудесна работа, като направи нещата доста очевидни с различните тестови точки около дънната платка ??.
Стъпка 2: Хакването
Знаейки, че ще трябва да заменя всичко, освен основния процесор (което няма да е необходимо), се обърнах към eBay. Благодарение на всичко необходимо беше евтино, така че поръчването на товар от тях беше забавно. ?
17 x SN74HC595’s - 8 -битови изходни регистри за смяна
17-те изходни регистъра за смяна се използват за управление на многоцветните светодиоди на барабанната подложка и всички светодиоди за бутони (136 за да бъдем точни !!) Те са наистина лесни за използване и бързо намериха библиотека с помощта на Arduino IDE, за да се спася като си направя такава.. те са приковани заедно.
6 x SN74HC165’s - 8 -битов входен регистър за смяна
Тези регистри на смяна на входа са чудесни за множество входове на 1 канал. Общо има 48 бутона.
2 x 74HC4067 - 16 канални мултиплексори
Имаме 16 подложки и 8 копчета, които също са аналогови. Намерих, че е по -лесно да ги използвам, тъй като тези на борда бяха 8 -канални и имах проблеми с намирането къде да свържа пиновете за данни.. битка за спагети….
2 x 3.2”256x64 OLED дисплея
Трябва да има екрани !!! Не можах да намеря информация за оригиналните LCD екрани, които се появиха в NI Maschine и не можех да се притеснявам да губя повече време в опити, затова реших да поръчам някои от Китай … Използвах библиотеката UG8x8, за да работи. Новите екрани бяха малко по -малки от оригинала, така че просто премахнах „лошите битове“.
1 x Arduino Due
Имах това да лежа известно време в очакване на проект, достатъчно достоен за цялата тази сила !! Възникна проблем, който срещнах. Изглежда, че някои ревизии на тези платки имат проблем с нулирането, което означаваше, че понякога трябваше да натискам бутона за нулиране, за да стартирам работата след качване на скица. Това лесно беше поправено с 10K резистор (има публикация във форума на Arduino за това).
Стъпка 3: Кодът
Бях наистина впечатлен от това колко голяма подкрепа има в общността на Arduino, намирането на примери за код и библиотеки за различните компоненти беше наистина просто и ясно.
Стартирането и стартирането на USB midi беше лесно и отне няколко минути. Светодиодите отнеха известно време и трябваше да създам скица, която постепенно задава всеки пин ВИСОКИ на интервали от 1 секунда и си взема бележка. Направих масив, който съдържаше ПИН кодовете, за да улесня кодирането на всичко.
Направих 2 библиотеки, за да говоря с мултиплексорите, едната обработва аналоговите подложки, а другата копчетата. Отново това беше наистина просто. Прикачих ги, не се колебайте да използвате редактиране и т.н.
Исках да имам секвенсор и възможност за запис без нужда от компютър, намерих малко информация за това как да конвертирам BPM в ms и намерих страхотна библиотека с таймери на Arduino DUE.
Използвайки библиотеката на таймера, успях да задам входове за четене и неща на интервали:
Подложки @ 1ms - Открих това, за да дам най -добрия баланс между артефакти за отговор / де -bounce.
Бутони @ 40ms - Използвах библиотека на опашки, така че не е пропуснато натискане.
Обработката се извършва в основния цикъл, не можете да правите твърде много, когато сте в прекъсване, тъй като това ще заключи Arduino.
Midi неща @BPM (в мс) - за последователността, при желания BPM се извиква функция, която актуализира кои бележки ETC трябва да се играе и увеличава брояча на ритъма.
Стъпка 4: Заключение
Не съм сигурен какво съм направил тук, но съм доста горд, подложките реагират отлично, трябваше да потърся времето, за да постигна правилния баланс с отзивчивостта и проблемите. Последователността работи чудесно и след като разбера поддръжката на DAW, мога напълно да интегрирам това нещо в моя работен процес и да мога да добавя неща в контролер, който винаги съм искал!. Това беше наистина забавен проект за работа и страхотно упражнение в овладяване на C, разбиране на обратния инженеринг и как работят мултиплексорите, регистрите за смяна и MIDI последователността. Продължавам да подобрявам основния код и може би ще го пусна някой ден като дизайнер на ритъм с отворен код.
СЪВЕТИ:
Открих как да променя USB името на DUE, като редактирам един от заглавните файлове в папката Arduino/SAM.
MIDI-OX е чудесен инструмент за тестване на функционалността на Midi
ВРЪЗКИ:
www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Малко информация за това как да конвертирате BPM в ms
travis-ci.com/SMFSW/Queue - За въвеждане на бутони, за да не пропуснем натискане!
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib за LED/LCD екрани
github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib
www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib за голямото копче
shiftregister.simsso.de/ - ShiftIn Register lib - Създадено от Henrik Heine, 24 юли 2016 г.
forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code
Препоръчано:
Проста барабанна машина с Arduino Uno и Mozzi: 4 стъпки
Проста барабанна машина с Arduino Uno и Mozzi: Животът в Аржентина означава, че международната поща ще бъде открадната или ще се забие в митницата. Добавете карантина за коронавирус и следващият ви проект е ограничен до стара дъска Arduino Uno. Добри новини? Както казва великият поет от „Ролинг Стоунс“„Времето тече на
Makey Makey Електрически барабани / барабанна машина: 8 стъпки
Makey Makey Electric Drums / Drum Machine: Този урок за това как да се изгради набор от електрически барабани, е участие в състезанието Makey Makey.материал, ще варира в зависимост от наличността и личния избор. Картонът може да бъде заменен с по -трайни материали и слоести с пяна/ друго за текс
Серво барабанна машина Arduino: 4 стъпки
Arduino Servo Drum Machine: Това е обикновена два микро-серво и Arduino Uno контролирана барабанна машина или робот. Сервомоторите са монтирани на L-образна скоба от дърво, която се придържа към барабана с 4 силни магнита. Серво раменете са прикрепени към две клечки, които служат като
Ремонт на мъртва батерия на лаптоп: 16 стъпки (със снимки)
Ремонт на мъртва батерия на лаптоп: Всички го знаем. Изведнъж батерията на лаптопа ви спира да работи. Той няма да се зарежда и в момента, в който извадите зарядното устройство, лаптопът се изключва. Имате изтощена батерия. Имам поправка, която ще го съживи. Моля, обърнете внимание, че ние само съживяваме мъртъв бой
Super GrooveAxe: Мини барабанна машина: 10 стъпки (със снимки)
Super GrooveAxe: Мини барабанна машина: Почувствайте малкия бум! Чувствали ли сте някога, че ви липсват някои бийтове? Нуждае ли се денят ви от по -добър саундтрак? Усетете бума с Super GrooveAxe! Това е джобна батерийна барабанна машина & секвенсор, който можете да вземете навсякъде. Това прави навечерието