Tabla de contenido:

Prima - un robot que toca el piano: 13 pasos
Prima - un robot que toca el piano: 13 pasos

Video: Prima - un robot que toca el piano: 13 pasos

Video: Prima - un robot que toca el piano: 13 pasos
Video: Auto Rojo - Vilma Palma e Vampiros (Video Oficial) 2024, Noviembre
Anonim
Prima: un robot que toca el piano
Prima: un robot que toca el piano

La idea de un robot tocando un instrumento siempre me fascinó y siempre quise construir uno yo mismo. Sin embargo, nunca tuve mucho conocimiento sobre música e instrumentos musicales, por lo que nunca pude imaginar cómo empezaría con eso. Hasta hace poco, me interesé por hacer música, comencé a aprender cosas de producción musical y, después de obtener un teclado MIDI, me di cuenta de que este no es un instrumento difícil de tocar y de hecho puedo construir un robot que pueda tocarlo. Entonces, así es como comenzó la creación de Prima.

No estaba seguro del éxito de este proyecto, así que no me molesté en documentarlo. Pero como resultó estar funcionando muy bien, decidí compartir los detalles con la comunidad de Instructables. Este no será un registro de compilación paso a paso, sino más bien una guía para comenzar. Explicaré cómo funciona cada parte de este robot, compartiré las imágenes de ellos y el código del Arduino. Espero que sea suficiente si desea replicar este proyecto.

Y, el diseño se inspiró en estos instructivos, ¡un saludo a JimRD!

¡Entonces empecemos

Paso 1: descripción general de todo el proyecto

Prima es un robot que puede tocar el teclado / piano o cualquier instrumento similar basado en teclas. Tiene un Arduino Uno como cerebro, una pantalla LCD para salida visual y un sensor ultrasónico para arranque sin contacto. Cualquier adaptador de corriente que entregue 5 voltios y 2 amperios debería poder alimentarlo.

Tiene las siguientes características -

  • Programable: se puede programar para reproducir cualquier composición que esté limitada a una octava.
  • Tempo ajustable: el tempo que seguirá mientras toca el instrumento se puede establecer en el código.
  • Inicio sin contacto: el usuario puede activar la reproducción simplemente deslizando su mano sobre el sensor, lo que será de gran ayuda si el usuario está ocupado tocando otro instrumento y quiere que Prima toque junto con él / ella después de un tiempo específico. Jugador humano interfiriendo con un jugador robot; incluso esto también se puede lograr con la ayuda de esta función.

Paso 2: video

Image
Image

Puede verlo tocando un teclado en el video.

Paso 3: hacer el modelo 3D

Haciendo el modelo 3D
Haciendo el modelo 3D
Haciendo el modelo 3D
Haciendo el modelo 3D

Después de finalizar lo que debería poder hacer, diseñé el cuerpo en TinkerCAD para poder comenzar a construirlo teniendo una idea clara de lo que estaba haciendo.

Este enfoque me ayudó mucho a terminar con un robot de aspecto impecable que funciona exactamente de la forma en que fue diseñado. Aunque tuve que modificar un poco el diseño original mientras lo construía, el modelo 3D me ahorró mucho tiempo y esfuerzo. Puede ver el modelo 3D con más detalles aquí.

Paso 4: Piezas y herramientas

Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas

Para la parte electrónica, necesitará:

  • Arduino Uno (Cantidad - 1)
  • Pantalla LCD 16x2 (Cantidad - 1)
  • Adaptador I2C para la pantalla LCD (Cantidad: 1)
  • TowerPro SG90 Micro Servo (Cantidad - 2)
  • Sensor ultrasónico HC-SR04 (Cantidad: 1)
  • Interruptor de palanca (cantidad: 1)
  • Zumbador (Cantidad - 1)
  • Tablero Vero / Tablero de puntos / Tablero de rendimiento
  • Cables de puente macho a macho y macho a hembra

Para hacer el cuerpo

  • Hoja de PVC de 5 mm
  • Radio de ciclo (Cantidad - 2)
  • Empulgueras
  • Tubo de soporte de recarga de bolígrafo
  • Pintura en aerosol (si quieres pintarla)

Las herramientas que necesitará:

  • Super pegamento
  • Pistola de silicona
  • Soldador
  • Anti-cortador (cortador de papel A. K. A)

Paso 5: Circuito

Circuitería
Circuitería
Circuitería
Circuitería
Circuitería
Circuitería

La parte del circuito fue bastante fácil. Estoy explicando cómo hice cada segmento:

Segmento LCD: utilicé un adaptador I2C para el LCD para que el Arduino pudiera comunicarse con él a través de I2C, lo que no era necesario, pero simplificaba el circuito y reducía la cantidad de cables. Puede utilizar una pantalla LCD estándar modificando un poco el código.

Segmento de energía: hice un circuito simple en veroboard que consiste en un interruptor de palanca, un zumbador, un LED (que decidí no usar después) y un bus de energía común de 5V. El bus de alimentación como en, los pines de tierra y 5V de los servos, el sensor de sonar, la pantalla LCD y el Arduino están conectados entre sí respectivamente. Un pin del interruptor de empuje está conectado a la línea 5V +, y el otro pin está conectado al pin VCC de la fuente de alimentación. La línea de tierra está conectada directamente al pin de tierra de la fuente de alimentación. Por lo tanto, Prima se puede encender / apagar usando el interruptor. El zumbador y el LED están conectados en paralelo, y el pin VCC de ellos va al pin 13 del Arduino. Su tierra está conectada a la tierra del bus de alimentación común.

Modificación del conector de los servos: dado que los cables de puente a menudo tienden a desconectarse del conector del servo, corté el VCC y el cable de tierra de ambos servos y los soldé directamente al bus de alimentación. Para los pines de señal, sin embargo, utilicé cables de puente para conectarlos a Arduino.

Sensor de sonda: se soldaron dos cables respectivamente al VCC y al pin de tierra del sensor de sonda, que van al bus de alimentación común, y se utilizaron cables de puente para conectar el disparador y el pin de eco al Arduino.

Arduino: se alimenta a través del conector jack de barril.

Que va a cual -

Pin de disparo del sensor de sonda -> Pin A2 de Arduino

Pin de eco del sensor de sonda -> Pin A3 de Arduino

Pin SDA del adaptador I2C -> Pin A4 de Arduino

Pin SCL del adaptador I2C -> Pin A5 de Arduino

VCC del zumbador -> Pin D13 de Arduino

Pin de señal del servo presionando la tecla -> pin D9 de Arduino

Pin de señal del servo del eje X -> Pin D8 de Arduino

Todos los pines VCC y de tierra están conectados al bus de alimentación común.

Paso 6: Montaje del sensor de sonda

Montaje del sensor de sonda
Montaje del sensor de sonda

La imagen se explica por sí misma, simplemente pegó un estante en forma de L en la "pared" y pegó en caliente el sensor de sonda en el estante.

Paso 7: Hacer el riel del eje X

Hacer el riel del eje X
Hacer el riel del eje X
Hacer el riel del eje X
Hacer el riel del eje X

Tomé prestado el concepto del riel del eje X de las máquinas CNC. Son solo dos radios de ciclo colocados paralelos entre sí, y las "paredes" tienen orificios a través de los cuales pasan los radios de ciclo. En los otros extremos de las paredes, los radios del ciclo están pegados en caliente a las paredes para que no se muevan. Los radios del ciclo son lo suficientemente fuertes para soportar la plataforma del eje X.

Paso 8: Plataforma del eje X

Plataforma del eje X
Plataforma del eje X
Plataforma del eje X
Plataforma del eje X
Plataforma del eje X
Plataforma del eje X
Plataforma del eje X
Plataforma del eje X

Es la parte que va hacia los lados para llegar a ciertas teclas y tiene un servo que tiene un brazo adjunto que presiona la tecla.

Tiene dos tubos de soporte de recarga de bolígrafos pegados en caliente en la parte inferior a través de los cuales pasan los radios del ciclo, lo que permite que se deslice sobre ellos. Conseguí este tubo de un bolígrafo, puede usar cualquier cosa que se ajuste a los radios, como una pajita para beber.

Luego, en el medio de la hoja de PVC inferior, hay otra hoja de PVC erguida. Tiene un agujero cortado en la parte inferior que se ajusta al cuerpo del servo y el servo se inserta a través de él. El servo se ha asegurado con pegamento caliente.

El servo tiene un brazo conectado a él. Cuando el robot tiene que presionar una tecla, el servo gira el brazo hacia abajo dando como resultado una presión de tecla y luego lo gira a su posición anterior.

Paso 9: Mover la plataforma del eje X

Mover la plataforma del eje X
Mover la plataforma del eje X
Mover la plataforma del eje X
Mover la plataforma del eje X
Mover la plataforma del eje X
Mover la plataforma del eje X

El servo de "movimiento del eje X" está conectado a una plataforma elevada que está en el lado izquierdo del robot. La plataforma del eje X tiene un estante en la parte superior donde se articula un brazo mediante un tornillo. En el otro extremo del brazo, otro brazo se articula mediante tornillo y este se conecta a la bocina del servo. Todas las articulaciones son móviles y el servo puede impulsar la plataforma del eje X en los rieles del eje X girando su bocina hacia la izquierda / derecha, lo que haría que los brazos empujen / tire de la plataforma sobre los rieles.

Las juntas se realizan mediante tornillo.

Paso 10: Código

Después de terminar de construir el cuerpo y el circuito, cargue el código en Arduino. Ponga el robot en paralelo con el teclado / piano. La plataforma del eje x primero comenzará a moverse hacia la izquierda y se detendrá en un punto determinado. Mueva el robot hasta que la tecla C del piano llegue a ese punto. Este es un paso crucial, porque sin posicionar el robot de esta manera, no tocará la melodía correctamente. Luego encienda el robot, debería comenzar a reproducir una melodía en unos segundos.

El código es bastante básico y tiene margen de mejora. Si desea que el robot toque su propia melodía, solo tendrá que ponerla en el código, lo cual es bastante fácil.

Paso 11: Pintarlo

Si quieres pintarlo como el mío (te sugiero que lo hagas, se ve mucho mejor pintado), haz primero todas las partes del cuerpo, asegúrate de que estén cortadas correctamente. Luego, lávelos con jabón para que estén libres de aceite y suciedad. La gente suele lijar la superficie antes de pintarla, pero aquí no es necesario. Rocíe una capa sobre ellos primero, déle suficiente tiempo para que se seque (unas horas), luego pinte otra capa. Puede comenzar a ensamblar las piezas y pegarlas después de que se seque la pintura.

Usé pintura en aerosol para pintar la mía

Paso 12: Colocación y organización de la electrónica

Colocación y organización de la electrónica
Colocación y organización de la electrónica
Colocación y organización de la electrónica
Colocación y organización de la electrónica

Atornillé el Arduino a la hoja de PVC base y pegué en caliente tanto el circuito de alimentación como la pantalla LCD en la placa base. Organizó los cables con pegamento caliente.

Paso 13: Conclusión: Gracias por leer los Instructables

Entonces, así es como construí Prima. Espero que el registro de compilación sea claro y fácil de entender. Si tiene alguna pregunta, no dude en dejarla en la sección de comentarios, intentaré responder lo antes posible.

Planes futuros con este proyecto -

  • Hacer un software para programar Prima más fácilmente.
  • Añadiendo la función de tapping de tempo para que pueda tocar un botón para ajustar el tempo.
  • Cambiar los servos por otros más silenciosos y rápidos

Si construye esto, coloque fotos en el comentario, ¡me encantaría ver la suya!:)

Recomendado: