Taula de continguts:

Piano Fruit ràpid amb MIDI: 6 passos (amb imatges)
Piano Fruit ràpid amb MIDI: 6 passos (amb imatges)

Vídeo: Piano Fruit ràpid amb MIDI: 6 passos (amb imatges)

Vídeo: Piano Fruit ràpid amb MIDI: 6 passos (amb imatges)
Vídeo: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Desembre
Anonim
Image
Image
Piano Fruit ràpid amb MIDI
Piano Fruit ràpid amb MIDI

Es tracta d’un piano tàctil capacitiu molt senzill. Toqueu fruita, llaunes de refresc, ampolles d’aigua, tires de paper d’alumini, etc., i obteniu música de piano polifònica des de l’ordinador. Ara que el programari està escrit, el projecte no hauria de trigar més de 10 minuts a muntar-se amb la versió Arduino.

Necessites:

  • un Arduino (Mega per a 8 tecles, Uno per a 6 tecles) o una placa STM32F103C8 de píndola negra (2 dòlars a Aliexpress) més un convertidor UART a USB (per exemple, un Arduino o un CH340)
  • Cable USB
  • una mica de paper d'alumini
  • prova els clips de manera ideal, però els ponts i clips de paper ho faran (idea per a això a partir d’aquí)
  • fruita o pasta de joc o trossos de paper amb zones acolorides amb un llapis
  • ordinador.

No es necessiten components addicionals, ja que utilitza el codi de la brillant biblioteca ADCTouch de martin2250 i l'Arduino envia ordres MIDI per sèrie a l'ordinador. La reproducció d'àudio de l'Arduino es fa mitjançant un script Python inclòs a l'ordinador o mitjà de sèrie sense pèl.

Si utilitzeu la placa de desenvolupament STM32F103C8, és encara més bonic: el piano es converteix en un autèntic controlador MIDI USB, sense necessitat de mitjà de sèrie sense pèl.

Nota: Per evitar danys a l'Arduino / STM32F1 per electricitat estàtica, especialment en un dia sec o a la catifa, us recomano no tocar el paper d'alumini ni els clips de prova quan el dispositiu estigui en funcionament. En lloc d’això, toqueu la fruita, la massa, etc., la resistència de la qual hauria de proporcionar una protecció contra l’ESD

Pas 1: biblioteques Arduino

Biblioteques Arduino
Biblioteques Arduino

A l’IDE Arduino, trieu Sketch | Inclou la biblioteca | Gestor de biblioteques. Cerqueu el meu ADCTouchSensor. Instal·leu la biblioteca.

A continuació, trieu Fitxer | Exemples | ADCTouchSensor | Piano capacitiu.

Si teniu un Arduino, connecteu el vostre Arduino al port USB de l’ordinador i pengeu l’esbós CapacitivePiano al vostre Uno o Mega. L'esbós enviarà dades a l'ordinador mitjançant sèrie USB per saber quin dels sensors capacitius 8 (Mega) o 6 (Uno) s'ha activat.

Si teniu un STM32F103C8, primer instal·leu el carregador d’arrencada i configureu l’IDE Arduino per a ell (amb la meva branca de la branca addMidiHID) seguint els tres primers passos aquí. A continuació, torneu al gestor de biblioteques i cerqueu la meva biblioteca USBHID_stm32f1. Instal·leu-lo.

Pas 2: connecteu els cables a les tecles de piano

Adjunta els cables a les tecles de piano
Adjunta els cables a les tecles de piano
Adjunta els cables a les tecles de piano
Adjunta els cables a les tecles de piano

Executeu els cables dels pins A0-A7 (A0-A5 a Uno) del vostre Arduino o STM32F103C8 al que vulgueu que funcioni com a tecles de piano. Per exemple, he utilitzat jerseis amb pinces de cocodril o pinces de prova que anaven a trossos de paper d'alumini en cadascun dels quals he posat una llauna de refresc o una taronja com a clau. El paper d'alumini es pot utilitzar directament com a clau. O es pot enganxar un filferro a una peça de fruita o verdura o massa de joc.

Pas 3: Instal·leu el programari: opció A: Arduino i MIDI sense pèl a Serial Bridge

Podeu descarregar i instal·lar el Hairless MIDI a Serial Bridge (Win / OSX / Linux) per enllaçar la sortida sèrie USB d'Arduino amb el programari de sintetitzador de l'ordinador.

Si teniu Windows 7 o una versió posterior, podeu utilitzar el Microsoft Wavetable GS Synth integrat, de manera que tot el que heu d’instal·lar és sense pèl. Alguns altres programes de reproducció requeriran loopMIDI.

En altres sistemes, és possible que necessiteu un sintetitzador MIDI com VirtualMidiSynth o Garageband. Si voleu, també podeu utilitzar VirtualMidiSynth al Windows.

Pas 4: Instal·leu el programari: opció B: Arduino i Python

Instal·leu programari: opció B: Arduino i Python
Instal·leu programari: opció B: Arduino i Python

També podeu utilitzar un simple script Python inclòs que reprodueixi notes MIDI.

Assegureu-vos que teniu instal·lat Python a l’ordinador. Farà 2.7 o 3.x.

Assegureu-vos que teniu instal·lat el paquet Pygame Python. Si no, executeu això des de la línia d'ordres:

python -m pip instal·la pygame

Esbrineu quina adreça és el port sèrie del vostre Arduino. El vostre ID Arduino tindrà els ports sèrie llistats a Eines | Port.

Al paquet CapacitivePiano que heu descarregat, trobareu l’escriptura music.py que és la part de PC del projecte.

Pas 5: Instal·leu el programari: opció C: programari de sintetitzador STM32F103C i MIDI

Instal·leu programari: opció C: programari sintetitzador STM32F103C i MIDI
Instal·leu programari: opció C: programari sintetitzador STM32F103C i MIDI

Si teniu el STM32F103C, podeu utilitzar qualsevol programari que funcioni amb un controlador de teclat MIDI.

En un ordinador, faig servir el teclat de piano MIDI virtual (VMPK). Amb el STM32F103C endollat, trieu Edita | Connexions MIDI | Introduïu la connexió MIDI i, a continuació, trieu Maple MIDI o Diro Synth.

En un dispositiu Android, he utilitzat correctament (amb un cable USB OTG) el sintetitzador analògic comú i el piano Synth DX7.

Pas 6: Juga

Jugar!
Jugar!
Jugar!
Jugar!
Jugar!
Jugar!

Connecteu l'Arduino amb l'esbós CapacitivePiano a l'ordinador. No toqueu cap dels "botons" fins que només s'executi el LED d'alimentació per permetre calibrar els botons capacitius.

Per a l’opció Sense pèl, executeu el pont MIDI sense pèl i trieu el port sèrie de la llista desplegable. A continuació, trieu un sintetitzador. Al Windows, si trieu Microsoft Wavetable GS Synth, tot hauria de funcionar.

Si voleu utilitzar l'script Python, assegureu-vos que esteu al directori on teniu piano.py i executeu:

python piano.py serialport

on serialport és el port sèrie d’Arduino IDE (per exemple, COMx a Windows).

Si utilitzeu el STM32F103C8, feu servir el vostre programari de sintetitzador MIDI preferit en un ordinador o dispositiu mòbil.

Ara premeu els "botons" i divertiu-vos!

Idees educatives per experimentar amb els nens:

  • Experimenteu amb diferents elements del paper d'alumini i vegeu quins funcionen i quins no, i després expliqueu per què funcionen i d'altres.
  • Playdough funciona molt bé (i aleshores no necessiteu ni paper d'alumini ni clips), només podeu enganxar cables a la pasta de joc, tot i que és cert que sembla una bomba!
  • Fins i tot podeu agafar un tros de paper i ombrejar-lo a les zones amb un llapis (no ha de ser molt fosc, però l’eclosió creuada és bona) i retallar-les.
  • Podeu adjuntar un clip de caimà a un element metàl·lic molt gran, com la vora de la pissarra, i fer claus gegants.
  • Un experiment que cal intentar és fer que una persona més petita agafi un clip de caimà fixat a un dels cables i, a continuació, faci que una persona més gran doni la mà a la persona més petita o tingui un màxim de cinc i vegi si això es registra. A continuació, torneu-ho a provar amb una persona més gran que la sostingui i una altra més petita que els toqui.

Assegureu-vos que després de cada canvi d’allò que s’adjunta a l’Arduino, reinicieu l’Arduino, prement el botó de “restabliment” o tornant a connectar la connexió USB (i després torneu a executar el codi Python, ja que probablement fallarà), per tal de recalibrar els sensors.

Es pot discutir la capacitat elèctrica i la detecció capacitiva.

Recomanat: