El maestro inventó Kravox durante un proyecto de investigación en la Universidad de Lund (Suecia), cuyo objetivo era dar a los controladores digitales de instrumentos musicales la sensación de los instrumentos mecánicos tradicionales. Ahora el maestro quiere que Kravox sea accesible para todos como una plataforma de música para la experimentación. Fue para esto que creó este informe detallado, que permitirá a tantas personas como sea posible usar este nuevo instrumento musical interesante.
Jugar a Kravox es bastante simple. Imagina que estás jugando con un objeto normal, como una escoba, y la forma en que lo tocas y lo mueves en el espacio controla cómo se genera el sonido. Puede ver y escuchar cómo tocar Kravox, así como el proceso de fabricación del instrumento, al final del artículo en los videos.
Herramientas y materiales:
- placa de prueba 50 * 24 agujeros -1 piezas;
-40 pines conectores macho -5 piezas;
Enchufe de 40 pines - 5 piezas;
- Potenciómetros de 10 kOhm y manijas para ellos - 5 piezas;
-LED azul estándar de 5 mm - 3 piezas;
- Resistencias de 150 ohmios - 3 piezas;
- Condensador 10 uF - 2 piezas;
- Condensador 100 nF - 2 piezas;
-Módulo de radio NRF24L01 - 2 piezas;
-Arduino nano -2 piezas;
-Resistencias 220 Ohm -3 pcs;
- Placas de sensores sensores MPR121 - 2 piezas;
- Giroscopio digital GY-521 MPU 6050 - 1 pc;
- Cables USB-A a USB-C;
-4 metros (mínimo) de cinta de cobre de 1 cm de ancho;
-Powerbank;
-7 metros (mínimo) de cables de diferentes colores;
-0,2 metros, tubo termorretráctil ø = 3 mm;
-Accesorios para soldar;
-Multímetro;
-Regla;
-Cuchillo
-Nozhovka;
- alicates;
-Cartón;
-Pistola de pegamento;
-Cinta
-Pegamento;
-Goma de oficina;
-Clips;
Paso uno: teoría
Kravox es un instrumento musical digital multiplataforma de código abierto que consta de tres componentes: un controlador / controladores, un receptor y un software.
Puede conectar hasta tres controladores inalámbricos. Cada controlador procesa los datos de orientación y aceleración del giroscopio digital MPU-6050 y los datos táctiles de dos tableros de sensores del sensor MPR121 conectados al Arduino Nano. El controlador envía datos al receptor utilizando el transmisor de radio nRF24L01. Si es necesario usar más de un controlador, el segundo y el tercer controlador deben tener asignadas direcciones individuales.
El receptor transmite los datos recibidos de los controladores a la computadora conectada junto con los datos recopilados de varios potenciómetros.El código del receptor proporcionado le permite establecer comunicación con tres controladores, pero también funcionará con solo uno o dos sin configuraciones.
Los datos del receptor se procesan en un programa escrito que emite sonido.
La belleza de Kravox es que su forma, cómo suena y cómo jugar, se puede ajustar. Esto le dio al asistente la oportunidad de desarrollar una versión fácil de copiar de Kravox para esta lección.
Paso dos: crea una placa controladora
A continuación, el asistente explica cómo hacer electrónica controlador paso a paso de los detalles anteriores.
Si no está seguro de dónde soldar el cable, siempre puede volver al diagrama del circuito y verificar si los componentes están conectados correctamente.
El primer paso es cortar la placa de pruebas y los conectores y ensamblarlos con un condensador pequeño y uno grande, lo que ayuda a aumentar la confiabilidad del transmisor de radio.
Cortar el tablero con un cuchillo
Corte los conectores con una sierra para metales (el maestro los colocó en el libro para alinearlos de la mesa)
Instale los conectores en la placa y la soldadura. Ya puedes conectar cada par de contactos de dos
conectores largos adyacentes entre sí. Por lo demás, es suficiente simplemente unirlos con una pequeña soldadura, preferiblemente contactos que, de acuerdo con el diagrama del circuito, no se conectarán más tarde. Al soldar condensadores, preste atención a la polaridad del condensador electrolítico de 10 microfaradios (el más grande de los dos). Un lado tendrá una tira y, como regla, una pierna más corta. Este lado debe estar conectado a tierra. El condensador más pequeño de 100 nanofaradios no está polarizado y se puede soldar de cualquier manera.
Además, las resistencias LED están soldadas. Presta atención a la polaridad del LED: un lado generalmente tiene una pata más corta. Este lado debe estar conectado a tierra en el siguiente paso. Se suelda un cable azul a la otra pata. El otro extremo del cable está soldado al conector donde se conectará el pin Arduino D3.
A continuación, se montan todos los cables de alimentación rojo y azul. Rojo para 3.3 voltios y azul para tierra (GND).
Tres placas de sensores se comunican a través del protocolo I2C (circuito integrado). Esto significa que todos pueden conectarse a los mismos dos pines Arduino, por lo que soldamos los cables amarillo y verde a los sensores y a los pines Arduino A4 y A5. También necesita montar un cable blanco para conectar los contactos de interrupción del giroscopio.
El transmisor de radio se comunica a través del protocolo SPI (serial
interfaz periférica), que requiere más conexiones que I2C, el asistente agrega cables negro, gris, marrón, morado y naranja.
Ahora es el momento de preparar los componentes. Además de soldar en conectores pin, si no
soldado, debe prestar especial atención a la placa del sensor! Para los modelos baratos de China, el pin de dirección está rígidamente conectado a tierra sin una resistencia intermedia, por lo que es necesario cortar físicamente esta conexión en la parte inferior del tablero con un cuchillo. Corte entre dos almohadillas cerca del lugar donde se escribe ADD. El asistente recomienda que suene con un multímetro para asegurarse de que los contactos no estén conectados.
Cuando todas las partes tienen conectores soldados y las placas de sensores están preparadas, puede conectar el Arduino Nano, un giroscopio, dos placas de sensores y un módulo de radio a la placa del controlador.
Paso tres: descarga el código
Después de una doble verificación, si todo está conectado correctamente, el siguiente paso es descargar el Arduino nano provisto, pero antes de que pueda hacer esto, necesitará instalar las bibliotecas para el giroscopio, las placas de sensores y el transmisor de radio. Si eres nuevo en las bibliotecas Arduino, aprende cómo instalarlas.
El giroscopio MPU6050 requiere las bibliotecas I2Cdev.h y MPU6050_6Axis_MotionApps20.h, que pueden descargarse.
Para las tarjetas táctiles MPR121, se requiere la biblioteca Bare Conductive MPR121.h, que se puede encontrar. Hay al menos dos versiones de la biblioteca. Asegúrese de instalar la versión desarrollada por Bare Conductive, no la versión desarrollada por Adafruit.
La placa del transmisor de radio NRF24L01 requiere las bibliotecas nRF24L01.h y RF24.h TMRh20, que pueden descargarse. Tenga en cuenta: también hay al menos dos versiones de estas bibliotecas con el mismo nombre. Asegúrese de instalar el TMRh20 desarrollado, no el maniacbug.
Una vez que las bibliotecas están instaladas, puede descargar el código Kravox-Controller.
Para verificar si el controlador está funcionando, puede habilitarlo para emitir datos desde sensores táctiles y un giroscopio a través de un monitor en serie. Para hacer esto, debe editar la última sección del código del destinatario antes de descargar: quitando la marca de comentario al principio (/ *) y al final (* /) (ver. Foto)
Después de descargar el código con esta opción, debe abrir el Monitor de serie y establecer la velocidad en baudios (velocidad de datos) para 115200. Ahora puede ver los datos de los sensores, que cambian cuando se mueve la placa del controlador y se tocan los contactos, desde las placas MPR121 que están marcadas de 0 a 11)
Si nada funciona o solo se obtienen ceros, debe verificar cuidadosamente el cableado y compararlo con el diagrama anterior. Si recibe una señal incorrecta del Monitor de serie, debe verificar si las velocidades de transferencia de datos están establecidas correctamente.
Paso cuatro: Poder del tablero
Para obtener energía, debe conectar la placa del controlador al banco.
Si el banco no se apaga automáticamente después de un tiempo, la placa del controlador está terminada y puede ir a la placa del receptor. De lo contrario, siga el siguiente paso.
Paso cinco: resuelva el problema de energía
En principio, la placa del controlador está lista, pero algunos bancos se apagarán automáticamente después de unos segundos cuando se conecte a la placa del controlador, ya que consume poca energía. Como solución, simplemente puede agregar tres resistencias de 220 Ohm en paralelo entre los pines de 5V y GND del Arduino.
Después de volver a conectar los componentes, (definitivamente) la placa controladora terminada se ve así.
Paso seis: crear una placa receptora
En este paso, el asistente le mostrará cómo hacer la placa del receptor. El proceso es muy similar a hacer una placa controladora.
Primero necesitas recortar el tablero y los conectores. Luego instale los condensadores. Puede comparar este paso con el primer paso de crear una placa controladora para obtener más información.
A continuación, debe agregar todos los cables rojo y azul. Rojo para 3.3 voltios y azul para tierra (GND).
Cableado para comunicación SPI.
La placa del receptor está lista, pero antes de cargar el código Kravox-Receiver en el Arduino Nano, primero debe crear una interfaz para el receptor.
Luego, el asistente muestra cómo hacer una interfaz con 4 potenciómetros y un LED para el receptor. La interfaz está conectada, como en la primera figura, y se conectará a la placa del receptor, como se ve en la segunda figura.
El procedimiento es el siguiente, primero debe llevar un paquete de 8 cables y soldar 5 de ellos a los contactos intermedios de los potenciómetros. Es recomendable utilizar los mismos colores que en el diagrama para no confundirse.
Luego, debe cortar la placa de prueba 2 filas de 17 agujeros y un conector macho de 17 pines. Conecte los cables y el conector a la placa. Preste atención al diagrama anterior para asegurarse de que conecta los cables en los lugares correctos.
Ahora necesita soldar cables azules (tierra) a uno de los contactos de todos los potenciómetros. Suelde un LED azul con una resistencia limitadora de corriente de 150 ohmios.
Soldar cables verdes.
La interfaz final debería verse así (foto 1) y se puede conectar a la placa del receptor de esta manera (foto 2).
Séptimo paso: código
Ahora disponible para descargar al receptor Arduino Nano.
Para verificar, debe realizar un pequeño ajuste en el código nuevamente antes de descargarlo. Por defecto, el receptor muestra sus datos en un formato que puede interpretarse como datos puros, pero no muestra información útil en un monitor en serie. Sin embargo, puede cambiar este comportamiento en su código editando (agregando // antes) la línea #define WRITE_AS_BYTES y (eliminando // antes) la línea // #define PRINT_VIA_SERIAL_MONITOR.
Paso ocho: caso
Más lejos de la tira de cobre, el maestro hace un sensor.
Para hacer el caso, el maestro usa cajas vacías.
El maestro dibuja cartón. Corta 24 tiras de cobre y se sujeta en un cartón.
Además, el maestro corta cartón de 2 * 24 agujeros de ancho y el conector macho de 24 pines a medida y suelda 24 cables. Los cables en el medio deben tener al menos 10 cm de largo, a medida que se aleja del centro, la longitud de los cables aumenta. Por ejemplo, si usa una cinta de cobre de 1 cm de ancho y la distancia entre los electrodos de 3 mm, la longitud del cable debe aumentar en 1,3 cm, como se muestra a continuación: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...
Ahora puede soldar los segundos extremos de los cables a las tiras de cobre y sellar las tiras con cinta adhesiva.
Pega el sensor en el cuerpo y luego pega otro cuerpo (para verificación).
Cubre la parte posterior de la placa del controlador con cartón.
Instala LED y banco de energía. Debe organizar el banco de alimentación para poder conectar y desconectar el cable USB, porque así es como se enciende y apaga el controlador. También conecte la interfaz táctil a la placa del controlador y póngala en la caja.
Hace un recorte para el cable USB-A-USB-C en la unión de las dos cajas, lo sostiene y lo conecta al Arduino Nano.
Ahora el controlador está listo.
El maestro arregla el caso con la ayuda de chicle de escritorio. Si posteriormente surgen problemas con los sensores que detectan el tacto cuando no están presentes, debe colocar material aislante, como una película o similar, entre la carcasa sensible al tacto, la placa de circuito y los cables. Conecte la alimentación sin tocar los sensores.
Paso nueve: crear una caja de receptor
Ahora necesita hacer una carcasa para el receptor. El asistente corta varios orificios redondos para potenciómetros y LED.
Pega la placa del receptor, LED, potenciómetros de tornillo. Establece los mangos.
Paso diez: completar
Ahora que todo el equipo está montado, ¡es hora de reproducir música! Para hacer esto, necesita un software al que pueda conectar el equipo. Para Kravox, este es el software Pure Data Vanilla, que puede descargar de forma gratuita.
Después de instalar Pure Data en la computadora, debe ejecutarlo y abrir el archivo Kravox.pd. Tenga en cuenta que debe guardarse en su computadora en la misma carpeta que la carpeta de muestras de batería con la que se suministra; de lo contrario, Pure Data no podrá encontrar los archivos.
Tan pronto como se abra la interfaz del programa Kravox.pd, debe abrir la ventana, como en la foto, e instalar los cuatro dispositivos externos que se enumeran en esta ventana. Instalarlos es simple, simplemente haga clic en "ayuda" en el menú "Datos limpios", seleccione "Buscar objetos adicionales en Internet" (puede ser un poco diferente), busque "comportar", "zexy", "freeverb" y "arraysize". "uno por uno e instale la última versión. Ahora los cuatro objetos marcados como comportamiento, reempaquetado, freeverb y arraysize deben tener un contorno sólido, como en la figura a continuación. Es posible que deba reiniciar Pure Data para esto.
Después de instalar dispositivos externos, puede conectar el receptor a través de USB. Si cambió el código en la Parte 4 para usar el Receptor con el Arduino Serial Monitor, primero debe deshacer este cambio y cargar el código fuente en el receptor Arduino Nano antes de conectar y cerrar el Arduino Serial Monitor.
Ahora eche un vistazo a la ventana de Pure Data. Si ve un flujo de datos actualizado rápidamente, esto es excelente, pero lo más probable es que le muestre un mensaje rojo, como el de la primera imagen, que se actualiza cada dos segundos.
El texto rojo puede ser un poco diferente, pero aún así significa que Pure Data aún no se ha podido conectar a su receptor. Esto se debe a que el programa necesita especificar qué puerto USB conectar. Los puertos USB se pueden etiquetar de manera diferente en diferentes dispositivos; en el MacBook Pro 2014, Pure Data reconoce ambos puertos USB como puerto serie 3, independientemente del receptor al que se esté conectando. Luego, el asistente usó Kravox con el Lenovo Yoga Pad con un solo puerto USB en funcionamiento, que se designó como puerto serie 6. En Windows, los puertos se designan como 8 y 9. El asistente aconseja solo tratar de averiguar qué número funciona el puerto USB en su dispositivo . Creó un diálogo como parte de la interfaz Kravox.pd (segunda foto), donde simplemente puede hacer clic en los números hasta que el dispositivo funcione. También puede probar "Mostrar puertos disponibles" y los botones "Mostrar dispositivos USB conectados".
Luego, debe hacer clic en "Guardar" para que Pure Data intente conectarse a este puerto la próxima vez automáticamente.
Si se editó el código del controlador, debe volver a cargar el código.
Queda por conectar la placa del controlador a la fuente de alimentación. Cuando haga esto, el gabinete de la interfaz táctil alrededor del tablero debe estar cerrado, y la parte táctil del gabinete no debe tocar sus manos ni nada más.
Todo está listo, se puede ver información adicional en el video.