Tabla de contenido:

Piano de frutas rápido con MIDI: 6 pasos (con imágenes)
Piano de frutas rápido con MIDI: 6 pasos (con imágenes)

Video: Piano de frutas rápido con MIDI: 6 pasos (con imágenes)

Video: Piano de frutas rápido con MIDI: 6 pasos (con imágenes)
Video: ¡Impresiona en piano con una sola nota! 2024, Noviembre
Anonim
Image
Image
Piano rápido de frutas con MIDI
Piano rápido de frutas con MIDI

Este es un piano táctil capacitivo realmente simple. Toque frutas, latas de refresco, botellas de agua, tiras de papel de aluminio, etc., y obtendrá música de piano polifónica de su computadora. Ahora que el software está escrito, el proyecto no debería tomar más de 10 minutos para armarlo con la versión de Arduino.

Necesitas:

  • un Arduino (Mega para 8 teclas, Uno para 6 teclas) o una placa pastilla negra STM32F103C8 ($ 2 en Aliexpress) más un convertidor UART a USB (por ejemplo, un Arduino o un CH340)
  • cable USB
  • un poco de papel de aluminio
  • Clips de prueba idealmente, pero los saltadores y los clips servirán (idea para eso desde aquí)
  • fruta, plastilina o trozos de papel con áreas coloreadas con un lápiz
  • computadora.

No se necesitan componentes adicionales, ya que utiliza código de la brillante biblioteca ADCTouch de martin2250 y el Arduino envía comandos MIDI en serie a la computadora. La reproducción de audio de Arduino se realiza a través de un script de Python incluido en la computadora o midiserial sin pelo.

Si usa la placa de desarrollo STM32F103C8, entonces es aún mejor: el piano se convierte en un verdadero controlador MIDI USB, sin la necesidad de midiserial sin pelo.

Nota: Para evitar daños al Arduino / STM32F1 por la electricidad estática, especialmente en un día seco o sobre una alfombra, sugiero no tocar el papel de aluminio o los clips de prueba cuando el dispositivo está funcionando. En su lugar, toque la fruta, plastilina, etc., cuya resistencia debería proporcionar cierta protección ESD

Paso 1: Bibliotecas Arduino

Bibliotecas Arduino
Bibliotecas Arduino

En el IDE de Arduino, elija Sketch | Incluir biblioteca | Gerente de biblioteca. Busque mi ADCTouchSensor. Instale la biblioteca.

Luego elija Archivo | Ejemplos | ADCTouchSensor | Piano capacitivo.

Si tiene un Arduino, conecte su Arduino al puerto USB de su computadora y cargue el boceto de CapacitivePiano en su Uno o Mega. El boceto enviará datos a la computadora a través de USB serial sobre cuál de los sensores capacitivos 8 (Mega) o 6 (Uno) se activó.

Si tiene un STM32F103C8, primero instale el gestor de arranque y configure el IDE de Arduino para él (con mi rama de la rama addMidiHID) siguiendo los primeros tres pasos aquí. Luego regrese al Administrador de bibliotecas y busque mi biblioteca USBHID_stm32f1. Instalarlo.

Paso 2: conecte los cables a las teclas del piano

Adjuntar cables a las teclas del piano
Adjuntar cables a las teclas del piano
Adjuntar cables a las teclas del piano
Adjuntar cables a las teclas del piano

Ejecute cables desde los pines A0-A7 (A0-A5 en Uno) en su Arduino o STM32F103C8 a lo que quiera que funcione como teclas de piano. Por ejemplo, utilicé puentes con pinzas de cocodrilo o pinzas de prueba que iban a trozos de papel de aluminio en cada uno de los cuales puse una lata de refresco o una naranja como clave. El papel de aluminio se puede utilizar directamente como llave. O se puede clavar un alambre en una pieza de fruta, verdura o plastilina.

Paso 3: Instale el software: Opción A: Arduino y Hairless MIDI to Serial Bridge

Puede descargar e instalar Hairless MIDI to Serial Bridge (Win / OSX / Linux) para vincular la salida USB-serial de Arduino con el software de sintetizador de su computadora.

Si tiene Windows 7 o una versión posterior, puede usar el sintetizador integrado Microsoft Wavetable GS, por lo que todo lo que necesita para instalar es Hairless. Algún otro software de reproducción requerirá loopMIDI.

En otros sistemas, es posible que necesite un sintetizador MIDI como VirtualMidiSynth o Garageband. También puede usar VirtualMidiSynth en Windows si lo desea.

Paso 4: Instale el software: Opción B: Arduino y Python

Instalar software: Opción B: Arduino y Python
Instalar software: Opción B: Arduino y Python

También puede usar un simple script de Python incluido que reproduce notas MIDI.

Asegúrese de tener Python instalado en su computadora. Bastará con 2.7 o 3.x.

Asegúrate de tener instalado el paquete pygame Python. Si no es así, ejecute esto desde la línea de comandos:

python -m pip instalar pygame

Descubra qué dirección es el puerto serie de su Arduino. Su IDE de Arduino tendrá los puertos serie enumerados en Herramientas | Puerto.

En el paquete CapacitivePiano que descargó, encontrará el script music.py que es el lado de PC del proyecto.

Paso 5: Instale el software: Opción C: STM32F103C y software de sintetizador MIDI

Instalar software: Opción C: STM32F103C y software de sintetizador MIDI
Instalar software: Opción C: STM32F103C y software de sintetizador MIDI

Si tiene el STM32F103C, puede utilizar cualquier software que funcione con un controlador de teclado MIDI.

En una computadora, uso el teclado de piano virtual MIDI (VMPK). Con el STM32F103C enchufado, elija Editar | Conexiones MIDI | Introduzca la conexión MIDI y luego elija Maple MIDI o Diro Synth.

En un dispositivo Android, he utilizado con éxito (con un cable USB OTG) Common Analog Synthesizer y Synth DX7 Piano.

Paso 6: ¡Juega

¡Jugar!
¡Jugar!
¡Jugar!
¡Jugar!
¡Jugar!
¡Jugar!

Conecte el Arduino con el boceto del piano capacitivo en la computadora. No toque ninguno de los "botones" hasta que sólo se ejecute el LED de encendido, para permitir la calibración de los botones capacitivos.

Para la opción Hairless, ejecute el puente MIDI Hairless, elija el puerto serie de la lista desplegable. Luego elige un sintetizador. En Windows, si elige Microsoft Wavetable GS Synth, todo debería funcionar.

Si desea utilizar el script de Python en su lugar, asegúrese de estar en el directorio donde tiene piano.py y ejecute:

puerto de serie python piano.py

donde serialport es el puerto serial de Arduino IDE (por ejemplo, COMx en Windows).

Si usa el STM32F103C8, use su software de sintetizador MIDI favorito en una computadora o dispositivo móvil.

¡Ahora presiona tus "botones" y diviértete!

Ideas educativas para que los niños experimenten:

  • Experimente con diferentes elementos en el papel de aluminio y vea cuáles funcionan y cuáles no, y luego hable sobre por qué estos funcionan y otros no.
  • La plastilina funciona muy bien (y luego ni siquiera necesitas papel de aluminio y clips; solo puedes pegar cables en la plastilina, ¡aunque es cierto que parece una bomba!).
  • Incluso puede tomar una hoja de papel y sombrear áreas con un lápiz (no tiene que ser muy oscuro, pero el rayado cruzado es bueno) y sujetarlos.
  • Puede colocar una pinza de cocodrilo en un elemento de metal realmente grande, como el borde de una pizarra, y hacer llaves gigantes.
  • Un experimento que se puede probar es hacer que una persona más pequeña sostenga una pinza de cocodrilo unida a uno de los cables, y luego hacer que una persona más grande le dé la mano o choque los cinco con la persona más pequeña, y vea si eso se registra. Luego intente nuevamente con una persona más grande sosteniéndolo y una más pequeña tocándolos.

Solo asegúrese de que después de cada cambio de lo que está conectado al Arduino, reinicie el Arduino, ya sea presionando el botón "reiniciar" o volviendo a enchufar la conexión USB (y luego vuelva a ejecutar el código Python, ya que probablemente se bloqueará), para recalibrar los sensores.

Se puede discutir la capacidad eléctrica y la detección capacitiva.

Recomendado: