Turinys:

„Prima“- robotas, grojantis fortepijonu: 13 žingsnių
„Prima“- robotas, grojantis fortepijonu: 13 žingsnių

Video: „Prima“- robotas, grojantis fortepijonu: 13 žingsnių

Video: „Prima“- robotas, grojantis fortepijonu: 13 žingsnių
Video: smuikas VII kl. 2015 2024, Lapkritis
Anonim
Prima - robotas, grojantis fortepijonu
Prima - robotas, grojantis fortepijonu

Roboto, grojančio instrumentu, idėja mane visada žavėjo, ir aš visada norėjau jį sukurti pats. Tačiau aš niekada neturėjau daug žinių apie muziką ir muzikos instrumentus, todėl niekada negalėjau suprasti, kaip iš tikrųjų pradėsiu nuo to. Dar visai neseniai susidomėjau muzikos kūrimu, pradėjau mokytis muzikos kūrinių, o gavusi MIDI klaviatūrą supratau, kad tai nėra sunkus instrumentas, ir aš iš tikrųjų galiu sukurti robotą, galintį juo groti. Taigi, taip prasidėjo „Prima“kūrimas.

Aš nebuvau tikras dėl šio projekto sėkmės, todėl nesivaržiau jį dokumentuoti. Bet kadangi tai pasirodė puikiai, nusprendžiau pasidalyti informacija su „Instructables“bendruomene. Tai nebus žingsnis po žingsnio kūrimo žurnalas, o labiau gairės, kaip pradėti. Aš paaiškinsiu, kaip veikia kiekviena šio roboto dalis, pasidalinsiu jų nuotraukomis ir „Arduino“kodu. Tikiuosi, kad to pakaks, jei norite pakartoti šį projektą.

Ir dizainą įkvėpė šios instrukcijos, šaukitės JimRD!

Taigi, pradėkime

1 žingsnis: viso projekto apžvalga

„Prima“yra robotas, galintis groti klaviatūra/pianinu ar bet kokiu panašiu klavišiniu instrumentu. Jame yra „Arduino Uno“kaip smegenys, LCD ekranas vizualiam išėjimui ir ultragarsinis jutiklis, leidžiantis paleisti be prisilietimo. Bet kuris maitinimo adapteris, tiekiantis 5 voltų 2 amperus, turėtų turėti galimybę jį maitinti.

Jis turi šias funkcijas -

  • Programuojamas - galima užprogramuoti groti bet kokią kompoziciją, kurios oktavos riba yra ribota.
  • Reguliuojamas tempas - tempą, kurio jis laikysis grodamas instrumentu, galima nustatyti kode.
  • Paleidimas be prisilietimo - vartotojas gali pradėti groti tiesiog perbraukęs ranką ant jutiklio, o tai bus labai naudinga, jei vartotojas bus užsiėmęs grojimu kitu instrumentu ir norės, kad „Prima“grotų kartu su juo po tam tikro laiko. Žmogus žaidėjas trukdo žaisti su robotu - net ir tai galima pasiekti naudojant šią funkciją.

2 žingsnis: vaizdo įrašas

Image
Image

Vaizdo įraše galite žiūrėti grojant klaviatūra.

3 žingsnis: sukurkite 3D modelį

3D modelio kūrimas
3D modelio kūrimas
3D modelio kūrimas
3D modelio kūrimas

Baigęs tai, ką jis turėtų sugebėti, suprojektavau korpusą TinkerCAD, kad galėčiau pradėti jį kurti turėdamas aiškią idėją, ką darau.

Šis požiūris man labai padėjo sukurti tvarkingai atrodantį robotą, kuris veikia tiksliai taip, kaip buvo sukurtas. Nors kuriant jį teko šiek tiek pakeisti originalų dizainą, vis dėlto 3D modelis sutaupė daug laiko ir pastangų. Čia galite pamatyti 3D modelį išsamiau.

4 žingsnis: dalys ir įrankiai

Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai

Elektroninei daliai jums reikės -

  • „Arduino Uno“(kiekis - 1)
  • 16x2 LCD ekranas (kiekis - 1)
  • I2C adapteris LCD ekranui (kiekis - 1)
  • „TowerPro SG90 Micro Servo“(kiekis - 2)
  • HC -SR04 ultragarsinis jutiklis (kiekis - 1)
  • Perjungti stumiamąjį jungiklį (kiekis - 1)
  • Garsinis signalas (kiekis - 1)
  • „Vero“lenta/ „Dot Board“/ „Perf Board“
  • Sujungimo laidai nuo patino iki vyro ir nuo patelės iki patelės

Kūno gamybai -

  • 5 mm PVC lakštas
  • Ciklas kalbėjo (kiekis - 2)
  • Varžtai
  • Rašiklio užpildymo laikiklio vamzdelis
  • Purškiami dažai (jei norite juos dažyti)

Priemonės, kurių jums reikės -

  • Super klijai
  • Karšto klijų pistoletas
  • Lituoklis
  • Pjoviklis (A. K. A popieriaus pjaustytuvas)

5 žingsnis: grandinė

Grandinės
Grandinės
Grandinės
Grandinės
Grandinės
Grandinės

Grandinės dalis buvo gana lengva. Aš paaiškinu, kaip aš padariau kiekvieną jo segmentą -

LCD segmentas - LCD naudoju I2C adapterį, kad „Arduino“galėtų su juo bendrauti per I2C, o tai nebuvo būtina, tačiau supaprastino grandinę ir sumažino laidų skaičių. Galite naudoti standartinį LCD, šiek tiek pakeisdami kodą.

Maitinimo segmentas - „Veroboard“sukūriau paprastą grandinę, kurią sudaro perjungiamasis jungiklis, signalizatorius, šviesos diodas (kurio vėliau nusprendžiau nenaudoti) ir 5 V bendra maitinimo magistralė. Maitinimo magistralė, kaip ir 5V ir įžeminimo kaiščiai servos, sonaro jutiklis, LCD ir „Arduino“yra atitinkamai sujungti. Vienas stumdomojo jungiklio kaištis yra prijungtas prie 5V+ linijos, o kitas - prie maitinimo šaltinio VCC kaiščio. Įžeminimo linija yra tiesiogiai prijungta prie maitinimo šaltinio įžeminimo kaiščio. Taigi, „Prima“galima įjungti/išjungti naudojant jungiklį. Garsinis signalas ir šviesos diodas yra sujungti lygiagrečiai, o jų VCC kaištis eina į „Arduino“13 kaištį. Jų žemė yra prijungta prie bendro maitinimo magistralės įžeminimo.

„Servos“jungties modifikavimas - Kadangi jungiamieji laidai dažnai linkę atsijungti nuo servo jungties, aš nutraukiau VCC ir įžeminimo laidą iš abiejų servo ir litavau tiesiai prie maitinimo magistralės. Tačiau signalo kaiščiams prijungti prie „Arduino“naudojau trumpiklius.

Sonaro jutiklis - Lituoti du laidai atitinkamai į sonaro jutiklio VCC ir įžeminimo kaištį, kurie eina į bendrą maitinimo magistralę, ir naudojo trumpiklius, kad prijungtų gaiduką ir aido kaištį prie „Arduino“.

„Arduino“- maitinamas per cilindro lizdo jungtį.

Kas į ką eina -

Sonaro jutiklio gaiduko kaištis -> „Arduino“A2 kaištis

Sonaro jutiklio aido kaištis -> „Arduino“A3 kaištis

„I2C“adapterio SDA kaištis -> „Arduino“A4 kaištis

„I2C“adapterio SCL kaištis -> „Arduino“A5 kaištis

„Buzzer“VCC -> „Arduino“D13 kaištis

Paspaudus servo signalinį kaištį -> „Arduino“D9 kaištis

X ašies servo signalo kaištis -> „Arduino“D8 kaištis

Visi VCC ir įžeminimo kaiščiai yra prijungti prie bendros maitinimo magistralės.

6 žingsnis: sonaro jutiklio tvirtinimas

Sonaro jutiklio laikiklis
Sonaro jutiklio laikiklis

Paveikslėlis savaime suprantamas, tiesiog super „priklijuota“L formos lentyna ant „sienos“ir karštai priklijuotas sonaro jutiklis ant lentynos.

7 žingsnis: padarykite X ašies bėgelį

X ašies bėgelio gamyba
X ašies bėgelio gamyba
X ašies bėgelio gamyba
X ašies bėgelio gamyba

X ašies bėgelio koncepciją pasiskolinau iš CNC staklių. Tai tik du ciklo stipinai, išdėstyti lygiagrečiai vienas kitam, o „sienose“yra skylių, pro kurias eina ciklo stipinai. Kituose sienų galuose ciklo stipinai yra karštai priklijuoti prie sienų, kad jie nejudėtų. Ciklo stipinai yra pakankamai stiprūs, kad palaikytų X ašies platformą.

8 žingsnis: X ašies platforma

X ašies platforma
X ašies platforma
X ašies platforma
X ašies platforma
X ašies platforma
X ašies platforma
X ašies platforma
X ašies platforma

Tai dalis, kuri eina į šoną, kad pasiektų tam tikrus raktus, ir turi servo sistemą, prie kurios pritvirtinta ranka, kuri spaudžia raktą.

Jo apačioje yra du karštai priklijuoti rašiklio užpildymo laikiklio vamzdeliai, per kuriuos eina ciklo stipinai, leidžiantys jiems slysti. Šį vamzdelį gavau iš rašiklio, galite naudoti viską, kas tinka stipinams, pavyzdžiui, gerti šiaudus.

Tada apatinio PVC lakšto viduryje yra dar vienas PVC lapas, stovintis tiesiai. Apatinėje dalyje yra išpjauta skylė, kuri tinka servo korpusui, o servo įkišama per ją. Servo buvo pritvirtinta karštais klijais.

Servo prie jo prijungta ranka. Kai robotas turi paspausti klavišą, servo sistema pasuka ranką žemyn, paspausdama klavišą, o paskui pasuka į ankstesnę padėtį.

9 žingsnis: X ašies platformos perkėlimas

X ašies platformos perkėlimas
X ašies platformos perkėlimas
X ašies platformos perkėlimas
X ašies platformos perkėlimas
X ašies platformos perkėlimas
X ašies platformos perkėlimas

Servo „X ašies judiklis“yra pritvirtintas prie pakeltos platformos, esančios kairėje roboto pusėje. X ašies platformos viršuje yra lentyna, kurioje rankena sujungiama varžtu. Kitame rankos gale kita ranka sujungiama varžtu, o ši prijungiama prie servo rago. Visos jungtys yra kilnojamos, o servo sistema gali vairuoti X ašies platformą ant X ašies bėgių, pasukdama ragą kairėn/dešinėn, todėl rankos stumia/traukia platformą ant bėgių.

Sujungimai atliekami naudojant varžtą.

10 žingsnis: kodas

Baigę statyti korpusą ir grandinę, įkelkite kodą į „Arduino“. Padėkite robotą lygiagrečiai su klaviatūra/pianinu. X ašies platforma pirmiausia pradės judėti į kairę ir sustos tam tikrame taške. Judinkite robotą, kol fortepijono klavišas C pasiekia tą tašką. Tai labai svarbus žingsnis, nes nenustačius roboto taip, jis melodijos neskambės teisingai. Tada įjunkite robotą, jis turėtų pradėti groti melodiją per kelias sekundes.

Kodas yra gana paprastas ir yra kur tobulėti. Jei norite, kad robotas paleistų jūsų pačių melodiją, tiesiog įveskite jį į kodą, kuris yra gana lengvas.

11 žingsnis: dažymas

Jei norite dažyti taip, kaip mano (aš labai siūlau tai padaryti, jis atrodo daug geriau nudažytas), pirmiausia padarykite visas kūno dalis ir įsitikinkite, kad jos tinkamai supjaustytos. Tada nuplaukite juos muilu, kad ant jų nebūtų alyvos ir nešvarumų. Žmonės dažniausiai prieš dažydami paviršių nušlifuoja, bet čia to nereikia. Pirmiausia purškite ant jų sluoksnį, leiskite jam pakankamai išdžiūti (Kelios valandos), tada dažykite kitą sluoksnį. Galite pradėti surinkti dalis ir klijuoti jas po dažų išdžiūvimo.

Aš dažiau purškiamus dažus

12 žingsnis: Elektronikos įdėjimas ir organizavimas

Elektronikos išdėstymas ir organizavimas
Elektronikos išdėstymas ir organizavimas
Elektronikos išdėstymas ir organizavimas
Elektronikos išdėstymas ir organizavimas

Aš prisukiau „Arduino“prie pagrindo PVC lakšto ir karštai priklijavau tiek maitinimo grandinę, tiek skystųjų kristalų ekraną ant pagrindinės plokštės. Laidus sutvarkė karštais klijais.

13 žingsnis: Išvada: Dėkojame, kad perskaitėte instrukcijas

Taigi, taip aš sukūriau „Prima“. Tikiuosi, kad kūrimo žurnalas buvo aiškus ir lengvai suprantamas. Jei turite klausimų, nedvejodami palikite juos komentarų skiltyje, pasistengsiu atsakyti kuo anksčiau.

Tolesni šio projekto planai -

  • Lengviau sukurti programinę įrangą „Prima“programavimui.
  • Pridėkite tempo bakstelėjimo funkciją, kad galėtumėte tiesiog paliesti mygtuką, norėdami reguliuoti tempą.
  • Servo keitimas į tylesnius ir greitesnius

Jei kuriate tai, įkelkite nuotraukas į komentarus, labai norėčiau pamatyti jūsų!:)

Rekomenduojamas: