Obsah:

Prima - robot, ktorý hrá na klavír: 13 krokov
Prima - robot, ktorý hrá na klavír: 13 krokov

Video: Prima - robot, ktorý hrá na klavír: 13 krokov

Video: Prima - robot, ktorý hrá na klavír: 13 krokov
Video: fizi má rád kafu a její písničku hafo😐😂😂 2024, November
Anonim
Prima - robot, ktorý hrá na klavír
Prima - robot, ktorý hrá na klavír

Myšlienka robota hrať na nástroj ma vždy fascinovala a vždy som si ho chcel postaviť sám. Nikdy som však nemal veľa znalostí o hudbe a hudobných nástrojoch, takže som nikdy nedokázal prísť na to, ako by som s tým vlastne začal. Až donedávna som sa zaujímal o tvorbu hudby, začal som sa učiť hudobnú produkciu a potom, čo som dostal MIDI klávesnicu, som zistil, že to nie je ľahký nástroj na hranie a môžem skutočne postaviť robota, ktorý na to dokáže hrať. Tak sa začala výroba Primy.

Nebol som si istý úspechom tohto projektu, takže som sa neobťažoval dokumentovať ho. Ale pretože sa ukázalo, že funguje skvele, rozhodol som sa podeliť sa o podrobnosti s komunitou Instructables. Toto nebude protokol zostavovania krok za krokom, ale skôr návod, ako začať. Vysvetlím, ako každá časť tohto robota funguje, podelím sa o ich obrázky a kód pre Arduino. Dúfam, že to bude stačiť, ak budete chcieť tento projekt zopakovať.

A dizajn bol inšpirovaný týmto návodom, kričte na JimRD!

Začnime teda

Krok 1: Prehľad celého projektu

Prima je robot, ktorý dokáže hrať na klávesnici/klavíri alebo na podobnom kľúčovom nástroji. Má mozog Arduino Uno, LCD obrazovku pre vizuálny výstup a ultrazvukový senzor pre bezdotykové štartovanie. Každý napájací adaptér, ktorý dodáva 5 voltov 2 ampéry, by mal byť schopný ho napájať.

Má nasledujúce vlastnosti -

  • Programovateľné - dá sa naprogramovať tak, aby hralo akúkoľvek skladbu, ktorá je obmedzená na oktávu.
  • Adjustable Tempo - Tempo, ktoré bude nasledovať pri hre na nástroj, je možné nastaviť v kóde.
  • Bezdotykové štartovanie - používateľ môže spustiť prehrávanie jednoduchým potiahnutím ruky po senzore, čo bude veľmi užitočné, ak je používateľ zaneprázdnený hrou na inom nástroji a chce, aby s ním Prima hrala po určitom čase. Rušenie ľudského hráča s robotickým hráčom - aj to sa dá dosiahnuť pomocou tejto funkcie.

Krok 2: Video

Image
Image

Môžete si to pozrieť na klávesnici vo videu.

Krok 3: Vytvorenie 3D modelu

Výroba 3D modelu
Výroba 3D modelu
Výroba 3D modelu
Výroba 3D modelu

Po dokončení toho, čo by malo byť schopné, som navrhol telo na TinkerCAD, aby som ho mohol začať stavať s jasnou predstavou o tom, čo robím.

Tento prístup mi veľmi pomohol, aby som skončil s úhľadne vyzerajúcim robotom, ktorý funguje presne tak, ako bol navrhnutý. Napriek tomu, že som pri jeho stavbe musel pôvodný návrh trochu upraviť, 3D model mi napriek tomu ušetril veľa času a úsilia. Tu môžete 3D model vidieť podrobnejšie.

Krok 4: Diely a nástroje

Diely a nástroje
Diely a nástroje
Diely a nástroje
Diely a nástroje
Diely a nástroje
Diely a nástroje

Na elektronickú časť budete potrebovať -

  • Arduino Uno (množstvo - 1)
  • 16x2 LCD obrazovka (množstvo - 1)
  • Adaptér I2C pre obrazovku LCD (množstvo - 1)
  • Micro Servo TowerPro SG90 (množstvo - 2)
  • Ultrazvukový senzor HC -SR04 (množstvo - 1)
  • Prepínač Push (množstvo - 1)
  • Bzučiak (množstvo - 1)
  • Doska Vero/ Dot Board/ Perf Board
  • Prepojovacie vodiče medzi mužmi a ženami a medzi mužmi a ženami

Na výrobu tela -

  • 5 mm PVC list
  • Cyklus lúčov (množstvo - 2)
  • Skrutky
  • Tuba na držiak náplne do pera
  • Farba v spreji (Ak ju chcete namaľovať)

Nástroje, ktoré budete potrebovať -

  • Super lepidlo
  • Horúca lepiaca pištoľ
  • Spájkovačka
  • Anti-cutter (A. K. A Paper-cutter)

Krok 5: Obvod

Obvod
Obvod
Obvod
Obvod
Obvod
Obvod

Okruhová časť bola celkom jednoduchá. Vysvetľujem, ako som urobil každý jeho segment -

Segment LCD - Na LCD som použil adaptér I2C, aby s ním Arduino mohlo komunikovať cez I2C, čo nebolo potrebné, ale zjednodušilo to obvod a znížil počet vodičov. Môžete použiť štandardný LCD displej tak, že trochu upravíte kód.

Výkonový segment - Na veroboarde som vytvoril jednoduchý obvod, ktorý pozostáva z prepínača, bzučiaka, diódy LED (ktorú som sa potom rozhodol už nepoužívať) a 5 V spoločnej napájacej zbernice. Napájacia zbernica je zapojená, 5 V a uzemňovacie kolíky serva, snímač sonaru, LCD a Arduino sú navzájom prepojené. Jeden kolík tlačidlového spínača je zapojený do vedenia 5V+ a druhý kolík je zapojený do kolíka VCC zdroja napájania. Uzemňovacie vedenie je pripojené priamo k uzemňovaciemu kolíku napájacieho zdroja. Prima sa dá teda zapnúť/vypnúť pomocou vypínača. Bzučiak a LED sú zapojené paralelne a ich kolík VCC smeruje na kolík 13 Arduina. Ich zem je spojená so zemou spoločnej elektrickej zbernice.

Úprava konektora serva - Pretože prepojovacie vodiče majú často tendenciu sa odpojiť od konektora serva, prerušil som VCC a uzemňovací vodič z oboch serv a pripájal ich priamo k napájacej zbernici. Pre signálne kolíky som však použil prepojovacie vodiče na ich pripojenie k Arduinu.

Sonarový senzor - Spájkované dva vodiče k VCC a uzemňovaciemu kolíku sonarového senzora, ktoré smerujú do spoločnej napájacej zbernice, a použili prepojovacie vodiče na pripojenie kolíka spúšte a ozveny k Arduinu.

Arduino - Napájané cez konektor barel jack.

Čo ide do ktorého -

Spúšťový kolík sonaru -> pin Arduino A2

Ozvučný čidlo sonaru -> pin Arduino A3

Kolík SDA adaptéra I2C -> Kolík Arduino A4

Pin SCL adaptéra I2C -> Arduino A5 pin

Buzzer's VCC -> Arduino's D13 pin

Signálny kolík serva -> pin D9 Arduina

Signálny kolík serva osi X -> Kolík Arduino D8

Všetky kolíky VCC a uzemnenie sú pripojené k spoločnej napájacej zbernici.

Krok 6: Montáž senzora sonaru

Držiak senzora sonaru
Držiak senzora sonaru

Obrázok je sám osebe vysvetľujúci, stačí nalepiť poličku v tvare L na „stenu“a nalepiť za tepla snímač sonaru na poličku.

Krok 7: Výroba koľajnice osi X

Výroba koľajnice osi X
Výroba koľajnice osi X
Výroba koľajnice osi X
Výroba koľajnice osi X

Pojem koľajnice osi X som si požičal z CNC strojov. Sú to len dva lúče cyklu umiestnené paralelne k sebe a „steny“majú otvory, ktorými prechádzajú lúče cyklu. Na ostatných koncoch stien sú lúče cyklu za tepla prilepené k stenám, aby sa nepohybovali. Cyklus lúčov je dostatočne pevný, aby podporoval platformu osi X.

Krok 8: Platforma osi X

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

Je to časť, ktorá ide bokom, aby sa dostala k určitým klávesom, a má servo, ku ktorému je pripevnené rameno, ktoré stlačí kláves.

Na jeho spodnej časti je za tepla prilepená trubica držiaka náplne do pera, cez ktorú prechádzajú lúče cyklu, aby sa na nich mohol kĺzať. Túto tubu som dostal z pera, môžete použiť čokoľvek, čo sa hodí k lúčom, napríklad slamu na pitie.

Potom je v strede spodného PVC listu ďalší PVC plech rovný. V spodnej časti je vyrezaný otvor, ktorý zapadá do tela serva a cez ktoré je vložené servo. Servo bolo zaistené horúcim lepidlom.

K servu je pripojené rameno. Keď má robot stlačiť kláves, servo otočí rameno nadol, čo spôsobí stlačenie klávesu, a potom ho otočí do svojej pôvodnej polohy.

Krok 9: Presunutie platformy osi X

Pohyb platformy X osi
Pohyb platformy X osi
Pohyb platformy X osi
Pohyb platformy X osi
Pohyb platformy X osi
Pohyb platformy X osi

Servo posúvača osi X je pripevnené k vyvýšenej plošine, ktorá je na ľavej strane robota. Platforma osi X má v hornej časti poličku, kde je rameno spojené pomocou skrutky. Na druhom konci ramena je ďalšie rameno spojené pomocou skrutky a toto je spojené so servo klaksónom. Všetky kĺby sú pohyblivé a servo môže poháňať plošinu osi X na koľajniciach osi X otáčaním jej rohu doľava/doprava, čím by ramená tlačili/ťahali plošinu na koľajniciach.

Spoje sa vyrábajú pomocou skrutiek.

Krok 10: Kód

Po dokončení stavby tela a obvodu nahrajte kód na Arduino. Umiestnite robota rovnobežne s klávesnicou/klavírom Platforma osi x sa začne pohybovať vľavo a zastaví sa v určitom bode. Pohybujte robotom, kým kláves C na klavíri nedosiahne požadovaný bod. Toto je zásadný krok, pretože bez umiestnenia robota týmto spôsobom nebude správne hrať melódiu. Potom robot zapnite, v priebehu niekoľkých sekúnd by mal začať hrať melódiu.

Kód je celkom základný a má priestor na zlepšenie. Ak chcete, aby robot hral vašu vlastnú melódiu, stačí ho vložiť do kódu, čo je veľmi jednoduché.

Krok 11: Maľujte to

Ak ho chcete namaľovať ako ja (veľmi by som to odporúčal, vyzerá to tak lepšie namaľované), najskôr urobte všetky časti tela a uistite sa, že sú správne orezané. Potom ich umyte mydlom, aby boli bez oleja a nečistôt. Ľudia väčšinou povrch pred povrchom natrú, ale tu to nepotrebujete. Najprv na ne nastriekajte vrstvu, nechajte dostatočne dlho zaschnúť (niekoľko hodín) a potom namaľte ďalšiu vrstvu. Po zaschnutí farby môžete začať montovať diely a lepiť ich dohromady.

Na natieranie tej svojej som použil farbu v spreji

Krok 12: Umiestnenie a usporiadanie elektroniky

Umiestnenie a organizácia elektroniky
Umiestnenie a organizácia elektroniky
Umiestnenie a organizácia elektroniky
Umiestnenie a organizácia elektroniky

Naskrutkoval som Arduino na základný plech PVC a na základnú dosku zalepil napájací obvod aj LCD za tepla. Usporiadali drôty horúcim lepidlom.

Krok 13: Záver: Ďakujeme, že ste si prečítali pokyny

Takto som postavil Primu. Dúfam, že protokol zostavenia bol jasný a ľahko zrozumiteľný. Ak máte akékoľvek otázky, neváhajte ich zanechať v sekcii komentárov, pokúsim sa odpovedať čo najskôr.

Plány do budúcnosti s týmto projektom -

  • Jednoduchšia tvorba softvéru na programovanie Primy.
  • Pridanie funkcie odpočúvania tempa, aby ste mohli klepnutím na tlačidlo upraviť tempo.
  • Výmena serv za tichšie a rýchlejšie

Ak to vytvoríte, napíšte do komentára obrázky, rád by som videl tie vaše!:)

Odporúča: