Introduction: Piano Player

Picture of Piano Player

El objetivo del proyecto es elaborar un sistema que pueda tocar música preprogramada en las teclas digitales de una aplicación de piano para el iPad 2.

Nuestro proyecto consta de un sistema con un grado de libertad de desplazamiento lineal actuado por un sistema banda polea acoplado a un motor de pasos para mover una base rectangular en la que se encuentran tres servomotores que fungen como dedos del sistema para tocar la canción

Step 1: Materiales

Arduino UNO

Driver A4988

Stepper motor NEMA17

3 x Micro Servo sg90

‘Dedos touch’ hechos de acrílico y adjuntos con aluminio

Fuente 12V

Fuente 5V

Cable cobre

Perfiles de aluminio t20 2 x 40 cm

Varillas de 8 mm x 40 cm

Polea y banda GT2

Placas de acrílico de 6 mm

Tornillos

Step 2: Diseño De Corredera

Picture of Diseño De Corredera

El sistema del carro es básicamente una corredera con unas guías lineales soportadas por unas paredes de acrílico (piezas) y unas barras de sujeción

Para esta parte se utilizaron perfiles de aluminio t20, piezas de acrílico de 6mm para las paredes y varillas de 8mm de diámetro que funcionan como las guías para el carro.

La estructura de la figura está sujeta mediante tornillos de ¼ de pulgada y 1 pulgada de largo en la parte de los perfiles extruidos. Por otra parte, los tornillos que presionan las barras son también de 1/4 , pero estos son más cortos, ½ de pulgada de largo para hacer presión.

Step 3: Diseño Del Carro

Picture of Diseño Del Carro

Los sliders de nylamid se perforan para encajar en la guía de 8mm de diámetro

Step 4: Montaje Del Stepper Motor Y Polea

Picture of Montaje Del Stepper Motor Y Polea

El motor de pasos Nema 17 se encuentra montado mediante tres tornillos m4 x 12 mm que van desde la pared lateral de acrílico hasta el soporte del motor, después el motor de pasos se inserta en la base de acrílico (Base_Stepper) con cuatro tornillos M3 x 10mm. Finalmente, se inserta la polea dentada GT2 en la flecha del stepper

Del otro lado se monta un balero que es la contraparte de la polea GT2. Se monta también sobre una base de acrílico atornillada a la pared lateral de forma que quede a la misma altura de la polea que está del otro lado.

Step 5: Diseño De La Mano

Picture of Diseño De La Mano

El diseño mecánico de la mano se conforma del ensamble de dos placas rectangulares de acrílico unidas por cuatro soportes de madera mdf de 6 mm, otros dos soportes de madera se encuentran extra entre las placas para sujetar la banda dentada que hará el desplazamiento lineal en el eje X.

Sobre la placa superior hay tres orificios rectangulares sobre los que se han ajustados tres servomotores. a las flechas de éstos se ha ajustado un ‘dedo’ de acrílico, donde el dedo del servomotor de en medio es recto, y los de los extremos tienen una inclinación de 25º para el centro, ésto para que la punta de los tres dedos tengan una separación de 17 mm entre cada uno, para poder posicionar cada punta en tres teclas blancas consecutivas.

Step 6: Ensamble

Picture of Ensamble

A la estructura del sistema de corredera y carro se le deben montar la banda dentada de la polea GT2 y sobre el carro la estructura de la mano para que finalmente el ensamble quede como la imagen adjunta

Step 7: Conexion Del Motor a Pasos

Picture of Conexion Del Motor a Pasos

El motor de pasos Nema 17 está alimentado por una fuente de 12V y conectado al Arduino UNO a través de un driver A4988 y un CNC Shield para Arduino para el control del mismo. Aquí se muestra el esquemático de las conexiones

Step 8: Conexión De Los Microservos

Picture of Conexión De Los Microservos

Es necesaria una fuente independiente de 5V, la señal de los servos van a los pines del arduino que estén libres, como ejemplo, 5,6, 7 (pueden variar). La señal de los servos son conectados a los pines, con su voltajes y tierras puenteados respectivamente

Step 9: Sistema Touch Para Los "dedos"

Picture of Sistema Touch Para Los "dedos"

se recomienda hacerlos con elementos planos en los extremos. Envueltos en aluminio, cuidando que quede lo más plano posible, conectados a cables con una carga de 5V ya que estamos utilizando un iPad como piano. Si se utiliza un piano físico este paso no es necesario

Step 10: Programación

Picture of Programación

La idea principal de la programación es hacer cuatro arrays para cada canción; los cuales deben ser del mismo tamaño. La programación contiene todas las canciones programadas dentro de un switch; para escoger la canción a tocar el usuario manda por comunicación serial el nombre de la canción que desea.

El primer array contiene las posiciones de la mano en cada nota. En nuestra programación configuramos cuatro posiciones A, B, C y D las cuales cubrían 3 notas cada una, por lo que en total podíamos tocar 12 notas. Sin embargo también podemos cambiar la escala del piano para alcanzar otras notas dependiendo de la canción que se tocara y las notas que esta necesite.

El array 3 contiene los tiempos de las notas, es decir qué tanto tiempo debe permanecer el servomotor del dedo correspondiente en la posición baja (tocando la tecla). Este array como los demás debe tener el mismo tamaño ya que cada elemento corresponde a cada nota, por ejemplo la nota 1 debe estar en la posición B, dedo 3 con una duración de 300 ms.

El array 4 contiene los delays entre teclas, es decir qué tanto tiempo debe transcurrir entre cada nota, o qué tanto tiempo debe transcurrir sin que ningún servo se mueva a la posición de tocar tecla.

Comments

Swansong (author)2017-12-04

That could be a lot of fun to use as background music or for a prank for Halloween :) I'd love to see a video of it playing.

AlejandraG37 (author)Swansong2017-12-04

I just posted a video about it! Sadly I don't have more but it functioned really nice. I hope you like it :)

About This Instructable

134views

3favorites

License:

More by AlejandraG37:Piano Player
Add instructable to: