Innehållsförteckning:
- Steg 1: Översikt över hela projektet
- Steg 2: Video
- Steg 3: Gör 3D -modellen
- Steg 4: Delar och verktyg
- Steg 5: Kretsar
- Steg 6: Montering av ekolod
- Steg 7: Gör X -axelskenan
- Steg 8: X Axis Platform
- Steg 9: Flytta X -axelplattformen
- Steg 10: Kod
- Steg 11: Måla den
- Steg 12: Placera och organisera elektroniken
- Steg 13: Slutsats: Tack för att du läser instruktionerna
Video: Prima - en robot som spelar piano: 13 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Idén om en robot som spelar ett instrument fascinerade mig alltid, och jag ville alltid bygga en själv. Jag hade dock aldrig mycket kunskap om musik och musikinstrument, så jag kunde aldrig komma på hur jag egentligen skulle börja med det. Fram till nyligen blev jag intresserad av att göra musik, började lära mig musikproduktion, och efter att ha fått ett MIDI -tangentbord har jag insett att detta inte är ett svårt instrument att spela och jag kan faktiskt bygga en robot som kan spela det. Så, det var så att tillverka Prima började.
Jag var inte säker på om detta projekt lyckades, så jag brydde mig inte om att dokumentera det. Men eftersom det visade sig fungera bra har jag bestämt mig för att dela detaljerna med Instructables -communityn. Det här kommer inte att vara en steg-för-steg-bygglogg, snarare en riktlinje för att komma igång. Jag ska förklara hur varje del av denna robot fungerar, dela bilderna på dem och koden för Arduino. Hoppas att det kommer att räcka om du vill replikera det här projektet.
Och designen inspirerades av dessa instruktörer, ropa ut till JimRD!
Så, låt oss komma igång
Steg 1: Översikt över hela projektet
Prima är en robot som kan spela keyboard/piano eller något liknande nyckelbaserat instrument. Den har en Arduino Uno som hjärna, en LCD-skärm för visuell utmatning och en ultraljudssensor för beröringsfri start. Varje nätadapter som levererar 5 volt 2 ampere bör kunna driva den.
Den har följande funktioner -
- Programmerbar - Kan programmeras för att spela vilken komposition som helst som är begränsad inom en oktav.
- Justerbart tempo - Tempot det kommer att följa när du spelar instrumentet kan ställas in i koden.
- Beröringsfri start - Användaren kan utlösa uppspelningen bara genom att dra sin hand på sensorn, vilket kommer att vara till stor hjälp om användaren är upptagen med att spela ett annat instrument och vill att Prima ska spela tillsammans med honom/henne efter en viss tid. Mänsklig spelare som fastnar med en robotspelare - även detta kan uppnås också med hjälp av denna funktion.
Steg 2: Video
Du kan se den spela på ett tangentbord i videon.
Steg 3: Gör 3D -modellen
Efter att ha slutfört vad den skulle kunna göra designade jag kroppen på TinkerCAD så att jag kunde börja bygga den med en klar uppfattning om vad jag gjorde.
Detta tillvägagångssätt hjälpte mig mycket att sluta med en snygg robot som fungerar exakt som den var utformad för. Även om jag var tvungen att ändra den ursprungliga designen lite medan jag byggde den, sparade 3D -modellen mig fortfarande mycket tid och ansträngning. Du kan se 3D -modellen i mer detaljer här.
Steg 4: Delar och verktyg
För den elektroniska delen behöver du -
- Arduino Uno (kvantitet - 1)
- 16x2 LCD -skärm (antal - 1)
- I2C -adapter för LCD -skärmen (antal - 1)
- TowerPro SG90 Micro Servo (antal - 2)
- HC -SR04 ultraljudssensor (kvantitet - 1)
- Toggle Push Switch (antal - 1)
- Summer (kvantitet - 1)
- Vero board/ Dot Board/ Perf Board
- Manliga till manliga och manliga till kvinnliga bygeltrådar
För att göra kroppen -
- 5 mm PVC -ark
- Cykelekrar (antal - 2)
- Skruvar
- Pennpåfyllningsrör
- Sprayfärg (om du vill måla den)
Verktygen du behöver -
- Superlim
- Lim pistol
- Lödkolv
- Anti-cutter (A. K. A Paper-cutter)
Steg 5: Kretsar
Kretsdelen var ganska lätt. Jag förklarar hur jag gjorde varje segment av det -
LCD -segment - Jag använde en I2C -adapter för LCD -skärmen så att Arduino kunde kommunicera med den via I2C, vilket inte var nödvändigt men förenklade kretsen och minskade antalet ledningar. Du kan använda en vanlig LCD genom att ändra koden lite.
Kraftsegment - Jag gjorde en enkel krets på veroboard som består av en omkopplare, en summer, en LED (som jag bestämde mig för att inte använda efteråt) och en 5V gemensam kraftbuss. Strömbuss som i, 5V och jordstift på servon, ekolodsgivaren, LCD -skärmen och Arduino är alla anslutna till varandra respektive. Ett stift på tryckknappen är anslutet till 5V+ -ledningen, och det andra stiftet är anslutet till strömförsörjningens VCC -stift. Jordledningen är direkt ansluten till strömförsörjningens jordstift. Så Prima kan slås på/av med strömbrytaren. Summern och lysdioden är parallellkopplade och VCC -stiftet går till stift 13 på Arduino. Deras mark är ansluten till den gemensamma kraftbussens mark.
Servos kontaktmodifiering - Eftersom bygelkablar ofta tenderar att koppla bort från servokontakten, klippte jag VCC och jordledningen från båda servon och lodde dem direkt till strömbussen. För signalstiften använde jag dock bygelkablar för att ansluta dem till Arduino.
Ekolodsgivare - Lödde två ledningar respektive till VCC och jordstiftet på ekolodsgivaren, som går till den gemensamma kraftbussen, och använde bygelkablar för att ansluta avtryckaren och ekostiftet till Arduino.
Arduino - Drivs genom fatuttagskontakten.
Vilket går till vilket -
Ekolodsgivarens utlösare -> Arduinos A2 -stift
Ekolodsgivarens ekolod -> Arduinos A3 -stift
I2C -adapterens SDA -stift -> Arduinos A4 -stift
I2C -adapterens SCL -stift -> Arduinos A5 -stift
Buzzer's VCC -> Arduinos D13 -stift
Knapptryckning av servos signalstift -> Arduinos D9 -stift
X -axel servos signalstift -> Arduinos D8 -stift
Alla VCC och jordstift är anslutna till den gemensamma kraftbussen.
Steg 6: Montering av ekolod
Bilden är självförklarande, bara superlimmad en L-formad hylla på "väggen" och varmlimt ekolodsgivaren på hyllan.
Steg 7: Gör X -axelskenan
Jag lånade konceptet med X -axelskenan från CNC -maskiner. Det är bara två cykelekrar placerade parallellt med varandra, och "väggarna" har hål genom vilka cykelekrarna går. I väggarnas andra ändar är cykelekrarna varmtlimade på väggarna så att de inte rör sig. Cykelekrarna är tillräckligt starka för att stödja plattformen för X -axeln.
Steg 8: X Axis Platform
Det är den del som går åt sidan för att nå vissa tangenter och har en servo som har en arm fäst vid den som trycker på knappen.
Den har två pennpåfyllningsrör varmlimt på undersidan av den genom vilken cykelekrarna går så att den kan glida på dem. Jag fick det här röret från en penna, du kan använda allt som passar ekrarna, till exempel att dricka halm.
Sedan, i mitten av det nedre PVC -arket, står det ett annat PVC -ark som står rakt. Den har ett hål i den nedre delen som passar servokroppen och servon sätts in genom den. Servon har säkrats med varmt lim.
Servon har en arm ansluten till den. När roboten måste trycka på en tangent, roterar servon armen nedåt vilket resulterar i en knapptryckning och vrider den till dess tidigare position efteråt.
Steg 9: Flytta X -axelplattformen
"X -axelflyttaren" -servern är ansluten till en förhöjd plattform som ligger på robotens vänstra sida. X -axelplattformen har en hylla på toppen där en arm fogas med en skruv. I den andra änden av armen fogas en annan arm med skruv och den här är ansluten till servohornet. Alla leder är rörliga, och servon kan driva X -axelplattformen på X -axelskenorna genom att vrida hornet åt vänster/höger vilket skulle få armarna att trycka/dra plattformen på skenorna.
Fogarna är gjorda med skruv.
Steg 10: Kod
Efter att ha byggt kroppen och kretsen, ladda upp koden på Arduino. Sätt roboten parallellt med tangentbordet/pianot X -axelplattformen börjar först röra sig mot vänster och stannar vid en viss punkt. Flytta roboten tills pianot C -tangenten möter den punkten. Detta är ett avgörande steg, för utan att placera roboten på detta sätt kommer det inte att spela melodin korrekt. Slå sedan på roboten, den ska börja spela en melodi inom några sekunder.
Koden är ganska grundläggande och har utrymme för förbättringar. Om du vill att roboten ska spela din egen melodi måste du bara lägga den i koden som är ganska lätt.
Steg 11: Måla den
Om du vill måla den som min (jag föreslår starkt att du gör det, det ser mycket bättre ut målat), gör alla kroppsdelar först, se till att de är korrekt skurna. Tvätta dem sedan med tvål så att de är fria från olja och smuts. Folk brukar slipa ytan innan de målar, men här behöver du inte. Spraya ett lager på dem först, ge det tillräckligt med tid att torka (några timmar) och måla sedan ytterligare ett lager. Du kan börja montera delarna och limma ihop dem efter att färgen torkat ut.
Jag använde sprayfärg för att måla min
Steg 12: Placera och organisera elektroniken
Jag skruvade fast Arduino på bas-PVC-arket och varmlimmade både strömkretsen och LCD-skärmen på baskortet. Organiserade trådarna med varmt lim.
Steg 13: Slutsats: Tack för att du läser instruktionerna
Så här byggde jag Prima. Hoppas att byggloggen var tydlig och lätt att förstå. Om du har några frågor, lämna dem gärna i kommentarsfältet, jag ska försöka svara så tidigt som möjligt.
Framtidsplaner med detta projekt -
- Att göra en programvara för att programmera Prima lättare.
- Lägger till tempotappningsfunktion så att du bara kan trycka på en knapp för att justera tempot.
- Byt ut servon med tystare och snabbare
Om du bygger detta, lämna bilder i kommentaren, jag skulle gärna se din!:)
Rekommenderad:
Arduino flipperspel som spelar sig själv !: 13 steg (med bilder)
Arduino flippmaskin som spelar sig själv !: " En flipperspel som spelar sig själv, tar inte allt roligt ur det? &Quot; Jag hör dig fråga. Kanske om du inte gillar autonoma robotar kan det vara så. Jag, jag handlar dock mycket om att bygga robotar som kan göra coola saker, och den här
Använda lysdioder och AT Tiny för att skapa en blinkande stjärna med Piezo som spelar "Twinkle, Twinkle, Little Star": 6 steg
Använda lysdioder och AT Tiny för att skapa en blinkande stjärna med piezo som spelar "Twinkle, Twinkle, Little Star": Denna krets använder lysdioder, AT TINY och piezo för att producera en blinkande stjärna och musik av " Twinkle, Twinkle, little star " Vänligen se nästa steg för och kretsöversikt
Pianoplattor som spelar robotarm: 5 steg
Piano Tiles Playing Robot Arm: Gruppen består av 2 automationsingenjörer från UCN, som kom på en lysande idé som vi är motiverade att göra och utveckla. Idén bygger på att en Arduino -styrning styr en robotarm. Arduino -kortet är hjärnan för operationen och
Hur man gör en autonom basketboll som spelar robot med hjälp av en IRobot Skapa som bas: 7 steg (med bilder)
Hur man gör en autonom basketboll som spelar robot med hjälp av en IRobot Skapa som bas: Detta är min post för iRobot Create -utmaningen. Den svåraste delen av hela processen för mig var att bestämma vad roboten skulle göra. Jag ville demonstrera de häftiga funktionerna i Create, samtidigt som jag lade till lite robo -stil. Alla mina
Hur man gör en RockBand -gitarr som spelar robot!: 15 steg (med bilder)
How to Make a RockBand Guitar Playing Robot !: För min första instruerbara … Vad kan jag säga, jag älskar att trumma iväg på rockbandet men det är sällan jag har någon att spela med mig; kanske jag behöver fler vänner, men ur mitt till synes ensamma liv (jk) kommer det en ganska cool utdragbar. Jag har design