Introduction: Robot Pianista: Cómo Crear Un Robot Que Toca El Piano Con Arduino, Servomotores E Impresión 3D (versión En Español)

¿Te imaginas un robot que pueda tocar el piano por sí solo? ¿Te gustaría aprender a construir uno y sorprender a tus amigos y familiares? Si la respuesta es sí, entonces este proyecto es para ti.

Mi nombre es Vicenzo y tengo 13 años. Me encanta tocar el piano desde que tenía 8 años, porque es un instrumento que me permite expresar mis emociones y divertirme. También me apasiona la robótica, porque me permite crear cosas increíbles con mis propias manos y mi imaginación.

Por eso, cuando vi el concurso de Instructables sobre proyectos de robótica, se me ocurrió la idea de combinar mis dos pasiones y crear un robot que pudiera tocar el piano. Así nació este proyecto, que te voy a enseñar paso a paso, para que tú también puedas hacerlo.

En este instructable, encontrarás todos los detalles sobre los materiales, las herramientas, el diseño, la programación y el montaje del robot. También podrás ver un video de cómo funciona el robot y cómo toca una canción.

El robot se constituye de diferentes módulos, que tienen un sistema parecido a un pistón que corresponde a cada tecla. En mi caso utilice 8 o en resumidas cuentas una escala músical. El dispositivo se puede adaptar a cualquier piano gracias a su base graduable.

Este proyecto es muy divertido y educativo, ya que te ayudará a desarrollar tus habilidades en robótica, electrónica y programación. Además, podrás personalizar el robot a tu gusto y hacerlo tocar las canciones que más te gusten.

¿Estás listo para empezar? Entonces, vamos a ver qué necesitamos para este proyecto.


Supplies

Para construir este maravilloso proyecto necesitas:

Hardware:

  • Arduino Nano. Amazon
  • Shield de Arduino Nano para servomotores. Amazon
  • Servomotores sg90, 1 por cada módulo. Amazon
  • Fuente de alimentación de 12 voltios con conector macho para la shield. Amazon
  • Piano electrónico (el dispositivo se adapta a cualquier tipo y marca). Amazon
  • Palo de madera de 2 cm de grosor. Lo encuentras en cualquier ferretería
  • Palos de brochet, 1 por cada módulo. Lo encuentras en cualquier supermercado
  • 2 tornillos de 4 cm y 1/2 pulgada con su tuerca. Lo encuentras en cualquier ferretería
  • 8 tornillos de  2 cm autorroscantes. Lo encuentras en cualquier ferretería
  • 2 maderas 10 cm x 10 cm. Lo encuentras en cualquier ferretería

Software:

  • Computadora con Arduino IDE o Mblock

Impresión 3D:

  • Filamento PLA de varios colores. Amazon

Herramientas:

  • Impresora 3D
  • Silicona caliente
  • Destornilladores

Step 1: Impresión Y Diseño 3D

Imprime las piezas 1, 2, 3 y 4 (partes del pistón) de acuerdo a la cantidad de módulos que quieras (en mi caso utilice 8, una escala musical). Recomiendo usar una altura de capa de 0.2 mm y un relleno de más del 20%.

Por otro lado imprime 2 piezas 5 (soporte del robot). Recomiendo usar una altura de capa de 0.2 mm y un relleno de más del 40% ya que es una pieza de importancia estructural. Ten en cuenta que este modelo está compuesto por dos piezas, para facilitar la impresión, las cuales deberás separar en parte 5a (parte inferior) y pieza 5b (parte superior). Activa los soportes para imprimirla.

Puedes utilizar diferentes colores de filamento, para hacer el robot más atractivo. Finalmente no te olvides de retirar los soportes.

Para el diseño 3D utilice Tinkercad ya que permite diseñar en 3D de una forma muy simple. Tú también puedes usarlo para modificar estas piezas, de acuerdo a distintos factores, como el grosor del palo de madera, etc.

Step 2: Empezar Con El Ensamble

Corta el palo de brochet aproximadamente a 11 cm. 

Luego introducirlo en el cuerpo del pistón (pieza 1) y pega la pieza 2 y 3 como se ve en la imágen.

Step 3: Atornillar La Pieza 4

Atornilla la pieza 4 a uno de los accesorios incluidos en la bolsa de los servos. 

Guiate por la imágen

Step 4: Pega Los Servos

Pega los servos al cuerpo del pistón con un poco de silicona caliente. El eje debe de quedar hacia arriba.

Posteriormente atornilla (temporalmente) el conjunto armado en el paso anterior al servo en una posición de 90°. Recomiendo atornillarla definitivamente como último paso para poder hacer ajustes en el software, en cuanto a la posición.

¡Felicidades! ya tienes un pistón armado, repite los pasos para hacer cuantos quieras.

Step 5: Ensambla Los Pistones En El Palo

Introduce el palo por el orificio más grande de todos los pistones y ajustalos para que la distancias entre sí coincidan con las teclas de tu piano. Pegalos con silicona caliente, en caso que lo necesites, utiliza un tornillo fino para fijarlo.

Step 6: Arma Las Bases (a)

Atornilla las base (pieza 5, a) a la madera, con 4 tornillos autorroscantes, repite el paso con la otra base. Guiate por la imágen

Step 7: Arma Las Bases (b)

En cada extremo del palo, atornilla la pieza 5, b. Guiate por la imágen

Step 8: Ajusta La Altura Del Robot Sobre El Piano

Ahora que ya tienes todas las piezas del robot ensambladas, es el momento de colocarlo sobre el piano y ajustar su altura. Para ello, sigue estos pasos:

  • Coloca el robot sobre el piano, de forma que las dos bases de la pieza 1 queden apoyadas sobre la superficie donde está el piano. Asegúrate de que el robot esté centrado y alineado con las teclas.
  • Observa la posición de los pistones de la pieza 4, que son los que harán presión sobre las teclas para tocar el piano. Estos pistones deben quedar justo encima de las teclas, sin tocarlas, pero lo más cerca posible.  Recuerda que los servomotores deben estar a más de 90°. Puedes usar esta imagen como referencia.
  • Si los pistones están demasiado altos o demasiado bajos, tendrás que ajustar la altura del robot. Para ello, puedes usar los tornillos de ½ . Estos tornillos se insertan en los orificios de graduación que hay en las bases y sirven para elevar o bajar el robot según sea necesario.
  • Prueba diferentes combinaciones de tornillos hasta que encuentres la altura óptima para el robot.
  • Una vez que hayas ajustado la altura del robot, fija los tornillos con las tuercas correspondientes, para que el robot no se mueva ni se caiga.


Step 9: Conecta Los Servomotores Al Arduino

Ahora que ya tienes el robot ajustado sobre el piano, es el momento de conectar los servomotores al Arduino, que es el cerebro del robot. Para ello, sigue estos pasos:

  • Pega el Arduino Nano con la shield para servomotores a la parte trasera del robot, usando cinta adhesiva o pegamento. Asegúrate de que el Arduino y la shield queden bien fijados y no se muevan ni se caigan.
  • Conecta los cables de los servomotores a los pines de la shield, siguiendo el orden que has establecido. Por ejemplo, si el primer servomotor corresponde a la nota DO, conéctalo al pin 2 de la shield. Si el segundo servomotor corresponde a la nota RE, conéctalo al pin 3 de la shield. Y así sucesivamente, hasta conectar todos los servomotores que hayas usado.
  • La shield para servomotores es un accesorio que se acopla al Arduino y que facilita la conexión y el control de los servomotores. Además, tiene un regulador de voltaje de 5 voltios que permite suministrar la corriente adecuada a los servomotores, sin dañar el Arduino.
  • Una vez que hayas conectado todos los servomotores, conecta la fuente de 12 volts al puerto de la shield, y el cable USB al Arduino Nano. La fuente de 12 volts proporciona la energía necesaria para que el robot funcione, y el cable USB permite la comunicación entre el Arduino y el ordenador.

Ya casi lo tienes. Solo te queda programar el Arduino para que el robot toque el piano. Vamos al paso 10

Step 10: Programa El Robot Para Que Toque El Piano

Ahora que ya tienes el robot conectado al Arduino, es el momento de programarlo para que toque el piano. Para ello, puedes usar diferentes entornos de programación, como Arduino IDE, Mblock, entre otros. Cada uno tiene sus ventajas y desventajas, que te voy a explicar a continuación:

  • Arduino IDE es el entorno de programación oficial de Arduino, que te permite escribir y cargar el código en el Arduino usando el lenguaje C++. Es un entorno muy completo y potente, que te ofrece muchas posibilidades y funciones para controlar el robot. Sin embargo, también es un entorno más complejo y difícil de usar, que requiere más conocimientos y experiencia en programación. Además, una vez que cargas el código en el Arduino, no puedes modificarlo ni interactuar con el robot en tiempo real, sino que tienes que volver a cargar el código cada vez que quieras hacer un cambio.
  • Mblock es un entorno de programación basado en Scratch, que te permite programar el Arduino usando bloques gráficos que se encajan entre sí. Es un entorno muy fácil y divertido de usar, que te permite crear programas de forma intuitiva y visual. Además, te permite comunicarte con el Arduino en tiempo real, usando el modo online, lo que te facilita probar y ajustar el robot. Sin embargo, también es un entorno más limitado y simple, que no te ofrece todas las funciones y opciones que tiene el Arduino IDE. Además, para usar Mblock, necesitas instalar un driver y una extensión en tu ordenador, lo que puede ser un poco engorroso.

En este instructable, te voy a mostrar cómo programar el robot usando Mblock, ya que creo que es un entorno más adecuado para este proyecto. Sin embargo, si prefieres usar Arduino IDE, también puedes hacerlo, siguiendo las mismas lógicas y principios que te voy a explicar.

A continuación, te dejo el código de Mblock que yo usé para programar el robot, usando el modo online. Este código hace que el robot toque diferentes canciones como oda a la alegría y el tren del cielo, también en otra sección enseña a tocar el piano. El código está estructurado con funciones, lo que hace que tu también puedas programar tus propias canciones, cambiando los bloques de sonido y los tiempos. O incluso, puedes llevar más allá el proyecto, creando una interfaz para enseñar a tocar el piano, como la que yo hice en el código.

Step 11: Disfruta Tu Robot

En este instructable, te he mostrado cómo crear un robot que puede tocar el piano de forma autónoma, usando materiales simples y accesibles, como servomotores, Arduino, impresión 3D y Mblock. Espero que te haya gustado este proyecto y que te haya servido para aprender y divertirte con la robótica, la electrónica y la programación. También espero que te hayas inspirado para crear tus propios proyectos, usando tu imaginación y tu creatividad.

Este es el final de este instructable, pero no el final de tu aventura. Puedes seguir experimentando y mejorando el robot, añadiendo más funciones, más canciones, más interacción, más personalización, etc. También puedes compartir tu experiencia con la comunidad de Instructables, subiendo fotos y videos de tu robot, comentando tus dudas y sugerencias, y votando por este proyecto en el concurso de robótica.

Muchas gracias por seguir este instructable. Si tienes alguna duda, puedes consultarla en los comentarios. Hasta la próxima. 😊

Robotics Contest

Second Prize in the
Robotics Contest