Майсторът е измислил Kravox по време на изследователски проект в университета в Лунд (Швеция), чиято цел е да даде на контролерите на цифрови музикални инструменти усещането за традиционните механични инструменти. Сега майсторът иска да направи Kravox достъпен за всички като музикална платформа за експерименти. Именно за това той създаде този подробен брифинг, който ще позволи на колкото се може повече хора да използват този нов интересен музикален инструмент.
Игра на Kravox е доста проста. Представете си, че играете с обикновен предмет, например метла, и начинът, по който го докосвате и движите в пространството, контролира как се генерира звукът. Можете да гледате и чувате как да играете на Kravox, както и процеса на изработка на инструмента, в края на статията във видеоклиповете.
Инструменти и материали:
- дъска 50 * 24 дупки -1 бр;
-40-пинов мъжки конектори -5 бр;
-40-пинов щепсел - 5 бр;
- Потенциометри 10 kOhm и дръжки за тях - 5 бр;
-Светло 5 мм стандартни светодиоди - 3 бр;
- Резистори 150 Ома - 3 бр;
- кондензатор 10 uF - 2 бр;
- кондензатор 100 nF - 2 бр;
-Radio модул NRF24L01 - 2 бр;
-Arduino нано -2 бр;
-Резистори 220 Ом -3 бр;
- Табла на сензорни сензори MPR121 - 2 бр;
- Цифров жироскоп GY-521 MPU 6050 - 1 бр;
- USB-A до USB-C кабели;
-4 метра (минимум) медна лента с широчина 1 см;
-Poverbank;
-7 метра (минимум) проводници от различни цветове;
-0,2 метра, термосвиваема тръба ø = 3 мм;
-Паялни аксесоари;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Клещи;
-Karton;
-Лесен пистолет;
-Skotch;
-Kley;
-Офисна дъвка;
-Zazhimy;
Първа стъпка: Теория
Kravox е многопластов дигитален музикален инструмент с отворен код, който се състои от три компонента - контролер / контролери, приемник и софтуер.
Можете да свържете до три безжични контролера. Всеки контролер обработва данни за ориентация и ускорение от цифровия жироскоп MPU-6050 и сензорни данни от две сензорни платки MPR121, свързани към Arduino Nano. Контролерът изпраща данни до приемника с помощта на радиопредавателя nRF24L01. Ако е необходимо да се използват повече от един контролер, на втория и третия контролер трябва да бъдат назначени индивидуални адреси.
Приемникът предава данни, получени от контролера (ите), към свързания компютър заедно с данни, събрани от няколко потенциометра.Предоставеният код на приемник ви позволява да установите комуникация с три контролера, но също така ще работи само с един или два без настройки.
Данните от приемника се обработват в програма, написана в тази, която издава звук.
Красотата на Kravox е, че формата му, как звучи и как да играе може да се регулира. Това даде възможност на съветника да разработи лесна за копиране версия на Kravox за този урок.
Стъпка втора: създайте контролна платка
След това съветникът обяснява как да се направи електроника контролер стъпка по стъпка от горните детайли.
Ако не сте сигурни къде да спойкате кабела, винаги можете да се върнете към схемата и да проверите дали компонентите са свързани правилно.
Първата стъпка е да изрежете дъската и съединителите и да ги сглобите заедно с малък и голям кондензатор, които спомагат за повишаване на надеждността на радиопредавателя.
Нарежете дъската с помощен нож
Изрежете конекторите с ножовка (майсторът ги постави върху книгата, за да ги подравнят от масата)
Инсталирайте конекторите на дъската и спойка. Вече можете да свържете всяка двойка контакти от двама
дълги съединители, които са в съседство един с друг. За останалото е достатъчно просто да ги прикрепите с малка спойка - за предпочитане контакти, които в съответствие с схемата на веригата няма да бъдат свързани по-късно. Когато запоявате кондензатори, обърнете внимание на полярността на електролитния кондензатор от 10 микрофарада (по-големият от двата). Едната страна ще има лента и като правило по-къс крак. Тази страна трябва да бъде свързана със земята. По-малкият 100 нанофараден кондензатор не е поляризиран и може да бъде запоен по всякакъв начин.
Освен това светодиодните резистори са запоени. Обърнете внимание на полярността на светодиода: едната страна обикновено има по-къс крак. Тази страна трябва да бъде свързана със земята в следващата стъпка. Към другия крак е споена синя жица. Другият край на проводника е споен към конектора, където ще бъде свързан Arduino щифт D3.
След това се монтират всички червени и сини захранващи кабели. Червено за 3.3 волта и синьо за земя (GND).
Три сензорни платки комуникират чрез I2C протокол (интегрална схема). Това означава, че всички те могат да бъдат свързани към едни и същи два Arduino щифта, така че ние спояваме жълтите и зелените проводници към сензорите и пиновете на Arduino A4 и A5. Също така трябва да монтирате бял кабел, за да свържете прекъсващите контакти на жироскопа.
Радиопредавателят комуникира чрез SPI протокол (сериен)
периферен интерфейс), който изисква повече връзки от I2C, съветникът добавя черни, сиви, кафяви, лилави и оранжеви проводници.
Сега е време да подготвите компонентите. В допълнение към запояване на щифтови съединители, ако не
запоени, трябва да обърнете специално внимание на сензорната платка! За евтини модели от Китай, адресният щифт е твърдо заземен без междинен резистор, така че е необходимо физически да прережете тази връзка в долната част на дъската с нож. Изрежете между две подложки близо до мястото, където е написано ADD. Съветникът препоръчва звънене с мултицет, за да се уверите, че контактите не са свързани.
Когато всички части имат споени конектори и сензорните платки са подготвени, можете да свържете Arduino Nano, жироскоп, две сензорни табла и радиомодул към платката на контролера.
Трета стъпка: Код за изтегляне
След двойна проверка, ако всичко е свързано правилно, следващата стъпка е да изтеглите предоставения нано Arduino, но преди да можете да направите това, ще трябва да инсталирате библиотеките за жироскопа, сензорните платки и радиопредавателя. Ако сте нови в библиотеките на Arduino, научете как да ги инсталирате.
Жироскопът MPU6050 изисква библиотеките I2Cdev.h и MPU6050_6Axis_MotionApps20.h, които могат да бъдат изтеглени.
За сензорните карти MPR121 е необходима бистра библиотека MPR121.h, която може да бъде намерена. Има поне две версии на библиотеката. Не забравяйте да инсталирате версията, разработена от Bare Conductive, а не версията, разработена от Adafruit.
Платната за радиопредаватели NRF24L01 изисква nRF24L01.h и RF24.h TMRh20 библиотеки, които могат да бъдат изтеглени. Моля, обърнете внимание: има също поне две версии на тези библиотеки със същото име. Не забравяйте да инсталирате разработения TMRh20, а не маниакбуга.
След като библиотеките са инсталирани, можете да изтеглите кода Kravox-Controller.
За да проверите дали контролерът работи, можете да му позволите да извежда данни от сензорни сензори и жироскоп през сериен монитор. За да направите това, трябва да редактирате последния раздел от кода на получателя, преди да изтеглите: като премахнете коментарния знак в началото (/ *) и в края (* /) от него (вижте. Снимка)
След като изтеглите кода с тази опция, трябва да отворите серийния монитор и да зададете скоростта на предаване (скорост на предаване) за него на 115200. Сега можете да видите данните от сензорите, които се променят при преместване на платката на контролера и докосването на контактите, от платките MPR121, които са маркирани от 0 до 11.
Ако нищо не работи или се получават само нули, трябва внимателно да проверите окабеляването и да го сравните с горната диаграма. Ако получите грешен сигнал от серийния монитор, трябва да проверите дали скоростите на предаване на данни са настроени правилно.
Четвърта стъпка: Мощност на дъската
За захранване е необходимо да свържете платката на контролера към банката.
Ако банката не се изключи автоматично след известно време, платката на контролера е завършена и можете да отидете на платката на приемника. В противен случай следвайте следващата стъпка.
Стъпка пета: Решаване на проблема с захранването
По принцип платката на контролера е готова, но някои банки автоматично ще се изключат след няколко секунди, когато са свързани към платката на контролера, тъй като тя консумира малко енергия. Като решение можете просто да добавите три резистора 220 Ohm паралелно между 5V и GND щифтовете на Arduino.
След като свържете отново компонентите, (определено) готовата платка на контролера изглежда така.
Стъпка шеста: Създайте приемник
В тази стъпка съветникът ще ви покаже как да направите платката на приемника. Процесът е много подобен на направата на контролна платка.
Първо трябва да отрежете дъската и съединителите. След това инсталирайте кондензаторите. Можете да сравните тази стъпка с първата стъпка от създаването на контролна платка за повече информация.
След това трябва да добавите всички червени и сини проводници. Червено за 3.3 волта и синьо за земя (GND).
Окабеляване за комуникация SPI.
Платката за приемник е готова, но преди да качите кода Kravox-Receiver в Arduino Nano, първо трябва да създадете интерфейс за приемника.
След това съветникът показва как да направите интерфейс с 4 потенциометра и светодиод за приемника. Интерфейсът е свързан, както на първата фигура, и ще бъде свързан към платката на приемника, както се вижда на втората фигура.
Процедурата е следната, първо трябва да вземете сноп от 8 кабела и спойка 5 от тях към средните контакти на потенциометрите. Препоръчително е да използвате същите цветове като на диаграмата, за да не се объркате.
След това трябва да изрежете дъската 2 реда от 17 дупки и 17-пинов мъжки конектор. Прикрепете кабелите и конектора към платката. Обърнете внимание на диаграмата по-горе, за да сте сигурни, че свързвате кабелите на правилните места.
Сега трябва да спойкате сини проводници (земята) към един от контактите на всички потенциометри. Припойвате син светодиод с резистор за ограничаване на тока от 150 ома.
Припой зелен проводник.
Готовият интерфейс трябва да изглежда така (снимка 1) и може да бъде свързан към приемната платка така (снимка 2).
Седма стъпка: код
Вече е наличен за изтегляне на приемник на Arduino Nano.
За да проверите, трябва да направите малка корекция на кода отново, преди да изтеглите. По подразбиране приемникът показва своите данни във формат, който може да се интерпретира като чисти данни, но не показва полезна информация на сериен монитор. Можете обаче да промените това поведение във вашия код, като редактирате (добавите // преди) реда #define WRITE_AS_BYTES и (премахнете // преди) реда // #define PRINT_VIA_SERIAL_MONITOR.
Стъпка осма: Дело
По-нататък от медната лента, капитанът прави сензор.
За да направи случая, капитанът използва празни кутии.
Майсторът рисува картон. Изрязва 24 медни ленти и се закрепва върху картон.
Тогава майсторът изрязва картона с размери 2 * 24 дупки и 24-пинов мъжки конектор по размер и продавачите 24 проводника към него. Проводниците в средата трябва да са с дължина поне 10 см. С отдалечаване от центъра дължината на проводниците се увеличава. Например, ако използвате медна лента с ширина 1 см и разстоянието между електродите 3 мм, дължината на жицата трябва да се увеличи с 1,3 см, както е показано по-долу: 10 / 11,3 / 12,6 / 13,9 / 15,2 ...
Сега можете да спойкате вторите краища на проводниците към медните ленти и да запечатате лентите с лента.
Залепете сензора в тялото и след това залепете друго тяло към него (за проверка).
Покрива гърба на платката на контролера с картон.
Инсталира светодиоди и банк за захранване. Трябва да подредите банката за захранване, така че да можете да свържете и изключите USB кабела, защото така контролерът се включва и изключва. Също така свържете сензорния интерфейс към платката на контролера и го поставете в кутията.
Прави изрез за USB-A-USB-C кабела на кръстовището на двете кутии, издърпва го и го свързва с Arduino Nano.
Сега контролерът е готов.
Майсторът поправя случая с помощта на канцеларски дъвки. Ако впоследствие възникнат проблеми със сензори, които откриват допир, когато те не присъстват, трябва да поставите изолационен материал, като филм или други подобни, между чувствителния на допир корпус, електрическата платка и проводниците. Свържете захранването, без да докосвате сензорите.
Стъпка девета: Създаване на калъф за приемник
Сега трябва да направите корпус за приемника. Съветникът изрязва няколко кръгли дупки за потенциометри и светодиоди.
Той залепва платката на приемника, LED, винтови потенциометри. Задава дръжките.
Стъпка десета: Завършете
Сега, когато цялото оборудване е монтирано, е време да пуснем музика! За целта ви трябва софтуер, към който можете да свържете оборудване. За Kravox това е софтуерът Pure Data Vanilla, който можете да изтеглите безплатно.
След като инсталирате Pure Data на компютъра, трябва да го стартирате и да отворите файла Kravox.pd. Моля, обърнете внимание, че тя трябва да бъде записана на вашия компютър в същата папка като папката drumsamples, с която е доставена - в противен случай Pure Data няма да може да намери файловете.
Веднага щом се отвори програмният интерфейс Kravox.pd, трябва да отворите прозореца, както е на снимката, и да инсталирате четирите така наречени външни устройства, които са изброени в този прозорец. Инсталирането им е просто, просто щракнете върху "помощ" в менюто "Чисти данни", изберете "Намери допълнителни обекти в интернет" (може да е малко по-различно), намерете "comport", "zexy", "freeverb" и "arraysize". "един по един и инсталирайте най-новата версия. Сега четирите обекта, маркирани като comport, repack, freeverb и arraysize, трябва да имат солидни очертания, както е на фигурата по-долу. Може да се наложи да рестартирате Pure Data, за да направите това.
След като инсталирате външни устройства, можете да свържете приемника чрез USB. Ако сте променили кода в част 4, за да използвате приемника с Arduino сериен монитор, първо трябва да отмените тази промяна и да заредите изходния код в приемника на Arduino Nano, преди да свържете и затворите серийния монитор на Arduino.
Сега погледнете прозореца Чисти данни. Ако видите бързо актуализиран поток от данни, това е чудесно, но най-вероятно ще ви покаже червено съобщение, като това в първото изображение, което се актуализира на всеки две секунди.
Червеният текст може да е малко по-различен, но все пак това означава, че Pure Data все още не са успели да се свържат с вашия приемник. Това е така, защото програмата трябва да посочи кой USB порт да се свърже. USB портовете могат да бъдат етикетирани по различен начин на различни устройства; в MacBook Pro 2014 Pure Data разпознава двата USB порта като сериен порт 3, независимо към кой приемник се свързвате. Тогава съветникът използва Kravox с Lenovo Yoga Pad само с един работещ USB порт, който беше определен като сериен порт 6. В Windows портовете са обозначени като 8 и 9. Съветникът съветва просто да се опитате да разберете кой номер USB порта работи на вашето устройство , Той създаде диалог като част от интерфейса на Kravox.pd (втора снимка), където можете просто да щракнете върху числата, докато устройството работи. Можете също да опитате „Покажи достъпните портове“ и бутоните „Покажи свързани USB устройства“.
След това трябва да кликнете върху „Запазване“, така че Pure Data да се опита да се свърже към този порт следващия път автоматично.
Ако кодът на контролера е бил редактиран, тогава трябва да презаредите кода.
Остава да свържете контролната платка към захранването. Когато направите това, корпусът на сензорния интерфейс около дъската трябва да бъде затворен, а сензорната част на корпуса не трябва да докосва ръцете ви или нещо друго.
Всичко е готово, допълнителна информация можете да видите във видеото.