Kazalo:

Prima - robot, ki igra na klavir: 13 korakov
Prima - robot, ki igra na klavir: 13 korakov

Video: Prima - robot, ki igra na klavir: 13 korakov

Video: Prima - robot, ki igra na klavir: 13 korakov
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, December
Anonim
Prima - robot, ki igra klavir
Prima - robot, ki igra klavir

Zamisel, da bi robot igral na inštrument, me je vedno očarala in vedno sem si ga želela zgraditi sama. Nikoli pa nisem imel veliko znanja o glasbi in glasbilih, zato nikoli nisem mogel ugotoviti, kako bi pravzaprav začel s tem. Do nedavnega sem se začel zanimati za ustvarjanje glasbe, začel sem se učiti materialov za glasbeno produkcijo, potem ko sem dobil tipkovnico MIDI, sem spoznal, da to ni težko igrati in da lahko dejansko sestavim robota, ki ga lahko igra. Tako se je začelo izdelovanje Prime.

Nisem bil prepričan o uspešnosti tega projekta, zato se nisem potrudil z dokumentiranjem. Ker pa se je izkazalo, da deluje odlično, sem se odločil, da bom podrobnosti delil s skupnostjo Instructables. To ne bo dnevnik gradnje po korakih, temveč bolj vodilo za začetek. Pojasnil bom, kako deluje vsak del tega robota, delil njihove slike in kodo za Arduino. Upam, da bo to dovolj, če želite ponoviti ta projekt.

In oblikovanje je bilo navdihnjeno s temi navodili, vzklikajte JimRD!

Torej, začnimo

1. korak: Pregled celotnega projekta

Prima je robot, ki lahko igra na klaviaturo/klavir ali katero koli podobno glasbilo. Ima Arduino Uno kot možgane, LCD zaslon za vizualni izhod in ultrazvočni senzor za zagon brez dotika. Vsak napajalnik, ki oddaja 2 voltni ojačevalnik, mora imeti možnost napajanja.

Ima naslednje lastnosti -

  • Programabilno - Lahko se programira za predvajanje katere koli skladbe, ki je omejena v oktavi.
  • Nastavljiv tempo - tempo, ki mu bo sledil med igranjem na inštrument, lahko nastavite v kodi.
  • Zagon brez dotika - uporabnik lahko sproži igro samo s potegom roke po senzorju, kar bo v veliko pomoč, če je uporabnik zaposlen z igranjem drugega inštrumenta in želi, da bi Prima igrala z njim po določenem času. Človeški igralec moti z robotskim predvajalnikom - tudi to je mogoče doseči s pomočjo te funkcije.

2. korak: Video

Image
Image

V videu si lahko ogledate, kako igra klaviaturo.

3. korak: Izdelava 3D modela

Izdelava 3D modela
Izdelava 3D modela
Izdelava 3D modela
Izdelava 3D modela

Ko sem dokončal, kaj naj bi zmogel, sem telo oblikoval v TinkerCAD -u, da sem ga lahko začel graditi z jasno predstavo o tem, kaj počnem.

Ta pristop mi je zelo pomagal, da sem na koncu dobil čednega robota, ki deluje točno tako, kot je bil zasnovan. Čeprav sem pri gradnji moral nekoliko spremeniti prvotno zasnovo, mi je 3D model prihranil veliko časa in truda. 3D model si lahko podrobneje ogledate tukaj.

4. korak: Deli in orodja

Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja

Za elektronski del boste potrebovali -

  • Arduino Uno (Količina - 1)
  • 16x2 LCD zaslon (količina - 1)
  • I2C adapter za LCD zaslon (količina - 1)
  • Micro Servo TowerPro SG90 (Količina - 2)
  • HC -SR04 ultrazvočni senzor (količina - 1)
  • Preklopite potisno stikalo (količina - 1)
  • Zvočni signal (količina - 1)
  • Vero tabla/ Dot Board/ Perf Board
  • Moški na moški in moški na žice mostič

Za izdelavo telesa -

  • 5 mm PVC folija
  • Ciklični govor (količina - 2)
  • Vijaki
  • Tuba držala za polnjenje peresa
  • Razpršilo (če ga želite barvati)

Orodja, ki jih potrebujete -

  • Super lepilo
  • Pištola za vroče lepilo
  • Spajkalnik
  • Rezalnik papirja (A. K. A)

5. korak: Vezje

Vezja
Vezja
Vezja
Vezja
Vezja
Vezja

Del vezja je bil precej enostaven. Pojasnjujem, kako sem naredil vsak njegov segment -

LCD segment - Za LCD sem uporabil adapter I2C, tako da je Arduino z njim lahko komuniciral prek I2C, kar ni bilo potrebno, ampak je poenostavilo vezje in zmanjšalo število žic. Uporabite lahko standardni LCD, tako da kodo nekoliko spremenite.

Napajalni segment - Na veroboardu sem naredil preprosto vezje, ki ga sestavljajo preklopno stikalo, zvočni signal, LED (ki sem se ga kasneje odločil ne uporabljati) in skupno napajalno vodilo 5V. Napajalno vodilo, 5V in ozemljitveni zatiči servomotorjev, senzor sonarja, LCD in Arduino so med seboj povezani. En nož potisnega stikala je priključen na linijo 5V+, drugi pa na priključek VCC napajalnika. Ozemljitveni vod je neposredno priključen na ozemljitveni zatič napajalnika. Tako lahko Prima vklopite/izklopite s stikalom. Zvočni signal in LED sta povezana vzporedno, pin VCC pa gre na pin 13 Arduina. Njihova ozemljitev je povezana z maso skupnega pogonskega vodila.

Sprememba konektorja servomotorjev - Ker se mostične žice pogosto odklopijo od servo priključka, sem prerezal VCC in ozemljitveno žico iz obeh servomotorjev in jih spajkal neposredno na napajalno vodilo. Za signalne zatiče pa sem uporabil skakalne žice, da sem jih povezal z Arduinom.

Sonarni senzor - Spajamo dve žici na VCC in ozemljitveni pin senzorja sonarja, ki greta na skupno napajalno vodilo, in uporabil mostične žice za priključitev sprožilca in odmevnega zatiča na Arduino.

Arduino - napaja se prek priključka za sod.

Ki gre k kateremu -

Sprožilni zatič senzorja sonarja -> A2 pin Arduino

Odmevni senzor sonarnega senzorja -> Arduinov A3 pin

SDA pin adapterja I2C -> A4 pin Arduino

SCL pin adapterja I2C -> pin A5 Arduino

Buczerjev VCC -> Arduinov D13 pin

Signalni zatič za servo tipko pritisnete -> zatič D9 Arduino

Signalni zatič servo osi X -> zatič D8 Arduino

Vsi VCC in ozemljitveni zatiči so priključeni na skupno napajalno vodilo.

Korak 6: Nosilec senzorja za sonar

Nosilec senzorja za sonar
Nosilec senzorja za sonar

Slika je samoumevna, samo super lepljena polica v obliki črke L na "steno" in vroče lepljen senzor sonarja na polici.

7. korak: Izdelava tirnice X osi

Izdelava tirnice X osi
Izdelava tirnice X osi
Izdelava tirnice X osi
Izdelava tirnice X osi

Koncept tirnice osi X sem si sposodil pri CNC strojih. To sta samo dve kolesni naperi, nameščeni vzporedno drug z drugim, in "stene" imajo luknje, skozi katere gredo cikle. Na drugih koncih sten so kolesne napere vroče lepljene na stene, da se ne premikajo. Kolesarske napere so dovolj močne, da podpirajo os X.

8. korak: Platforma X osi

Platforma X osi
Platforma X osi
Platforma X osi
Platforma X osi
Platforma X osi
Platforma X osi
Platforma X osi
Platforma X osi

To je del, ki sega stransko do določenih tipk in ima servo, na katerem je pritrjena roka, ki pritisne tipko.

Na dnu ima dve cevki za držalo za polnjenje injekcijskega peresnika, ki sta vroče zlepljeni, skozi katere gredo cikli, ki omogočajo drsenje po njih. To cevko sem dobil iz peresa. Uporabite lahko vse, kar ustreza žbicam, na primer slamo za pitje.

Nato na sredini spodnje PVC folije stoji še ena PVC folija, ki stoji naravnost. V spodnjem delu ima izrezano luknjo, ki se prilega ohišju servomotorja, skozi katerega je vstavljen servo. Servo je pritrjen z vročim lepilom.

Servo ima priključeno roko. Ko mora robot pritisniti tipko, servo zasuka roko navzdol, kar povzroči pritisk tipke, nato pa jo zasuka v prejšnji položaj.

9. korak: Premaknite platformo osi X

Premikanje platforme osi X
Premikanje platforme osi X
Premikanje platforme osi X
Premikanje platforme osi X
Premikanje platforme osi X
Premikanje platforme osi X

Servo "os X" je pritrjen na dvignjeno ploščad na levi strani robota. Platforma osi X ima polico na vrhu, kjer se roka spoji z vijakom. Na drugem koncu roke je z vijakom spojena druga roka, ki je povezana s servo rogom. Vsi sklepi so premični in servo lahko poganja platformo osi X na tirnicah osi X z vrtenjem roga levo/desno, zaradi česar bi roke pritisnile/potegnile platformo na tirnice.

Spoji so izdelani z vijaki.

10. korak: Koda

Ko končate gradnjo telesa in vezja, naložite kodo na Arduino. Robota postavite vzporedno s tipkovnico/klavirjem Platforma osi x se bo najprej začela premikati v levo in se na določeni točki ustavila. Premikajte robota, dokler tipka C klavirja ne doseže te točke. To je ključen korak, saj brez tako postavljenega robota ne bo pravilno predvajal melodije. Nato vklopite robota, ki naj bi v nekaj sekundah začel predvajati melodijo.

Koda je precej osnovna in ima možnosti za izboljšave. Če želite, da robot predvaja svojo melodijo, bi jo morali vnesti v kodo, ki je precej enostavna.

Korak: Slikajte ga

Če ga želite pobarvati kot mojega (zelo priporočam, da izgleda bolje pobarvan), najprej naredite vse dele telesa in se prepričajte, da so pravilno izrezani. Nato jih operite z milom, da bodo brez olja in umazanije. Ljudje običajno barvajo površino, preden jo pobarvajo, vendar vam tukaj ni treba. Nanje najprej poškropite plast, pustite dovolj časa, da se posuši (nekaj ur), nato pobarvajte drugo plast. Ko se barva posuši, lahko začnete sestavljati dele in jih lepiti.

Za barvanje mojega sem uporabil brizgalno barvo

12. korak: Postavitev in organizacija elektronike

Postavitev in organizacija elektronike
Postavitev in organizacija elektronike
Postavitev in organizacija elektronike
Postavitev in organizacija elektronike

Arduino sem privijal na osnovno PVC folijo in vroče zlepil tako napajalni tokokrog kot LCD na osnovni plošči. Organizirajte žice z vročim lepilom.

13. korak: Zaključek: Hvala, ker ste prebrali navodila

Tako sem zgradil Primo. Upam, da je bil dnevnik gradnje jasen in enostaven za razumevanje. Če imate kakršna koli vprašanja, jih pustite v razdelku za komentarje, poskušal bom odgovoriti čim prej.

Prihodnji načrti s tem projektom -

  • Izdelava programske opreme za programiranje Prima lažje.
  • Dodajanje funkcije tapkanja tempa, tako da se lahko preprosto dotaknete gumba za prilagoditev tempa.
  • Zamenjavo servomotorjev s tišjimi in hitrejšimi

Če to zgradite, spustite slike v komentar, rad bi videl vaše!:)

Priporočena: