» Instruments musicals »Sintetitzador espacial Kravox a Arduino

Sintetitzador espacial Kravox a Arduino



El mestre va inventar Kravox durant un projecte de recerca a la Universitat de Lund (Suècia), que tenia com a objectiu donar als controladors digitals d’instruments musicals la sensació d’instruments mecànics tradicionals. Ara el mestre vol fer Kravox accessible a tothom com a plataforma musical per a experimentació. Va ser per això que va crear aquesta informació detallada, que permetrà a la màxima gent possible utilitzar aquest nou instrument musical interessant.

Jugar a Kravox és bastant senzill. Imagineu-vos que esteu jugant amb un objecte habitual, com ara una escombra, i la manera de tocar-la i moure-la a l’espai controla com es genera el so. Podeu veure i escoltar la reproducció de Kravox, així com el procés d’elaboració de l’instrument, al final de l’article als vídeos.

Eines i materials:
- panell 50 * 24 forats -1 unitats;
Connectors masculins de 40 pines -5 unitats;
- Tap de 40 pins - 5 unitats;
- potenciòmetres de 10 kOhm i mànecs per a ells - 5 unitats;
-Lumina LED de 5 mm estàndard - 3 unitats;
- Resistors 150 ohms - 3 unitats;
- Capacitor 10 uF - 2 ulls;
- condensador 100 nF - 2 unitats;
-Mòdul de ràdio NRF24L01 - 2 unitats;
-Arduino nano -2 unitats;
-Resistors 220 Ohm -3 unitats;
- Taulers de sensors MPR121 - 2 unitats;
- Digital gyro GY-521 MPU 6050 - 1 unitat;
- cables USB-A a USB-C;
-4 metres (mínim) de cinta de coure d’1 cm d’amplada;
-Potbank;
-7 metres (mínim) de cables de diferents colors;
-0,2 metres, tub de contracció tèrmica ø = 3 mm;
-Accessoris de venda;
-Multímetre;
-Regla;
-Noix;
-Nozhovka;
- Alicates;
-Cartó;
-Pistola de vidre;
-Tapa;
-Guix;
-Goma d’ofici;
-Clips;




Primer pas: Teoria
Kravox és un instrument musical digital de plataforma oberta que consisteix en tres components: un controlador / controladors, un receptor i un programari.

Podeu connectar fins a tres controladors sense fil. Cada controlador processa dades d’orientació i acceleració del giroscopi digital MPU-6050 i dades tàctils de dues plaques de sensors MPR121 connectades a l’Arduino Nano. El controlador envia dades al receptor mitjançant el transmissor de ràdio nRF24L01. Si cal utilitzar més d’un controlador, s’ha d’assignar adreces individuals al segon i tercer controlador.

El receptor transmet les dades rebudes del controlador a l’ordinador connectat juntament amb les dades recollides de diversos potenciòmetres.El codi receptor proporcionat permet establir una comunicació amb tres controladors, però també funcionarà amb un o dos sense ajustaments.

Les dades del receptor es processen en un programa escrit amb un so que emet so.
La bellesa de Kravox és que es pot ajustar la seva forma, com sona i com es reprodueix. Això va donar a l'assistent l'oportunitat de desenvolupar una versió fàcil de copiar de Kravox per a aquesta lliçó.


Pas segon: crear un tauler de control
A continuació, l’assistent explica com fer-ho electrònica controlador pas a pas des dels detalls anteriors.
Si no teniu cap dubte per on soldar el cable, sempre podeu tornar al diagrama del circuit i comprovar si els components estan connectats correctament.


El primer pas és tallar la placa i els connectors i muntar-los juntament amb un condensador petit i gran, que ajuden a augmentar la fiabilitat del transmissor de ràdio.

Talleu el tauler amb un ganivet
Talleu els connectors amb una serradura (el mestre els va posar al llibre per alinear-los de la taula)
Instal·leu els connectors a la placa de taula i a la soldadura. Ja podeu connectar cada parell de contactes de dos
connectors llargs que són adjacents els uns als altres. Per a la resta, n’hi ha prou amb unir-los simplement amb una soldadura petita, preferiblement contactes que, d’acord amb l’esquema del circuit, no es connectaran més endavant. En soldar condensadors, presteu atenció a la polaritat del condensador electrolític de 10 microfarads (el més gran dels dos). Un costat tindrà una franja i, per regla general, una cama més curta. Aquest costat ha d'estar connectat a terra. El condensador de 100 nanofarad més petit no està polaritzat i es pot soldar de qualsevol forma.





A més, les resistències de LED es solden. Fixeu-vos en la polaritat del LED: un lateral sol tenir una pota més curta. Aquest costat s’ha de connectar a terra en el següent pas. Un fil blau es solda a l’altra cama. L’altre extrem del fil es solda al connector on es connectarà el passador D Arduino.


A continuació, es munten tots els cables d'alimentació vermells i blaus. Vermell per 3,3 Volts i blau per terra (GND).


Tres plaques sensibles es comuniquen mitjançant protocol I2C (circuit integrat). Això vol dir que tots es poden connectar als mateixos dos pins Arduino, de manera que vam soldar els cables grocs i verds als sensors i als pins Arduino A4 i A5. També cal muntar un cable blanc per connectar els contactes interromputs del giroscopi.


El transmissor de ràdio es comunica mitjançant el protocol SPI (serial
interfície perifèrica), que requereix més connexions que I2C, l'assistent afegeix cables negres, grisos, marrons, morats i taronja.


Ara toca preparar els components. A més de soldar en connectors de perns, si no
soldada, cal parar una atenció especial a la placa del sensor. Per a models barats de la Xina, el passador d'adreces està rígidament connectat sense resistència intermèdia, de manera que heu de tallar físicament aquesta connexió a la part inferior de la junta amb un ganivet. Talleu entre dues pastilles prop del lloc on s’escriu l’ADD. L’assistent recomana sonar amb un multímetre per assegurar-se que els contactes no estan connectats.


Quan totes les parts tenen connectors soldats i les plaques de sensors estan preparades, podeu connectar l’Arduino Nano, un giroscopi, dues plaques de sensor i un mòdul de ràdio a la placa de control.


Tercer pas: descarregar el codi
Després d’una doble comprovació, si tot està connectat correctament, el següent pas és descarregar l’Arduino nano proporcionat, però abans de fer-ho, haureu d’instal·lar les biblioteques per al giroscopi, les plaques de sensors i el transmissor de ràdio. Si sou nous a les biblioteques Arduino, apreneu a instal·lar-les.
El gyro MPU6050 requereix les biblioteques I2Cdev.h i MPU6050_6Axis_MotionApps20.h, que es poden descarregar.
Per als taulers tàctils MPR121, és necessària la biblioteca Bare Conductive MPR121.h, que es pot trobar. Hi ha almenys dues versions de la biblioteca. Assegureu-vos d’instal·lar la versió desenvolupada per Bare Conductive, no la versió desenvolupada per Adafruit.
La placa emissora de ràdio NRF24L01 requereix les biblioteques nRF24L01.h i RF24.h TMRh20, que es poden descarregar. Tingueu en compte: també hi ha almenys dues versions d’aquestes biblioteques amb el mateix nom. Assegureu-vos d’instal·lar el TMRh20 desenvolupat, no el maniacbug.
Un cop instal·lades les biblioteques, podeu descarregar el codi Kravox-Controller.

Per tal de comprovar si el controlador funciona, podeu habilitar-lo per a la sortida de dades de sensors tàctils i giroscopi mitjançant un monitor de sèrie. Per fer-ho, heu d’editar l’última secció del codi de recepció abans de descarregar-la: traient la marca de comentaris al principi (/ *) i al final (* /) (veure. Foto)

Després de descarregar el codi amb aquesta opció, heu d’obrir el monitor de sèrie i establir la velocitat de transmissió (velocitat de dades) per a ell a 115200. Ara podeu veure les dades dels sensors, que canvien quan es muda la placa de control i es toquen els contactes, des de les plaques MPR121 que es marquen de 0 a 11.

Si no funciona res o només s’obtenen zeros, heu de revisar el cablejat i comparar-lo amb el diagrama anterior. Si rebeu el senyal equivocat del monitor de sèrie, heu de comprovar si les taxes de transferència de dades s’estableixen correctament.


