Бързо плодово пиано с MIDI: 6 стъпки (със снимки)
Бързо плодово пиано с MIDI: 6 стъпки (със снимки)
Anonim
Image
Image
Бързо плодово пиано с MIDI
Бързо плодово пиано с MIDI

Това е наистина просто пиано с капацитивно докосване. Докоснете плодове, кутии сода, бутилки вода, ленти от алуминиево фолио и т.н. и получавате полифонична музика за пиано от компютъра си. Сега, когато софтуерът е написан, проектът не трябва да отнеме повече от 10 минути, за да бъде съставен заедно с версията на Arduino.

Имате нужда от:

  • Arduino (Mega за 8 ключа, Uno за 6 клавиша) или черна платка STM32F103C8 хапче ($ 2 на Aliexpress) плюс UART конвертор към USB (например Arduino или CH340)
  • USB кабел
  • малко алуминиево фолио
  • в идеалния случай тествайте клипове, но джъмперите и кламерите ще се справят (идея за това от тук)
  • плодове или тесто за игра или парчета хартия с области, оцветени с молив
  • компютър.

Не са необходими допълнителни компоненти, тъй като това използва код от брилянтната библиотека на ADCTouch на martin2250 и Arduino изпраща MIDI команди през сериен към компютъра. Аудио възпроизвеждането на Arduino се осъществява или чрез включен скрипт на python на компютъра, или без козина.

Ако използвате дъската за разработка на STM32F103C8, тогава е още по-хубаво: пианото се превръща в истински USB MIDI контролер, без да е необходима безкосместа-midiserial.

Забележка: За да предотвратите повреда на Arduino/STM32F1 от статично електричество, особено в сух ден или върху килим, предлагам да не докосвате алуминиевото фолио или тестовите скоби, когато устройството работи. Вместо това докоснете плодовете, тестото за игра и т.н., чиято съпротива трябва да осигури известна защита от ESD

Стъпка 1: Библиотеки на Arduino

Библиотеки на Arduino
Библиотеки на Arduino

В IDE на Arduino изберете Sketch | Включване на библиотека | Библиотечен мениджър. Потърсете моя ADCTouchSensor. Инсталирайте библиотеката.

След това изберете File | Примери | ADCTouchSensor | Капацитивно пиано.

Ако имате Arduino, включете вашия Arduino в USB порта на компютъра си и качете скицата на CapacitivePiano във вашия Uno или Mega. Скицата ще изпрати данни към компютъра чрез USB сериал за това кой от 8 (Mega) или 6 (Uno) капацитивни сензори е задействан.

Ако имате STM32F103C8, първо инсталирайте буутлоудъра и настройте Arduino IDE за него (с моя клон на клона addMidiHID), като следвате първите три стъпки тук. След това се върнете към библиотечния мениджър и потърсете моята USBHID_stm32f1 библиотека. Инсталирайте го.

Стъпка 2: Прикрепете води към клавишите за пиано

Прикрепете води към клавишите за пиано
Прикрепете води към клавишите за пиано
Прикрепете води към клавишите за пиано
Прикрепете води към клавишите за пиано

Прекарайте проводници от щифтовете A0-A7 (A0-A5 на Uno) на вашия Arduino или STM32F103C8 към всичко, което искате да функционира като клавиши за пиано. Например, използвах джъмпери с алигаторни щипки или тестови клипове, разнасящи парчета алуминиево фолио, на всяко от които слагах или кутия сода или портокал като ключ. Алуминиевото фолио може да се използва директно като ключ. Или човек може да залепи тел в парче плод или зеленчук или играчка.

Стъпка 3: Инсталирайте софтуер: Вариант A: Arduino и MIDI без коса към сериен мост

Можете да изтеглите и инсталирате Hairless MIDI към Serial Bridge (Win/OSX/Linux), за да свържете USB-серийния изход на Arduino със софтуера за синтезатор на вашия компютър.

Ако имате Windows 7 или по-нова, можете да използвате вградения Microsoft Wavetable GS Synth, така че всичко, което трябва да инсталирате, е Hairless. Някои други програми за възпроизвеждане ще изискват loopMIDI.

В други системи може да се нуждаете от MIDI синтезатор като VirtualMidiSynth или Garageband. Можете също да използвате VirtualMidiSynth в Windows, ако желаете.

Стъпка 4: Инсталирайте софтуер: Вариант B: Arduino и Python

Инсталирайте софтуер: Вариант Б: Arduino и Python
Инсталирайте софтуер: Вариант Б: Arduino и Python

Можете също така просто да използвате прост включен скрипт на Python, който възпроизвежда MIDI бележки.

Уверете се, че имате инсталиран Python на вашия компютър. Или 2.7 или 3.x ще са подходящи.

Уверете се, че имате инсталиран Pygame Python пакет. Ако не, стартирайте това от командния ред:

python -m pip install pygame

Разберете какъв адрес е серийният порт на вашия Arduino. Вашата IDE на Arduino ще има серийни портове, изброени в Инструменти | Пристанище.

В пакета CapacitivePiano, който сте изтеглили, ще намерите скрипта music.py, който е компютърната страна на проекта.

Стъпка 5: Инсталирайте софтуер: Вариант C: STM32F103C и софтуер за MIDI синтезатор

Инсталирайте софтуер: Опция C: STM32F103C и софтуер за MIDI синтезатор
Инсталирайте софтуер: Опция C: STM32F103C и софтуер за MIDI синтезатор

Ако имате STM32F103C, можете да използвате всеки софтуер, който работи с MIDI контролер на клавиатурата.

На компютър използвам виртуалната MIDI пиано клавиатура (VMPK). С включен STM32F103C, изберете Редактиране | MIDI връзки | Въведете MIDI връзка и след това изберете Mple MIDI или Diro Synth.

На устройство с Android успешно използвах (с USB OTG кабел) общ аналогов синтезатор и Synth DX7 пиано.

Стъпка 6: Играйте

Играйте!
Играйте!
Играйте!
Играйте!
Играйте!
Играйте!

Включете Arduino със скицата CapacitivePiano в компютъра. Не докосвайте нито един от „бутоните“, докато не се включи само светодиодът за захранване, за да се позволи калибрирането на капацитивните бутони.

За опцията Hairless стартирайте MIDI моста Hairless, изберете серийния порт от падащия списък. След това изберете синтезатор. В Windows, ако изберете Microsoft Wavetable GS Synth, всичко трябва да работи.

Ако вместо това искате да използвате скрипта Python, уверете се, че сте в директорията, където имате piano.py, и изпълнете:

python piano.py сериен порт

където serialport е серийният порт от Arduino IDE (напр. COMx в Windows).

Ако използвате STM32F103C8, използвайте любимия си софтуер за синтезатор на MIDI на компютър или мобилно устройство.

Сега натиснете вашите "бутони" и се забавлявайте!

Образователни идеи, с които децата да експериментират:

  • Експериментирайте с различни предмети върху алуминиевото фолио и вижте кои работят и кои не-и след това говорете защо тези работят, а другите не.
  • Тестото за игра работи наистина добре (а след това дори не се нуждаете от фолио и щипки-можете просто да залепите проводници в играта, въпреки че изглежда като бомба!).
  • Можете дори да вземете лист хартия и да засенчите в области с молив (не е задължително да е супер тъмно, но кръстосаното излюпване е добро) и да ги изрежете.
  • Можете да прикрепите алигаторен клип към наистина голям метален предмет, като ръба на бяла дъска, и да направите гигантски ключове.
  • Експеримент, който трябва да опитате, е да накарате по-малък човек да държи алигаторна щипка, прикрепена към един от проводниците, и след това да накара по-голям човек да се ръкува с или да покаже петте на по-малкия човек и да види дали това се регистрира. След това опитайте отново с по -голям човек, който го държи, и по -малък, който ги докосва.

Просто се уверете, че след всяка промяна на това, което е прикрепено към Arduino, нулирате Arduino, или чрез натискане на бутона „нулиране“, или чрез повторно включване на USB връзката (и след това отново стартирайте кода на python, тъй като той вероятно ще се срине), за да се калибрира отново сензорите.

Може да се обсъди електрически капацитет и капацитивно измерване.

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