Taula de continguts:
- Pas 1: biblioteques Arduino
- Pas 2: connecteu els cables a les tecles de piano
- Pas 3: Instal·leu el programari: opció A: Arduino i MIDI sense pèl a Serial Bridge
- Pas 4: Instal·leu el programari: opció B: Arduino i Python
- Pas 5: Instal·leu el programari: opció C: programari de sintetitzador STM32F103C i MIDI
- Pas 6: Juga
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-23 14:38
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
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
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
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
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
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:
El ThreadBoard (versió no impresa en 3D): Tauler de prototipatge ràpid per a e-tèxtil: 4 passos (amb imatges)
El ThreadBoard (versió no impresa en 3D): Taula de prototipatge ràpid per a e-tèxtil: es pot trobar aquí la versió per imprimir en 3D del ThreadBoard V2. La versió 1 del ThreadBoard es pot trobar aquí. A través dels obstacles del cost, viatges, pandèmies i altres barreres, és possible que no tingueu accés a una impressora 3D però que vulgueu
The ThreadBoard: Tauler de prototipatge ràpid d'e-Textile: 5 passos (amb imatges)
El ThreadBoard: Taula de prototipatge ràpida E-Textile: es pot trobar aquí la versió instructiva de la versió no impresa en 3D del ThreadBoard V2. La versió 1 del ThreadBoard es pot trobar aquí. per al prototipatge ràpid d'e-tèxtil
Makey Makey Fruit Piano: 13 passos
Makey Makey Fruit Piano: Apreneu els conceptes bàsics de la codificació fent un sintetitzador de música senzill on cada "fruita" representi una clau
Neo Pixel, joc de polze més ràpid: 8 passos (amb imatges)
Neo Pixel, Joc de polzes més ràpid: Vaig construir aquest projecte perquè el portaria al meu Makerfaire local a Newcastle, Regne Unit. La idea era fer un joc al pati de l’escola que fos relativament barat i senzill de produir. La idea és senzilla, per guanyar cal prémer el botó repetidament fins que
Controlador de llum de tira LED 5V MIDI per al Spielatron o un altre sintetitzador MIDI: 7 passos (amb imatges)
Controlador de llum de tira LED 5V MIDI per a Spielatron o un altre sintetitzador MIDI: aquest control parpelleja llums de tires LED tricolors per 50 mS per nota. Blau per a G5 a D # 6, vermell per a E6 a B6 i verd per a C7 a G7. El controlador és un dispositiu MIDI ALSA perquè el programari MIDI pugui emetre als LED alhora que un sintetitzador MIDI