Pas IV: Potència de la junta

Per obtenir energia, heu de connectar la placa de control al banc.
Si el banc no s’apaga automàticament al cap d’un temps, la placa del controlador s’acaba i podeu anar a la placa receptora. En cas contrari, seguiu el següent pas.

Cinquè pas: solucioneu el problema de l’energia
En principi, la placa de control està preparada, però alguns bancs s’apagaran automàticament al cap d’uns segons quan estiguin connectats a la placa de control, perquè consumeix poca energia. Com a solució, simplement podeu afegir tres resistències de 220 Ohm en paral·lel entre els pins 5V i GND de l'Arduino.


Després de tornar a connectar els components, (sens dubte) la placa de controladors acabada s’assembla així.


Pas sisè: crea un tauler de receptors
En aquest pas, l'assistent us mostrarà com fer la placa del receptor. El procés és molt similar a fer una placa de control.


Primer heu de retallar la placa i els connectors. A continuació, instal·leu els condensadors. Podeu comparar aquest pas amb el primer pas per crear un tauler de control per obtenir més informació.


A continuació, heu d'afegir tots els fils vermells i blaus. Vermell per 3,3 Volts i blau per terra (GND).


Cablejat per a comunicació SPI.


La placa del receptor està a punt, però abans de carregar el codi Kravox-Receiver al Arduino Nano, primer heu de crear una interfície per al receptor.


A continuació, l’assistent mostra com fer una interfície amb 4 potenciòmetres i un LED per al receptor. La interfície està connectada, com a la primera figura, i es connectarà a la placa del receptor, tal com es veu a la segona figura.


El procediment és el següent: primer heu d’agafar un paquet de 8 cables i 5 soldar-los als contactes mitjans dels potenciòmetres. És recomanable utilitzar els mateixos colors que al diagrama per no confondre’s.

Aleshores, heu de tallar el panell 2 fileres de 17 forats i un connector mascle de 17 pins. Connecteu els cables i el connector a la placa. Atenció al diagrama anterior per assegurar-vos que connecteu els cables als llocs adequats.


Ara heu de soldar cables blaus (terra) a un dels contactes de tots els potenciòmetres. Solda un LED blau amb una resistència límit de corrent de 150 ohms.

Fils verds soldats.

La interfície acabada hauria de semblar una cosa així (foto 1) i es pot connectar a la placa receptora així (foto 2).

Setè pas: codi
Ara disponible per descarregar al receptor Arduino Nano.
Per comprovar-ho, heu de tornar a fer un petit ajustament al codi abans de baixar-lo. De manera predeterminada, el receptor mostra les seves dades en un format que es pot interpretar com a dades pures, però no mostra informació útil en un monitor de sèrie. Tanmateix, podeu canviar aquest comportament al vostre codi editant (afegint // abans) la línia #definir WRITE_AS_BYTES i (eliminant // abans) la línia // #define PRINT_VIA_SERIAL_MONITOR.


Pas vuit: cas
Més fora de la tira de coure, el mestre fa un sensor.


Per solucionar el cas, el mestre utilitza caselles buides.

El mestre dibuixa cartró. Talla 24 tires de coure i es fixa en un cartró.



A més, el mestre talla cartró de 2 * 24 forats d'amplada i el connector mascle de 24 pins per a la mida i solda 24 fils. Els fils de la meitat han de tenir com a mínim 10 cm de longitud A mesura que s’allunya del centre, la longitud dels fils augmenta. Per exemple, si utilitzeu una cinta de coure d’1 cm d’amplada i la distància entre els elèctrodes de 3 mm, la longitud del fil hauria d’augmentar-se en 1,3 cm, com es mostra a continuació: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Ara podeu soldar els segons extrems dels cables a les tires de coure i segellar les tires amb cinta adhesiva.



Lliga el sensor al cos i, a continuació, enganxa un altre cos (per verificar-lo).


Cobreix la part posterior de la placa de control amb cartró.

Instal·la leds i banc d’energia. Heu d’organitzar el banc d’alimentació perquè pugueu connectar i desconnectar el cable USB, perquè així s’encén i s’apaga el controlador. Connecteu també la interfície tàctil a la placa de control i poseu-la a la caixa.

Realitza un retall per al cable USB-A-USB-C a la unió de les dues caixes, el manté fora i el connecta a l'Arduino Nano.

Ara el controlador està a punt.

El mestre arregla el cas amb l’ajuda de la goma de papereria. Si, posteriorment, hi ha problemes amb els sensors que reconeixen el tacte quan no hi són, heu de posar material aïllant, com ara pel·lícula o similar entre la carcassa sensible al tacte, la placa de circuit i els cables. Connecteu l’alimentació sense tocar els sensors.


Nou pas: Creació d'un cas de receptors
Ara cal fer una carcassa per al receptor. L’assistent talla diversos forats rodons per a potenciòmetres i leds.


Es pega a la placa del receptor, LED, potenciòmetres de cargol. Configura les nanses.




Pas deu: Completar
Ara que tot l'equip està muntat, és hora de tocar música! Per fer-ho, necessiteu un programari al qual pugueu connectar equips. Per a Kravox, es tracta del programari Pure Data Vanilla, que podeu descarregar gratuïtament.

Després d’instal·lar Pure Data a l’ordinador, cal executar-lo i obrir el fitxer Kravox.pd. Tingueu en compte que s’ha de desar al vostre ordinador a la mateixa carpeta que la carpeta de bateries d’expressió amb què s’ofereix, en cas contrari les dades pures no podran trobar els fitxers.
Tan bon punt s’obri la interfície del programa Kravox.pd, heu d’obrir la finestra com a la foto i instal·lar els quatre anomenats dispositius externs que figuren en aquesta finestra. Instal·lar-los és senzill, només cal fer clic a "ajuda" al menú "Neteja dades", seleccionar "Buscar objectes addicionals a Internet" (pot ser que sigui lleugerament diferent), trobar "comport", "zexy", "freeverb" i "arraysize". "Un per un i instal·leu la versió més recent. Ara els quatre objectes marcats com a comportament, reembalatge, adverbi i arraysize haurien de tenir un esquema sòlid, com a la figura següent. Pot ser que hagueu de reiniciar les dades pures per a això.

Després d’instal·lar dispositius externs, podeu connectar el receptor mitjançant USB. Si heu canviat el codi de la part 4 per utilitzar el receptor amb el monitor de sèrie Arduino, primer heu de desfer aquest canvi i carregar el codi font al receptor Arduino Nano abans de connectar i tancar el monitor de sèrie Arduino.

Ara fes un cop d'ull a la finestra Pure Data. Si veieu un flux de dades actualitzat ràpidament, aquest és excel·lent, però el més probable és que us mostri un missatge vermell en lloc, com el de la primera imatge, que s’actualitza cada dos segons.

El text vermell pot ser una mica diferent, però vol dir que, Pure Data, encara no s'ha pogut connectar amb el receptor. Això es deu al fet que el programa ha d’especificar quin port USB s’ha de connectar. Els ports USB es poden etiquetar de manera diferent en diferents dispositius; al MacBook Pro del 2014, Pure Data reconeix els dos ports USB com a port sèrie 3, independentment del receptor al qual estigueu connectant. A continuació, l’assistent va utilitzar Kravox amb el Lenovo Yoga Pad amb un únic port USB en funcionament, que va ser designat com a port sèrie 6. A Windows, els ports es designen com a 8 i 9. L’assistent aconsella simplement intentar esbrinar quin número funciona el port USB al dispositiu. . Va crear un diàleg com a part de la interfície Kravox.pd (segona foto), on simplement podeu fer clic als números fins que el dispositiu funcioni. També podeu provar "Mostra els ports disponibles" i els botons "Mostra dispositius USB connectats".
Sintetitzador espacial Kravox a Arduino


Aleshores, heu de fer clic a "Desa" per tal que les dades pures intentin connectar-se a aquest port automàticament la propera vegada.
Si s’ha editat el codi del controlador, haureu de tornar a carregar el codi.

Resta connectar la placa de control a l’alimentació. En fer això, el tancament de la interfície tàctil al voltant del tauler ha de tancar-se i la part tàctil del recinte no ha de tocar les mans ni res més.

Tot està a punt, es pot veure informació addicional al vídeo.


5.5
5.5
5.5

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...