INHOUDSOPGAWE:

Prima - 'n robot wat klavier speel: 13 stappe
Prima - 'n robot wat klavier speel: 13 stappe

Video: Prima - 'n robot wat klavier speel: 13 stappe

Video: Prima - 'n robot wat klavier speel: 13 stappe
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, November
Anonim
Prima - 'n robot wat klavier speel
Prima - 'n robot wat klavier speel

Die idee dat 'n robot 'n instrument speel, het my altyd gefassineer, en ek wou nog altyd self 'n een bou. Ek het egter nooit veel kennis oor musiek en musiekinstrumente gehad nie, so ek kon nooit uitvind hoe ek eintlik daarmee sou begin nie. Tot onlangs het ek geïnteresseerd geraak in die maak van musiek, begin om musiekproduksie te leer, en nadat ek 'n MIDI -sleutelbord gekry het, het ek besef dat dit nie 'n moeilike instrument is om te speel nie, en ek kan eintlik 'n robot bou wat dit kan speel. So, dit is hoe die vervaardiging van Prima begin het.

Ek was nie seker oor die sukses van hierdie projek nie, en ek wou nie dokumenteer nie. Maar omdat dit goed werk, het ek besluit om die besonderhede met die Instructables -gemeenskap te deel. Dit sal nie 'n stap-vir-stap-bouboek wees nie, maar eerder 'n riglyn om aan die gang te kom. Ek sal verduidelik hoe elke deel van hierdie robot werk, die foto's daarvan en die kode vir die Arduino deel. Hoop dat dit genoeg sal wees as u hierdie projek wil herhaal.

En die ontwerp is geïnspireer deur hierdie instruksies, skreeu na JimRD!

So, laat ons begin

Stap 1: Oorsig van die hele projek

Prima is 'n robot wat klawerbord/klavier of enige soortgelyke instrument op 'n sleutelbord kan speel. Dit het 'n Arduino Uno as die brein, 'n LCD-skerm vir visuele uitset en 'n ultrasoniese sensor om aanraakloos te begin. Enige kragadapter wat 5 volt 2 amp lewer, moet dit kan voed.

Dit het die volgende funksies -

  • Programmeerbaar - kan geprogrammeer word om enige komposisie wat binne 'n oktaaf beperk is, te speel.
  • Verstelbare tempo - Die tempo wat dit sal volg terwyl u die instrument bespeel, kan in die kode gestel word.
  • Aanraakloos begin - die gebruiker kan die spel begin deur net sy/haar hand op die sensor te vee, wat baie nuttig sal wees as die gebruiker besig is om 'n ander instrument te speel en wil hê dat Prima na 'n spesifieke tyd saam met hom/haar moet speel. Menslike speler steek vas met 'n robotspeler - selfs dit kan ook bereik word met behulp van hierdie funksie.

Stap 2: Video

Image
Image

U kan kyk hoe dit op 'n klawerbord in die video speel.

Stap 3: Maak 'n 3D -model

Maak 'n 3D -model
Maak 'n 3D -model
Maak 'n 3D -model
Maak 'n 3D -model

Nadat ek klaargemaak het wat dit moet kan doen, het ek die liggaam op TinkerCAD ontwerp sodat ek dit kon begin bou met 'n duidelike idee van wat ek doen.

Hierdie benadering het my baie gehelp om te eindig met 'n netjiese robot wat presies werk soos dit ontwerp is. Alhoewel ek die oorspronklike ontwerp 'n bietjie moes aanpas terwyl ek dit bou, het die 3D -model my steeds baie tyd en moeite bespaar. U kan die 3D -model in meer besonderhede hier sien.

Stap 4: Onderdele en gereedskap

Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap

Vir die elektroniese onderdeel benodig u -

  • Arduino Uno (hoeveelheid - 1)
  • 16x2 LCD -skerm (hoeveelheid - 1)
  • I2C -adapter vir die LCD -skerm (hoeveelheid - 1)
  • TowerPro SG90 Micro Servo (hoeveelheid - 2)
  • Ultrasoniese sensor HC -SR04 (hoeveelheid - 1)
  • Toggle Push Switch (hoeveelheid - 1)
  • Gonser (hoeveelheid - 1)
  • Vero bord/ Dot Board/ Perf Board
  • Trui van man tot man en man tot vrou

Om die liggaam te maak -

  • 5 mm PVC -plaat
  • Fietsspaak (hoeveelheid - 2)
  • Skroewe
  • Pen hervul houer buis
  • Spuitverf (as u dit wil verf)

Die gereedskap wat u nodig het -

  • Wondergom
  • Warm gom geweer
  • Soldeerbout
  • Anti-snyer (A. K. A papier snyer)

Stap 5: Kringloop

Kringbane
Kringbane
Kringbane
Kringbane
Kringbane
Kringbane

Die kringgedeelte was redelik maklik. Ek verduidelik hoe ek elke segment daarvan gedoen het -

LCD -segment - ek het 'n I2C -adapter vir die LCD gebruik, sodat die Arduino via I2C kon kommunikeer, wat nie nodig was nie, maar die kring vereenvoudig en die aantal drade verminder het. U kan 'n standaard LCD gebruik deur die kode 'n bietjie te verander.

Kragsegment - ek het 'n eenvoudige stroombaan op veroboard gemaak, wat bestaan uit 'n skakelaar, 'n zoemer, 'n LED (wat ek besluit het om nie daarna te gebruik nie) en 'n 5V gemeenskaplike kragbus. Die kragbus soos in die 5V- en grondpenne van die servo's, die sonarsensor, die LCD en die Arduino is almal onderskeidelik met mekaar verbind. Een pen van die drukknop is aan die 5V+ -lyn gekoppel, en die ander pen is aan die VCC -pen van die kragtoevoer gekoppel. Die grondlyn is direk aan die kragtoevoer se grondpen gekoppel. Prima kan dus met die skakelaar aangeskakel/afgeskakel word. Die zoemer en die LED is parallel gekoppel, en die VCC -pen daarvan gaan na pen 13 van die Arduino. Hulle grond is verbind met die gemeenskaplike kragbus se grond.

Verandering van die aansluiting van servo's - Aangesien die drade van drade dikwels neig om van die servo se aansluiting te ontkoppel, het ek die VCC en die gronddraad van beide servo's afgesny en dit direk aan die kragbus gesoldeer. Vir die seinpenne het ek egter jumperdrade gebruik om dit aan Arduino te koppel.

Sonarsensor - Soldeer twee drade onderskeidelik aan die VCC en die grondpen van die sonarsensor, wat na die gewone kragbus gaan, en gebruik jumperdrade om die sneller en eggo -pen aan die Arduino te koppel.

Arduino - Word aangedryf deur die vataansluiting.

Wat gaan na watter -

Sonar Sensor se snellerpen -> Arduino se A2 -pen

Sonosensor se eggo -pen -> Arduino se A3 -pen

I2C Adapter se SDA -pen -> Arduino se A4 -pen

I2C Adapter se SCL -pen -> A5 -pen van Arduino

Gonser se VCC -> Arduino se D13 -pen

Sleutel druk servo se seinpen -> Arduino se D9 -pen

X -as servo se seinpen -> D8 -pen van Arduino

Alle VCC- en grondpenne is aan die gewone kragbus gekoppel.

Stap 6: Sonarsensormontering

Sonar sensorhouer
Sonar sensorhouer

Die prentjie is vanselfsprekend, net 'n L-vormige rak op die "muur" met 'n superlijm en die sonarsensor op die rak warmgeplak.

Stap 7: Maak die X -asrail

Maak die X -asrail
Maak die X -asrail
Maak die X -asrail
Maak die X -asrail

Ek het die konsep van die X -asrail geleen by CNC -masjiene. Dit is net twee siklusspeke wat ewewydig aan mekaar geplaas is, en die 'mure' het gate waardeur die siklusspeke gaan. Aan die ander ente van die mure word die siklusspeke aan die mure vasgeplak sodat hulle nie beweeg nie. Die siklusspeke is sterk genoeg om die X -as -platform te ondersteun.

Stap 8: X -as -platform

X -as -platform
X -as -platform
X -as -platform
X -as -platform
X -as -platform
X -as -platform
X -as -platform
X -as -platform

Dit is die deel wat sywaarts gaan na sekere sleutels, en 'n servo met 'n arm daaraan wat die sleutel druk.

Daar is twee buise vir hervulhouers wat warm aan die onderkant vasgeplak word, waardeur die siklusspeke beweeg sodat dit daarop kan gly. Ek het hierdie buisie uit 'n pen gekry, jy mag alles gebruik wat by die speke pas, soos strooitjie.

Dan, in die middel van die onderste PVC -vel, staan daar nog 'n PVC -vel wat reguit staan. Dit het 'n gat in die onderste gedeelte wat by die servoliggaam pas en die servo word daardeur ingesteek. Die servo is met warm gom vasgemaak.

Die servo het 'n arm daaraan gekoppel. As die robot op 'n sleutel moet druk, draai die servo die arm afwaarts, wat 'n sleutel druk en draai dit daarna na sy vorige posisie.

Stap 9: Beweeg die X -as -platform

Die verskuiwing van die X -as -platform
Die verskuiwing van die X -as -platform
Die verskuiwing van die X -as -platform
Die verskuiwing van die X -as -platform
Die verskuiwing van die X -as -platform
Die verskuiwing van die X -as -platform

Die servo van die "X -as -beweging" is gekoppel aan 'n verhoogde platform aan die linkerkant van die robot. Die X -as -platform het 'n rak aan die bokant waar 'n arm met 'n skroef vasgemaak word. Aan die ander kant van die arm word 'n ander arm met 'n skroef verbind, en hierdie is aan die servohoring gekoppel. Alle gewrigte is beweegbaar, en die servo kan die X -as -platform op die X -asrail dryf deur sy horing links/regs te draai, wat die arms kan laat stoot/trek om die platform op die relings te trek.

Die verbindings word gemaak met 'n skroef.

Stap 10: Kode

Laai die kode op Arduino na die bou van die liggaam en die kring. Sit die robot parallel met die klawerbord/klavier. Die x -as -platform begin eers na links beweeg en stop op 'n sekere punt. Beweeg die robot totdat die C -sleutel van die klavier daardie punt bereik. Dit is 'n belangrike stap, want sonder om die robot op hierdie manier te plaas, speel dit nie die melodie korrek nie. Skakel dan die robot aan; dit moet binne 'n paar sekondes 'n melodie begin speel.

Die kode is redelik eenvoudig en daar is ruimte vir verbetering. As u wil hê dat die robot u eie melodie moet speel, moet u dit eenvoudig in die kode plaas, wat redelik maklik is.

Stap 11: Verf dit

As u dit soos myne wil verf (ek raai u aan om dit te doen, dit lyk baie beter geverf), maak eers al die liggaamsdele, maak seker dat dit korrek gesny is. Was dit dan met seep sodat dit nie olie en vuil bevat nie. Mense skuur gewoonlik die oppervlak voordat hulle dit skilder, maar hier hoef jy nie. Spuit eers 'n laag daarop, gee dit genoeg tyd om droog te word ('n paar uur) en verf dan nog 'n laag. U kan begin om die dele te monteer en aanmekaar te plak nadat die verf opgedroog het.

Ek het spuitverf gebruik om myne te verf

Stap 12: Plaas en organiseer die elektronika

Plaas en organiseer die elektronika
Plaas en organiseer die elektronika
Plaas en organiseer die elektronika
Plaas en organiseer die elektronika

Ek het die Arduino aan die basis-PVC-plaat vasgeskroef en die kragkring en die LCD op die basisbord warmgeplak. Organiseer die drade met warm gom.

Stap 13: Gevolgtrekking: Dankie dat u die instruksies gelees het

So, dit is hoe ek Prima gebou het. Hoop die bou -log was duidelik en maklik om te verstaan. As u enige vrae het, laat dit gerus in die kommentaar afdeling, ek sal probeer om dit so vroeg as moontlik te beantwoord.

Toekomstige planne met hierdie projek -

  • Maak makliker 'n sagteware om Prima te programmeer.
  • Voeg 'n tempo -afluisterfunksie by sodat u net op 'n knoppie kan tik om die tempo aan te pas.
  • Verruil die servo's met stiller en vinniger bedieners

As u dit bou, plaas foto's in die kommentaar, ek sal u graag wil sien!:)

Aanbeveel: