Sisällysluettelo:

Prima - robotti, joka soittaa pianoa: 13 vaihetta
Prima - robotti, joka soittaa pianoa: 13 vaihetta

Video: Prima - robotti, joka soittaa pianoa: 13 vaihetta

Video: Prima - robotti, joka soittaa pianoa: 13 vaihetta
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Marraskuu
Anonim
Prima - robotti, joka soittaa pianoa
Prima - robotti, joka soittaa pianoa

Ajatus robottia soittavasta instrumentista kiehtoi minua aina, ja halusin aina rakentaa sellaisen itse. Minulla ei kuitenkaan koskaan ollut paljon tietoa musiikista ja soittimista, joten en koskaan voinut selvittää, miten todella aloittaisin sen kanssa. Viime aikoihin asti kiinnostuin musiikin tekemisestä, aloin oppia musiikin tuotantoa, ja kun olen saanut MIDI -näppäimistön, olen ymmärtänyt, että tämä ei ole vaikea soitin, ja voin todella rakentaa robotin, joka pystyy soittamaan sitä. Niinpä Priman tekeminen alkoi.

En ollut varma tämän projektin onnistumisesta, joten en vaivautunut dokumentoimaan sitä. Mutta koska se osoittautui toimivaksi, olen päättänyt jakaa yksityiskohdat Instructables -yhteisölle. Tämä ei ole vaiheittainen rakennusloki, vaan pikemminkin ohje, jolla pääset alkuun. Selitän kuinka tämän robotin jokainen osa toimii, jaan niistä kuvia ja Arduinon koodin. Toivottavasti tämä riittää, jos haluat toistaa tämän projektin.

Suunnittelu on saanut inspiraationsa näistä ohjeista, huutakaa JimRD: lle!

Joten aloitetaan

Vaihe 1: Katsaus koko projektiin

Prima on robotti, joka osaa soittaa näppäimistöä/pianoa tai mitä tahansa vastaavaa avainpohjaista instrumenttia. Siinä on Arduino Uno aivoina, LCD-näyttö visuaaliseen lähtöön ja ultraäänianturi kosketuksettomaan käynnistykseen. Kaikkien virtalähteiden, jotka tuottavat 5 voltin 2 ampeerin, on voitava käyttää sitä.

Siinä on seuraavat ominaisuudet -

  • Ohjelmoitava - voidaan ohjelmoida toistamaan mitä tahansa sävellystä, joka on rajoitettu oktaavin sisällä.
  • Säädettävä tempo - Koodissa voidaan asettaa tempo, jota se seuraa soitettaessa.
  • Kosketukseton käynnistys - Käyttäjä voi käynnistää soiton vain pyyhkäisemällä kätensä anturilla, mikä on erittäin hyödyllistä, jos käyttäjä on kiireinen toisen instrumentin soittamisessa ja haluaa Priman pelaavan hänen kanssaan tietyn ajan kuluttua. Ihmispelaaja häiritsee robottipelaajaa - jopa tämä voidaan saavuttaa tämän ominaisuuden avulla.

Vaihe 2: Video

Image
Image

Voit katsoa sitä videon näppäimistön avulla.

Vaihe 3: 3D -mallin luominen

3D -mallin tekeminen
3D -mallin tekeminen
3D -mallin tekeminen
3D -mallin tekeminen

Kun olin saanut valmiiksi sen, mitä sen pitäisi pystyä tekemään, suunnittelin kehon TinkerCADilla, jotta voisin aloittaa sen rakentamisen ja saada selkeän käsityksen siitä, mitä olin tekemässä.

Tämä lähestymistapa auttoi minua suuresti päätymään siistin näköiseen robottiin, joka toimii juuri niin kuin se oli suunniteltu. Vaikka jouduin hieman muokkaamaan alkuperäistä suunnittelua sen rakentamisen aikana, 3D -malli säästää silti paljon aikaa ja vaivaa. Saatat nähdä 3D -mallin tarkemmin täällä.

Vaihe 4: Osat ja työkalut

Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut

Sähköiseen osaan tarvitset -

  • Arduino Uno (määrä - 1)
  • 16x2 LCD -näyttö (määrä - 1)
  • I2C -sovitin nestekidenäyttöön (määrä - 1)
  • TowerPro SG90 Micro Servo (määrä - 2)
  • HC -SR04 -ultraääni -anturi (määrä - 1)
  • Vaihda painokytkin (määrä - 1)
  • Summeri (määrä - 1)
  • Vero board/ Dot Board/ Perf Board
  • Uros -uros ja uros -naarasliitinjohdot

Vartalon tekemiseksi -

  • 5 mm PVC -arkki
  • Syklipuolat (määrä - 2)
  • Ruuvit
  • Kynän täyttöaukon pidike
  • Ruiskumaali (jos haluat maalata sen)

Tarvittavat työkalut -

  • Pikaliima
  • Kuuma liimapistooli
  • Juotin
  • Leikkauksen esto (A. K. A Paperileikkuri)

Vaihe 5: Piiri

Piirit
Piirit
Piirit
Piirit
Piirit
Piirit

Kierrososa oli melko helppo. Selitän kuinka tein sen jokaisen osan -

LCD -segmentti - Käytin I2C -sovitinta nestekidenäyttöön, jotta Arduino voisi kommunikoida sen kanssa I2C: n kautta, mikä ei ollut välttämätöntä, mutta yksinkertaisti piiriä ja vähensi johtojen määrää. Voit käyttää tavallista nestekidenäyttöä muuttamalla koodia hieman.

Virtasegmentti - Tein yksinkertaisen piirin veroboardille, joka koostuu vaihtokytkimestä, summerista, LEDistä (jota päätin olla käyttämättä jälkikäteen) ja 5 V: n yhteisen tehoväylän. Virtaväylä kuten, 5 V: n ja maadoitusnastat servoissa, kaikuluotaintunnistin, LCD ja Arduino on kytketty toisiinsa. Yksi painokytkimen nasta on kytketty 5V+ -johtoon ja toinen nasta virtalähteen VCC -nastaan. Maadoitusjohto on kytketty suoraan virtalähteen maadoitusnastaan. Prima voidaan siis kytkeä päälle/pois kytkimellä. Summeri ja LED on kytketty rinnakkain, ja niiden VCC -nasta menee Arduinon nastaan 13. Niiden maa on kytketty yhteisen tehoväylän maahan.

Servojen liittimien muutos - Koska hyppyjohtimet pyrkivät usein irrottautumaan servoliittimestä, katkaisin VCC: n ja maadoitusjohdon molemmista servoista ja juotin ne suoraan tehoväylään. Signaalitappeihin käytin kuitenkin hyppyjohtoja liittämään ne Arduinoon.

Kaikuluotain - Juotettu kaksi johtoa luotainanturin VCC- ja maadoitusnastaan, jotka menevät yhteiseen tehoväylään, ja käyttänyt hyppyjohtoja liipaisimen ja kaiun tapin liittämiseen Arduinoon.

Arduino - Virta tynnyrin liittimen kautta.

Mikä menee mihin -

Kaikuluotainanturin liipaisintappi -> Arduinon A2 -nasta

Luotainanturin kaiutappi -> Arduinon A3 -nasta

I2C -sovittimen SDA -nasta -> Arduinon A4 -nasta

I2C -sovittimen SCL -nasta -> Arduinon A5 -nasta

Buzzerin VCC -> Arduinon D13 -nasta

Näppäimen painaminen servon signaalinasta -> Arduinon D9 -nasta

X -akselin servon signaalitappi -> Arduinon D8 -nasta

Kaikki VCC- ja maadoitusliittimet on kytketty yhteiseen tehoväylään.

Vaihe 6: Kaikuluotainanturin kiinnitys

Kaikuluotainanturin kiinnike
Kaikuluotainanturin kiinnike

Kuva on itsestään selvä, vain liimattu L-muotoinen hylly "seinälle" ja kuumaliimattu luotainanturi hyllylle.

Vaihe 7: X -akselin kiskon tekeminen

X -akselin kiskon tekeminen
X -akselin kiskon tekeminen
X -akselin kiskon tekeminen
X -akselin kiskon tekeminen

Lainasin X -akselin kiskon käsitteen CNC -koneilta. Se on vain kaksi syklin pinnoja, jotka on sijoitettu rinnakkain toistensa kanssa, ja "seinissä" on reikiä, joiden läpi syklin pinnat kulkevat. Seinien toisissa päissä syklin pinnat on liimattu seiniin, joten ne eivät liiku. Pyörän pinnat ovat riittävän vahvoja tukemaan X -akselin tasoa.

Vaihe 8: X -akselialusta

X -akselinen alusta
X -akselinen alusta
X -akselin alusta
X -akselin alusta
X -akselinen alusta
X -akselinen alusta
X -akselinen alusta
X -akselinen alusta

Se on osa, joka menee sivuttain päästäkseen tiettyihin näppäimiin ja jossa on servo, johon on kiinnitetty varsi, joka painaa näppäintä.

Sen pohjassa on kaksi kuuma liimattua kynän täyttöaukon pidikeputkea, jonka läpi syklin pinnat menevät, jolloin se liukuu niiden päälle. Sain tämän putken kynältä, voit käyttää mitä tahansa puolaan sopivaa, kuten juomapilliä.

Sitten alemman PVC -arkin keskellä on toinen PVC -levy, joka seisoo suorassa. Sen alaosassa on reikä, joka sopii servorunkoon ja servo työnnetään sen läpi. Servo on kiinnitetty kuumaliimalla.

Servoon on liitetty varsi. Kun robotin on painettava näppäintä, servo kääntää käsivartta alaspäin, jolloin näppäin painetaan ja kääntää sen entiseen asentoonsa sen jälkeen.

Vaihe 9: X -akselialustan siirtäminen

X -akselin alustan siirtäminen
X -akselin alustan siirtäminen
X -akselin alustan siirtäminen
X -akselin alustan siirtäminen
X -akselin alustan siirtäminen
X -akselin alustan siirtäminen

"X -akselin liikkujan" servo on kiinnitetty korkealle tasolle, joka on robotin vasemmalla puolella. X -akselin alustan yläosassa on hylly, jossa varsi on liitetty ruuvilla. Varren toisessa päässä toinen varsi on liitetty ruuvilla ja tämä on liitetty servosarveen. Kaikki nivelet ovat liikuteltavia, ja servo voi ajaa X -akselin tasoa X -akselin kiskoilla kiertämällä sarvea vasemmalle/oikealle, mikä saa käsivarret työntämään/vetämään koria kiskoilla.

Liitokset tehdään ruuvilla.

Vaihe 10: Koodi

Kun olet lopettanut rungon ja piirin rakentamisen, lataa koodi Arduinolle. Aseta robotti rinnakkain näppäimistön/pianon kanssa. X -akselin alusta alkaa ensin liikkua vasemmalle ja pysähtyy tietyssä kohdassa. Liikuta robottia, kunnes pianon C -näppäin kohtaa tämän kohdan. Tämä on ratkaiseva askel, koska ilman robotin sijoittamista tällä tavalla se ei toista melodiaa oikein. Käynnistä sitten robotti, sen pitäisi alkaa soittaa melodia muutaman sekunnin kuluessa.

Koodi on melko yksinkertainen ja siinä on parantamisen varaa. Jos haluat, että robotti soittaa oman melodian, sinun tarvitsee vain laittaa se koodiin, mikä on melko helppoa.

Vaihe 11: Maalaus

Jos haluat maalata sen kuten minun (suosittelen lämpimästi maalaamista), tee ensin kaikki kehon osat ja varmista, että ne on leikattu oikein. Pese ne sitten saippualla, jotta ne ovat puhtaita öljystä ja liasta. Ihmiset yleensä hiovat pinnan ennen maalaamista, mutta täällä sinun ei tarvitse. Suihkuta niihin ensin kerros, anna sen kuivua riittävästi (muutama tunti) ja maalaa sitten toinen kerros. Voit aloittaa osien kokoamisen ja liimaamisen yhteen maalin kuivumisen jälkeen.

Maalaukseen käytin spraymaalia

Vaihe 12: Elektroniikan sijoittaminen ja järjestäminen

Elektroniikan sijoittaminen ja järjestäminen
Elektroniikan sijoittaminen ja järjestäminen
Elektroniikan sijoittaminen ja järjestäminen
Elektroniikan sijoittaminen ja järjestäminen

Ruuvasin Arduinon PVC-pohjalevyyn ja liimasin kuumalla virtapiirin ja nestekidenäytön pohjalevyllä. Järjestä johdot kuumalla liimalla.

Vaihe 13: Johtopäätös: Kiitos, että luit ohjeet

Joten, näin rakensin Priman. Toivottavasti rakennusloki oli selkeä ja helppo ymmärtää. Jos sinulla on kysyttävää, jätä ne kommenttikenttään, yritän vastata mahdollisimman pian.

Tulevia suunnitelmia tämän projektin kanssa -

  • Ohjelmiston tekeminen Priman ohjelmointiin helpommin.
  • Lisäämällä tempon napautusominaisuutta, jotta voit vain napauttaa painiketta säätääksesi tempoa.
  • Servojen vaihtaminen hiljaisempiin ja nopeampiin

Jos rakennat tämän, laita kuvia kommenttiin, haluaisin nähdä sinun!:)

Suositeltava: