Sisukord:

Prima - robot, mis mängib klaverit: 13 sammu
Prima - robot, mis mängib klaverit: 13 sammu

Video: Prima - robot, mis mängib klaverit: 13 sammu

Video: Prima - robot, mis mängib klaverit: 13 sammu
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, November
Anonim
Prima - robot, mis mängib klaverit
Prima - robot, mis mängib klaverit

Mõte robotist pillimängust paelus mind alati ja ma tahtsin seda alati ise ehitada. Kuid mul polnud kunagi palju teadmisi muusika ja muusikariistade kohta, nii et ma ei suutnud kunagi välja mõelda, kuidas ma sellega alustan. Kuni viimase ajani tekkis mul huvi muusikategemise vastu, hakkasin õppima muusikaproduktsiooni ja pärast MIDI -klaviatuuri saamist olen aru saanud, et seda pole raske mängida ja ma suudan tegelikult ehitada roboti, mis seda mängida oskab. Niisiis, Prima tegemine algas.

Ma ei olnud selle projekti õnnestumises kindel, nii et ei viitsinud seda dokumenteerida. Aga kuna see osutus suurepäraseks, olen otsustanud jagada üksikasju Instructablesi kogukonnaga. See ei ole samm-sammult koostamislogi, vaid pigem juhis alustamiseks. Ma selgitan, kuidas selle roboti iga osa töötab, jagan nende pilte ja Arduino koodi. Loodetavasti sellest piisab, kui soovite seda projekti korrata.

Ja disain oli inspireeritud sellest juhendist, hüüdke JimRD -le!

Niisiis, alustame

1. samm: kogu projekti ülevaade

Prima on robot, mis oskab mängida klaviatuuri/klaverit või mõnda muud sarnast klahvipõhist pilli. Ajus on Arduino Uno, visuaalse väljundi jaoks LCD-ekraan ja puutetundlikuks käivitamiseks ultrahelisensor. Iga toiteadapter, mis pakub 5 volti 2 amprit, peaks saama seda toita.

Sellel on järgmised omadused -

  • Programmeeritav - saab programmeerida esitama mis tahes kompositsiooni, mis on piiratud oktavi piires.
  • Reguleeritav tempo - koodi saab seadistada instrumendi mängimise ajal järgitavale tempole.
  • Puutevaba käivitamine - Kasutaja saab käivitada mängimise, lihtsalt libistades käega anduril, mis on suureks abiks, kui kasutaja on hõivatud mõne teise instrumendi mängimisega ja soovib, et Prima mängiks temaga koos teatud aja pärast. Inimängija segamine robotmängijaga - isegi seda on võimalik selle funktsiooni abil saavutada.

2. samm: video

Image
Image

Saate seda videol klaviatuuri mängides vaadata.

3. samm: 3D -mudeli tegemine

3D mudeli tegemine
3D mudeli tegemine
3D mudeli tegemine
3D mudeli tegemine

Pärast selle lõpuleviimist, mida see peaks suutma, kujundasin keha TinkerCAD -i jaoks, et saaksin seda ehitama hakata, omades selget ettekujutust sellest, mida ma teen.

See lähenemine aitas mul suurel määral saada ilusa välimusega roboti, mis töötab täpselt nii, nagu see oli kavandatud. Kuigi ma pidin esialgset disaini selle ehitamisel natuke muutma, säästis 3D -mudel mulle siiski palju aega ja vaeva. 3D -mudelit näete siin üksikasjalikumalt.

Samm: osad ja tööriistad

Osad ja tööriistad
Osad ja tööriistad
Osad ja tööriistad
Osad ja tööriistad
Osad ja tööriistad
Osad ja tööriistad

Elektroonilise osa jaoks vajate -

  • Arduino Uno (kogus - 1)
  • 16x2 LCD -ekraan (kogus - 1)
  • I2C -adapter LCD -ekraanile (kogus - 1)
  • TowerPro SG90 mikroservo (kogus - 2)
  • HC -SR04 ultraheli andur (kogus - 1)
  • Lülituslüliti (kogus - 1)
  • Summeri (kogus - 1)
  • Vero board/ Dot Board/ Perf Board
  • Meeste ja isaste ja meeste vaheliste hüppajate juhtmed

Keha valmistamiseks -

  • 5 mm PVC leht
  • Tsükli kodarad (kogus - 2)
  • Kruvid
  • Pliiatsi täitmise hoidiku toru
  • Pihustusvärv (kui soovite seda värvida)

Vajalikud tööriistad -

  • Superliim
  • Kuum liimipüstol
  • Jootekolb
  • Lõikamisvastane (A. K. A paberilõikur)

Samm: vooluringid

Vooluringid
Vooluringid
Vooluringid
Vooluringid
Vooluringid
Vooluringid

Ringkonnakoha osa oli üsna lihtne. Ma selgitan, kuidas ma selle iga lõigu tegin -

LCD segment - kasutasin LCD jaoks I2C adapterit, et Arduino saaks sellega I2C kaudu suhelda, mis polnud vajalik, kuid lihtsustas vooluringi ja vähendas juhtmete arvu. Koodi pisut muutes saate kasutada tavalist LCD -ekraani.

Toitesegment - tegin veroboardile lihtsa vooluahela, mis koosneb lülituslülitist, helisignaalist, LED -ist (mida ma hiljem otsustasin mitte kasutada) ja 5 V ühisest toitesiinist. Toitesiin nagu sees, servode, sonari anduri, LCD ja Arduino 5V ja maanduspoldid on kõik omavahel ühendatud. Tõukelüliti üks tihvt on ühendatud 5V+ liiniga ja teine tihvt on ühendatud toiteploki VCC tihvtiga. Maandusliin on ühendatud otse toiteallika maanduspistikuga. Niisiis, Prima saab lüliti abil sisse/välja lülitada. Sumin ja valgusdiood on ühendatud paralleelselt ning nende VCC tihvt läheb Arduino tihvti 13 külge. Nende maandus on ühendatud ühise toitesiini maandusega.

Servode pistiku modifikatsioon - Kuna hüppaja juhtmed kipuvad sageli servo pistikust lahti ühendama, lõikasin VCC ja maandusjuhtme mõlemast servost välja ja jootsin otse toitesiini külge. Signaali tihvtide jaoks kasutasin aga Arduinoga ühendamiseks hüppajajuhtmeid.

Sonari andur - joodeti kaks traati vastavalt sonari anduri VCC -le ja maandusnõelale, mis lähevad ühisesse toitesiini, ja kasutasid hüppajajuhtmeid päästiku ja kajapoldi ühendamiseks Arduinoga.

Arduino - toide läbi tünnipistiku pistiku.

Kumb läheb -

Sonari anduri päästiku tihvt -> Arduino A2 tihvt

Sonari anduri kajapulk -> Arduino A3 tihvt

I2C adapteri SDA tihvt -> Arduino A4 tihvt

I2C -adapteri SCL -tihvt -> Arduino A5 -tihvt

Buzzeri VCC -> Arduino D13 tihvt

Võtme vajutamine servo signaaltihvtile -> Arduino D9 tihvt

X -telje servo signaali tihvt -> Arduino D8 tihvt

Kõik VCC ja maanduspoldid on ühendatud ühise toitesiini külge.

6. samm: sonari anduri kinnitus

Sonari anduri kinnitus
Sonari anduri kinnitus

Pilt on iseenesestmõistetav, lihtsalt liimitud "seinale" L-kujuline riiul ja riiulil kuumliimitud sonari andur.

7. samm: X -telje rööpa valmistamine

X -telje rööpa valmistamine
X -telje rööpa valmistamine
X -telje rööpa valmistamine
X -telje rööpa valmistamine

Laenasin X -telje rööpa kontseptsiooni CNC -masinatelt. See on lihtsalt kaks tsükli kodarat, mis on paigutatud üksteisega paralleelselt, ja "seintel" on augud, millest tsükli kodarad lähevad. Seinte teistes otstes on tsükli kodarad seinte külge kuumliimitud, nii et need ei liiguks. Tsükli kodarad on piisavalt tugevad, et toetada X -telje platvormi.

8. samm: X -telje platvorm

X -telje platvorm
X -telje platvorm
X -telje platvorm
X -telje platvorm
X -telje platvorm
X -telje platvorm
X -telje platvorm
X -telje platvorm

See on osa, mis läheb teatud klahvideni jõudmiseks külgsuunas ja millel on servo, mille külge on kinnitatud käsi, mis vajutab klahvi.

Selle põhjale on kuumliimitud kaks pliiatsi täitmise hoidiku toru, mille kaudu tsükli kodarad lähevad, võimaldades sellel libiseda. Ma sain selle toru pliiatsist, võite kasutada kõike, mis sobib kodaratega, näiteks joogikõrs.

Seejärel seisab alumise PVC -lehe keskel teine PVC -leht otse. Selle alumises osas on auk, mis sobib servo korpusega ja servo sisestatakse selle kaudu. Servo on kinnitatud kuuma liimiga.

Servo on sellega ühendatud. Kui robot peab klahvi vajutama, pöörab servo käe alla, mille tulemuseks on klahvivajutus, ja pöörab selle pärast oma endisesse asendisse.

9. samm: X -telje platvormi liigutamine

X -telje platvormi liigutamine
X -telje platvormi liigutamine
X -telje platvormi liigutamine
X -telje platvormi liigutamine
X -telje platvormi liigutamine
X -telje platvormi liigutamine

"X -telje liigutaja" servo on kinnitatud kõrgendatud platvormi külge, mis asub roboti vasakul küljel. X -telje platvormil on ülaosas riiul, kus õlg ühendatakse kruvi abil. Käe teises otsas ühendatakse kruvi abil veel üks käsi ja see ühendatakse servosarvega. Kõik liigendid on liigutatavad ja servo võib juhtida X -telje platvormi X -telje rööbastel, pöörates sarve vasakule/paremale, mis paneks käed platvormi rööbastel lükkama/tõmbama.

Ühendused tehakse kruvide abil.

10. samm: kood

Pärast keha ja vooluringi ehitamise lõpetamist laadige kood Arduinole üles. Asetage robot klaviatuuri/klaveriga paralleelselt. X -telje platvorm hakkab kõigepealt vasakule liikuma ja peatub teatud punktis. Liigutage robotit, kuni klaveri klahv C vastab sellele punktile. See on ülioluline samm, sest ilma roboti sellisel positsioneerimisel ei mängi ta meloodiat õigesti. Seejärel lülitage robot sisse, see peaks mõne sekundi jooksul meloodiat mängima hakkama.

Kood on üsna lihtne ja sellel on arenguruumi. Kui soovite, et robot mängiks teie enda meloodiat, peate selle lihtsalt koodi sisestama, mis on üsna lihtne.

Samm 11: selle värvimine

Kui soovite seda värvida nagu mina (soovitan seda väga teha, tundub see paremini maalitud), tehke kõigepealt kõik kehaosad ja veenduge, et need on õigesti lõigatud. Seejärel peske neid seebi abil, nii et need oleksid õlist ja mustusest puhtad. Inimesed lihvivad pinda tavaliselt enne värvimist, kuid siin pole seda vaja. Pihustage neile kõigepealt kiht, laske sellel piisavalt aega kuivada (paar tundi), seejärel värvige teine kiht. Pärast värvi kuivamist võite hakata osi kokku panema ja kokku liimima.

Mina kasutasin oma värvimiseks pihustusvärvi

12. samm: elektroonika paigutamine ja korraldamine

Elektroonika paigutamine ja korraldamine
Elektroonika paigutamine ja korraldamine
Elektroonika paigutamine ja korraldamine
Elektroonika paigutamine ja korraldamine

Kruvisin Arduino PVC alusele ja liimisin kuumalt nii toiteahela kui ka LCD-plaadi alusplaadil. Korraldas juhtmed kuuma liimiga.

Samm 13: Järeldus: Täname, et lugesite juhendeid

Niisiis, ma ehitasin Prima. Loodan, et ehituslogi oli selge ja kergesti arusaadav. Kui teil on küsimusi, jätke need kommentaaride sektsiooni, proovin vastata nii kiiresti kui võimalik.

Selle projekti tulevikuplaanid -

  • Prima hõlpsamaks programmeerimiseks tarkvara tegemine.
  • Tempo koputamise funktsiooni lisamine, et saaksite lihtsalt tempo reguleerimiseks nuppu puudutada.
  • Servode vahetamine vaiksemate ja kiiremate vastu

Kui te selle ehitate, jätke kommentaaridesse pildid, mulle meeldiks teie oma näha!:)

Soovitan: