Indholdsfortegnelse:

Prima - en robot der spiller klaver: 13 trin
Prima - en robot der spiller klaver: 13 trin

Video: Prima - en robot der spiller klaver: 13 trin

Video: Prima - en robot der spiller klaver: 13 trin
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Juli
Anonim
Prima - en robot der spiller klaver
Prima - en robot der spiller klaver

Ideen om en robot, der spiller et instrument, fascinerede mig altid, og jeg har altid ønsket at bygge et selv. Jeg havde dog aldrig megen viden om musik og musikinstrumenter, så jeg kunne aldrig finde ud af, hvordan jeg egentlig ville starte med det. Indtil for nylig blev jeg interesseret i at lave musik, begyndte at lære musikproduktion, og efter at have fået et MIDI -keyboard, har jeg indset, at dette ikke er et svært instrument at spille, og jeg kan faktisk bygge en robot, der kan spille det. Så sådan startede fremstilling af Prima.

Jeg var ikke sikker på, om dette projekt var en succes, så jeg gad ikke dokumentere det. Men da det viste sig at fungere godt, har jeg besluttet at dele detaljerne med Instructables -fællesskabet. Dette vil ikke være en trin-til-trin build log, snarere mere en retningslinje for at komme i gang. Jeg skal forklare, hvordan hver del af denne robot fungerer, dele billederne af dem og koden til Arduino. Håber det er nok, hvis du vil gentage dette projekt.

Og designet blev inspireret af disse instruktører, råb til JimRD!

Så lad os komme i gang

Trin 1: Oversigt over hele projektet

Prima er en robot, der kan spille keyboard/klaver eller et lignende nøglebaseret instrument. Den har en Arduino Uno som hjerne, en LCD-skærm til visuelt output og en ultralydssensor til berøringsfri start. Enhver strømadapter, der leverer 5 volt 2 ampere, skal kunne forsyne den.

Det har følgende funktioner -

  • Programmerbar - Kan programmeres til at spille enhver komposition, der er begrænset inden for en oktav.
  • Justerbart tempo - Det tempo, det vil følge, mens du spiller instrumentet, kan indstilles i koden.
  • Berøringsfri start - Brugeren kan aktivere afspilningen ved blot at stryge hånden på sensoren, hvilket vil være en stor hjælp, hvis brugeren har travlt med at spille et andet instrument og vil have Prima til at spille sammen med ham/hende efter et bestemt tidspunkt. Menneskelig spiller, der sidder fast med en robotafspiller - selv dette kan også opnås ved hjælp af denne funktion.

Trin 2: Video

Image
Image

Du kan se det spille et tastatur i videoen.

Trin 3: Fremstilling af 3D -modellen

Fremstilling af 3D -modellen
Fremstilling af 3D -modellen
Fremstilling af 3D -modellen
Fremstilling af 3D -modellen

Efter at have afsluttet, hvad den skulle kunne, designede jeg kroppen på TinkerCAD, så jeg kunne begynde at bygge den med en klar idé om, hvad jeg lavede.

Denne tilgang hjalp mig meget til at ende med en pæn robot, der fungerer præcis som den var designet til. Selvom jeg var nødt til at ændre det originale design lidt, mens jeg byggede det, sparede 3D -modellen mig stadig meget tid og kræfter. Du kan se 3D -modellen i flere detaljer her.

Trin 4: Dele og værktøjer

Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer

Til den elektroniske del skal du -

  • Arduino Uno (mængde - 1)
  • 16x2 LCD -skærm (antal - 1)
  • I2C -adapter til LCD -skærmen (antal - 1)
  • TowerPro SG90 Micro Servo (mængde - 2)
  • HC -SR04 ultralydssensor (mængde - 1)
  • Toggle Push Switch (antal - 1)
  • Summer (mængde - 1)
  • Vero board/ Dot Board/ Perf Board
  • Han til mand og mand til kvinde jumper ledninger

For at lave kroppen -

  • 5 mm PVC -ark
  • Cykeltal (antal - 2)
  • Skruer
  • Pen refill holder rør
  • Sprøjtemaling (hvis du vil male det)

De værktøjer, du skal bruge -

  • Super lim
  • Varm limpistol
  • Loddekolbe
  • Anti-cutter (A. K. A Paper-cutter)

Trin 5: Kredsløb

Kredsløb
Kredsløb
Kredsløb
Kredsløb
Kredsløb
Kredsløb

Kredsløbsdelen var ganske let. Jeg forklarer, hvordan jeg gjorde hvert segment af det -

LCD -segment - Jeg brugte en I2C -adapter til LCD'en, så Arduino kunne kommunikere til den via I2C, hvilket ikke var nødvendigt, men forenklede kredsløbet og reducerede antallet af ledninger. Du kan bruge en standard LCD ved at ændre koden lidt.

Power segment - Jeg lavede et simpelt kredsløb på veroboard, som består af en vippekontakt, en summer, en LED (som jeg besluttede ikke at bruge bagefter) og en 5V fælles strømbus. Powerbus som i, 5V- og jordstifterne på servoerne, ekkolodssensoren, LCD'en og Arduino er alle forbundet til henholdsvis hinanden. Den ene pin på trykkontakten er forbundet til 5V+ -linjen, og den anden pin er forbundet til strømforsyningens VCC -pin. Jordledningen er direkte forbundet til strømforsyningens jordstift. Så Prima kan tændes/slukkes ved hjælp af kontakten. Summeren og LED'en er forbundet parallelt, og VCC -stiften af dem går til pin 13 på Arduino. Deres jord er forbundet med den fælles kraftbuss grund.

Servos 'stikmodifikation - Da jumperkabler ofte har en tendens til at afbryde forbindelsen til servoen, skar jeg VCC og jordledningen fra begge servoer og lodde dem direkte til strømbussen. Til signalstifterne brugte jeg dog jumperkabler til at forbinde dem med Arduino.

Ekkolodssensor - Loddet henholdsvis to ledninger til VCC og jordstiften på ekkolodssensoren, som går til den almindelige strømbus, og brugte jumperkabler til at forbinde udløseren og ekko -stiften til Arduino.

Arduino - Drives gennem tønde jackstikket.

Hvilket går til hvilket -

Ekkolodssensorens udløserpind -> Arduinos A2 -pin

Ekkolodssensors ekkopind -> Arduinos A3 -pin

I2C Adapter's SDA pin -> Arduinos A4 pin

I2C Adapter's SCL pin -> Arduinos A5 pin

Buzzer's VCC -> Arduino's D13 pin

Tastetryk på servos signalpind -> Arduinos D9 -pin

X -akse servos signalpind -> Arduinos D8 -pin

Alle VCC og jordstifter er forbundet til den almindelige strømbus.

Trin 6: Montering af ekkolodssensor

Sonar Sensor Mount
Sonar Sensor Mount

Billedet er selvforklarende, bare superlimet en L-formet hylde på "væggen" og varmlimet sonarsensoren på hylden.

Trin 7: Fremstilling af X -akseskinnen

Fremstilling af X -akseskinnen
Fremstilling af X -akseskinnen
Fremstilling af X -akseskinnen
Fremstilling af X -akseskinnen

Jeg lånte konceptet med X -akseskinnen fra CNC -maskiner. Det er bare to cyklus -eger placeret parallelt med hinanden, og "væggene" har huller, som cyklus -egerne går igennem. I de andre ender af væggene er cykliske egerne varmlimet til væggene, så de ikke bevæger sig. Cyklus egerne er stærke nok til at understøtte X -aksens platform.

Trin 8: X Axis Platform

X Axis Platform
X Axis Platform
X Axis Platform
X Axis Platform
X Axis Platform
X Axis Platform
X Axis Platform
X Axis Platform

Det er den del, der går sidelæns for at nå til bestemte taster og har en servo, der har en arm fastgjort til den, som trykker på tasten.

Det har to pen refill holder rør varmlimet på bunden af det, hvorigennem cyklus eger går så det kan glide på dem. Jeg fik dette rør fra en pen, du kan bruge alt, der passer til egerne, såsom at drikke halm.

I midten af det nederste PVC -ark står der et andet PVC -ark lige. Den har et hul i den nedre del, der passer til servokroppen, og servoen indsættes gennem den. Servoen er fastgjort med varm lim.

Servoen har en arm forbundet med den. Når robotten skal trykke på en tast, roterer servoen armen nedad, hvilket resulterer i et tastetryk og roterer den til sin tidligere position bagefter.

Trin 9: Flytning af X -akseplatformen

Flytning af X Axis Platform
Flytning af X Axis Platform
Flytning af X Axis Platform
Flytning af X Axis Platform
Flytning af X Axis Platform
Flytning af X Axis Platform

Servoen "X -aksen mover" er fastgjort til en forhøjet platform, som er på venstre side af robotten. X -aksens platform har en hylde på toppen, hvor en arm leddes ved hjælp af en skrue. I den anden ende af armen ledes en anden arm ved hjælp af skrue, og denne er forbundet med servohornet. Alle led er bevægelige, og servoen kan køre X -aksens platform på X -aksens skinner ved at dreje hornet til venstre/højre, hvilket ville få armene til at skubbe/trække platformen på skinnerne.

Samlingerne er lavet med skrue.

Trin 10: Kode

Når du er færdig med at bygge kroppen og kredsløbet, skal du uploade koden på Arduino. Sæt robotten parallelt med tastaturet/klaveret X -aksens platform begynder først at bevæge sig mod venstre og stopper på et bestemt tidspunkt. Flyt robotten, indtil C -tasten på klaveret opfylder dette punkt. Dette er et afgørende skridt, for uden at placere robotten på denne måde vil den ikke spille melodien korrekt. Tænd derefter robotten, den skal begynde at spille en melodi inden for få sekunder.

Koden er temmelig grundlæggende og har plads til forbedringer. Hvis du vil have robotten til at spille din egen melodi, skal du bare sætte den i koden, som er ret let.

Trin 11: Mal det

Hvis du vil male det som mit (jeg vil stærkt foreslå at gøre det, det ser meget bedre malet ud), lav alle kropsdele først, og sørg for at de er skåret korrekt. Vask dem derefter med sæbe, så de er fri for olie og snavs. Folk sliber normalt overfladen, før de maler den, men her behøver du ikke. Sprøjt først et lag på dem, giv det nok tid til at tørre (et par timer), og mal derefter et andet lag. Du kan begynde at samle delene og lime dem sammen, når malingen tørrer ud.

Jeg brugte spraymaling til at male min

Trin 12: Placering og organisering af elektronikken

Placering og organisering af elektronikken
Placering og organisering af elektronikken
Placering og organisering af elektronikken
Placering og organisering af elektronikken

Jeg skruede Arduino til bunden af PVC-pladen og varmlimede både strømkredsløbet og LCD'et på bundkortet. Organiserede ledningerne med varm lim.

Trin 13: Konklusion: Tak fordi du læste instruktionerne

Så sådan byggede jeg Prima. Håber build -loggen var klar og let at forstå. Hvis du har spørgsmål, er du velkommen til at efterlade dem i kommentarfeltet, jeg vil forsøge at svare så tidligt som muligt.

Fremtidsplaner med dette projekt -

  • Nemmere at lave en software til programmering af Prima.
  • Tilføjelse af tempo -tapping -funktion, så du bare kan trykke på en knap for at justere tempoet.
  • Skift servoer med roligere og hurtigere

Hvis du bygger dette, så smid billeder i kommentaren, jeg ville elske at se dit!:)

Anbefalede: