Taula de continguts:

Prima: un robot que toca el piano: 13 passos
Prima: un robot que toca el piano: 13 passos

Vídeo: Prima: un robot que toca el piano: 13 passos

Vídeo: Prima: un robot que toca el piano: 13 passos
Vídeo: ПОЧЕМУ Я ЖДУ L4D3 2024, De novembre
Anonim
Prima: un robot que toca el piano
Prima: un robot que toca el piano

La idea que un robot toqués un instrument sempre em va fascinar i sempre he volgut construir-ne un. Tanmateix, mai vaig tenir molts coneixements sobre la música i els instruments musicals, de manera que mai no vaig poder esbrinar fins a quin punt començaria amb això. Fins fa poc, em vaig interessar per fer música, vaig començar a aprendre material de producció musical i, després d’aconseguir un teclat MIDI, m’he adonat que no és un instrument difícil de tocar i que en realitat puc construir un robot que el pugui tocar. Així doncs, així va començar la creació de Prima.

No estava segur de l'èxit d'aquest projecte, així que no em vaig molestar a documentar-lo. Però com que va funcionar molt bé, he decidit compartir els detalls amb la comunitat Instructables. Aquest no serà un registre de construcció pas a pas, sinó més aviat una pauta per començar. Explicaré com funciona cada part d’aquest robot, compartiré les seves imatges i el codi de l’Arduino. Espero que n’hi hagi prou si voleu replicar aquest projecte.

I, el disseny es va inspirar en aquests instructius, crideu a JimRD!

Comencem, doncs,

Pas 1: Visió general del projecte sencer

Prima és un robot que pot tocar teclat / piano o qualsevol instrument similar basat en tecles. Té com a cervell un Arduino Uno, una pantalla LCD per a la sortida visual i un sensor d’ultrasons per arrencar sense tacte. Qualsevol adaptador de corrent que proporcioni 5 volts i 2 amperis hauria de poder alimentar-lo.

Té les funcions següents:

  • Programable: es pot programar per reproduir qualsevol composició limitada en una octava.
  • Tempo ajustable: el tempo que seguirà mentre toqueu l'instrument es pot configurar al codi.
  • Arrencada sense tacte: l’usuari pot activar la reproducció simplement lliscant la mà sobre el sensor, cosa que li serà molt útil si l’usuari està ocupat tocant un altre instrument i vol que Prima toqui amb ell després d’un temps específic. Bloqueig de reproductors humans amb un reproductor de robots, fins i tot això també es pot aconseguir gràcies a aquesta funció.

Pas 2: vídeo

Image
Image

Podeu veure-la reproduint un teclat al vídeo.

Pas 3: elaboració del model 3D

Realització del model 3D
Realització del model 3D
Realització del model 3D
Realització del model 3D

Després de finalitzar el que hauria de poder fer, vaig dissenyar el cos a TinkerCAD per poder començar a construir-lo tenint una idea clara del que feia.

Aquest enfocament m’ha ajudat molt a acabar amb un robot d’aspecte ordenat que funciona exactament com es va dissenyar. Tot i que vaig haver de modificar una mica el disseny original mentre el construïa, el model 3D encara em va estalviar molt de temps i esforç. Podeu veure el model 3D en més detalls aquí.

Pas 4: peces i eines

Peces i eines
Peces i eines
Peces i eines
Peces i eines
Peces i eines
Peces i eines

Per a la part electrònica, necessitareu -

  • Arduino Uno (Quantitat - 1)
  • Pantalla LCD de 16x2 (quantitat - 1)
  • Adaptador I2C per a la pantalla LCD (quantitat - 1)
  • Servo micro TowerPro SG90 (quantitat - 2)
  • Sensor d'ultrasons HC-SR04 (quantitat - 1)
  • Interruptor de commutació (quantitat - 1)
  • Zumbador (quantitat - 1)
  • Tauler Vero / Dot Board / Perf Board
  • Filferos de pont masculí a masculí i masculí a femení

Per fer el cos -

  • Xapa de PVC de 5 mm
  • Cicle de ràdio (quantitat - 2)
  • Cargols
  • Tub de recàrrega de ploma
  • Pintura en aerosol (Si el voleu pintar)

Les eines que necessiteu -

  • Superglue
  • Pistola de cola calenta
  • Soldador
  • Anti-tallador (A. K. A Paper-cutter)

Pas 5: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

La part del circuit va ser bastant fàcil. Estic explicant com en vaig fer cada segment:

Segment LCD: he utilitzat un adaptador I2C per a la pantalla LCD perquè l’Arduino pugui comunicar-s’hi mitjançant I2C, cosa que no era necessària, però simplificava el circuit i reduïa el nombre de cables. Podeu utilitzar una pantalla LCD estàndard modificant una mica el codi.

Segment d’alimentació: he creat un circuit senzill al veroboard que consisteix en un commutador de pulsació, un brunzidor, un LED (que vaig decidir no utilitzar després) i un bus d’alimentació comú de 5V. El bus d’alimentació com ara, els pins de 5V i de terra dels servos, el sensor de sonar, la pantalla LCD i l’Arduino estan connectats entre ells respectivament. Un pin del polsador està connectat a la línia 5V + i l’altre pin al pin VCC de la font d’alimentació. La línia de terra està connectada directament al pin de terra de la font d'alimentació. Per tant, Prima es pot activar / desactivar mitjançant l’interruptor. El brunzidor i el LED estan connectats en paral·lel i el pin VCC d’ells passa al pin 13 de l’Arduino. La seva terra està connectada a la terra del bus d'alimentació comú.

Modificació del connector dels servos: atès que els cables de pont solen desconnectar del connector del servo, he tallat el VCC i el cable de terra dels dos servos i els heu soldat directament al bus d'alimentació. Per als pins de senyal, però, he utilitzat cables jumper per connectar-los a Arduino.

Sensor de sonar: soldats dos cables respectivament al VCC i al pin de terra del sensor de sonar, que van al bus d'alimentació comú, i utilitzen cables jumper per connectar el disparador i el pin de ressò a l'Arduino.

Arduino: alimentat mitjançant el connector jack de barril.

Quin va a quin -

Pin d'activador del sensor de sonar -> Pin A2 d'Arduino

Pin de ressò del sonar Sensor -> Pin A3 d'Arduino

Pin SDA de l'adaptador I2C -> Pin A4 d'Arduino

Pin SCL de l'adaptador I2C -> Pin A5 d'Arduino

VCC de Buzzer -> Pin D13 d'Arduino

Tecla que prem el pin del senyal del servo -> el pin D9 d'Arduino

Pin de senyal del servo de l'eix X -> Pin D8 d'Arduino

Tots els pins VCC i de terra estan connectats al bus d'alimentació comú.

Pas 6: muntatge del sensor de sonar

Muntatge del sensor de sonar
Muntatge del sensor de sonar

La imatge s’explica per si mateixa, només ha super-enganxat un prestatge en forma de L a la "paret" i ha enganxat el sensor de sonar a l'estant.

Pas 7: fabricació del carril de l'eix X

Fent el carril de l’eix X
Fent el carril de l’eix X
Fent el carril de l’eix X
Fent el carril de l’eix X

Em vaig manllevar el concepte del carril de l’eix X de màquines CNC. Es tracta només de dos radis de cicle col·locats paral·lels entre si, i les "parets" tenen forats pels quals passen els radis de cicle. Als altres extrems de les parets, els radis del cicle s’enganxen a les parets de manera que no es moguin. Els radis de cicle són prou forts com per suportar la plataforma de l’eix X.

Pas 8: plataforma de l'eix X

Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis

És la part que va lateralment per arribar a determinades tecles i que té un servo que té un braç unit que prem la tecla.

Té dos tubs de suport de recàrrega de ploma enganxats en calent a la part inferior per on passen els radis del cicle que li permeten lliscar-hi. Tinc aquest tub d'un bolígraf, és possible que utilitzeu qualsevol cosa que s'adapti als radis, com ara beure palla.

A continuació, al centre de la làmina inferior de PVC, hi ha una altra làmina de PVC de peu dret. Té un forat tallat a la part inferior que s’adapta al cos del servo i s’insereix a través del servo. El servo s’ha fixat mitjançant cola calenta.

El servo té un braç connectat. Quan el robot ha de prémer una tecla, el servo gira el braç cap avall resultant que es prem una tecla i la gira a la seva posició anterior després.

Pas 9: Moure la plataforma Eix X

Moure la plataforma Eix X
Moure la plataforma Eix X
Moure la plataforma Eix X
Moure la plataforma Eix X
Moure la plataforma Eix X
Moure la plataforma Eix X

El servo "Eix X Mover" està unit a una plataforma elevada que es troba a la part esquerra del robot. La plataforma de l’eix X té un prestatge a la part superior on s’uneix un braç mitjançant un cargol. A l’altre extrem del braç, s’uneix un altre braç mitjançant cargol i aquest es connecta al servocorn. Totes les juntes són mòbils i el servo pot conduir la plataforma de l’eix X sobre els rails de l’eix X girant la banya cap a l’esquerra / dreta, cosa que faria que els braços empenyessin / estiressin la plataforma sobre els rails.

Les juntes es fan mitjançant cargol.

Pas 10: Codi

Després d'acabar de construir el cos i el circuit, pengeu el codi a Arduino. Col·loqueu el robot en paral·lel amb el teclat / piano. La plataforma de l’eix x primer començarà a moure’s cap a l’esquerra i s’aturarà en un punt determinat. Mou el robot fins que la tecla C del piano compleixi aquest punt. Aquest és un pas crucial, perquè sense posicionar el robot d’aquesta manera, no reproduirà la melodia correctament. A continuació, engegueu el robot, en pocs segons hauria de començar a reproduir una melodia.

El codi és força bàsic i té marge de millora. Si voleu que el robot toqui la vostra pròpia melodia, només hauríeu de posar-la al codi que és bastant fàcil.

Pas 11: Pintar-lo

Si el voleu pintar com el meu (us recomanaria fer-ho, sembla que estigui molt millor pintat), primer feu totes les parts del cos i assegureu-vos que es tallin correctament. Després, renteu-los amb sabó perquè estiguin lliures d’oli i brutícia. La gent sol polir la superfície abans de pintar-la, però aquí no cal. Polvoritzeu-hi primer una capa, doneu-li el temps suficient per assecar-se (poques hores) i, a continuació, pinteu una altra capa. Podeu començar a muntar les peces i enganxar-les després que s’assequi la pintura.

Vaig utilitzar pintura en aerosol per pintar la meva

Pas 12: col·locació i organització de l'electrònica

Col·locació i organització de l'electrònica
Col·locació i organització de l'electrònica
Col·locació i organització de l'electrònica
Col·locació i organització de l'electrònica

Vaig cargolar l'Arduino a la làmina de PVC base i vaig enganxar en calent tant el circuit d'alimentació com la pantalla LCD de la placa base. Organitzat els cables amb cola calenta.

Pas 13: Conclusió: Gràcies per llegir els instructables

Així doncs, així vaig construir Prima. Espero que el registre de compilació sigui clar i fàcil d’entendre. Si teniu cap pregunta, no dubteu a deixar-les a la secció de comentaris, intentaré respondre-hi el més aviat possible.

Plans de futur amb aquest projecte -

  • Fer un programari per programar Prima més fàcilment.
  • Afegiu la funció de tocar el tempo perquè pugueu tocar un botó per ajustar el tempo.
  • Canviant els servos per altres més silenciosos i ràpids

Si el construïu, deixeu imatges al comentari, m'encantaria veure les vostres.:)

Recomanat: