Obsah:

Prima - robot, který hraje na klavír: 13 kroků
Prima - robot, který hraje na klavír: 13 kroků

Video: Prima - robot, který hraje na klavír: 13 kroků

Video: Prima - robot, který hraje na klavír: 13 kroků
Video: Tento Tvar Je NEMOŽNÝ Nakreslit!😱 2024, Červenec
Anonim
Prima - robot, který hraje na klavír
Prima - robot, který hraje na klavír

Myšlenka na robota hrajícího na nástroj mě vždy fascinovala a vždy jsem si ho chtěl postavit sám. Nikdy jsem však neměl příliš mnoho znalostí o hudbě a hudebních nástrojích, takže jsem nikdy nemohl přijít na to, jak bych s tím vlastně začal. Až donedávna jsem se zajímal o tvorbu hudby, začal jsem se učit hudební produkci a poté, co jsem dostal MIDI klávesnici, jsem si uvědomil, že to není těžký nástroj na hraní a ve skutečnosti mohu postavit robota, který na to umí hrát. Tak, jak začala výroba Prima.

Nebyl jsem si jistý úspěchem tohoto projektu, takže jsem se neobtěžoval dokumentovat to. Ale protože se ukázalo, že funguje skvěle, rozhodl jsem se sdílet podrobnosti s komunitou Instructables. Toto nebude protokol sestavování krok za krokem, ale spíše vodítko pro začátek. Vysvětlím, jak každá část tohoto robota funguje, podělím se o jejich obrázky a kód pro Arduino. Doufám, že to bude stačit, pokud budete chtít tento projekt replikovat.

A design byl inspirován tímto návodem, křičte na JimRD!

Pojďme tedy začít

Krok 1: Přehled celého projektu

Prima je robot, který dokáže hrát na klávesnici/klavír nebo jakýkoli podobný nástroj založený na klávesách. Jako mozek má Arduino Uno, LCD obrazovku pro vizuální výstup a ultrazvukový senzor pro bezdotykové spouštění. Jakýkoli napájecí adaptér, který dodává 5 voltů 2 ampéry, by měl být schopen jej napájet.

Má následující vlastnosti -

  • Programovatelný - Lze naprogramovat tak, aby hrál jakoukoli skladbu, která je omezena v oktávě.
  • Nastavitelné tempo - tempo, kterým se bude při hře na nástroj řídit, lze nastavit v kódu.
  • Bezdotykové spouštění - uživatel může spustit přehrávání pouhým přejetím ruky po senzoru, což bude velmi užitečné, pokud je uživatel zaneprázdněn hraním na jiný nástroj a chce, aby s ním po určitém čase hrála i Prima. Rušení lidského hráče s robotickým hráčem - i toho lze dosáhnout pomocí této funkce.

Krok 2: Video

Image
Image

Na videu se můžete podívat na klávesnici.

Krok 3: Vytvoření 3D modelu

Vytváření 3D modelu
Vytváření 3D modelu
Vytváření 3D modelu
Vytváření 3D modelu

Po dokončení toho, co by měl umět, jsem navrhl tělo na TinkerCAD, abych jej mohl začít stavět s jasnou představou o tom, co dělám.

Tento přístup mi velmi pomohl skončit s úhledně vypadajícím robotem, který funguje přesně tak, jak byl navržen. I když jsem při stavbě musel původní design trochu upravit, přesto mi 3D model ušetřil spoustu času a úsilí. Zde můžete 3D model vidět podrobněji.

Krok 4: Díly a nástroje

Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje

Pro elektronickou část budete potřebovat -

  • Arduino Uno (množství - 1)
  • 16x2 LCD obrazovka (množství - 1)
  • Adaptér I2C pro LCD obrazovku (množství - 1)
  • Micro Servo TowerPro SG90 (množství - 2)
  • Ultrazvukový senzor HC -SR04 (množství - 1)
  • Přepínač Push (množství - 1)
  • Bzučák (množství - 1)
  • Vero board/ Dot Board/ Perf Board
  • Propojovací vodiče mezi muži a muži a mezi muži a ženami

Pro výrobu těla -

  • 5 mm PVC list
  • Cyklus paprsku (množství - 2)
  • Šrouby
  • Trubka držáku náplně do pera
  • Barva ve spreji (Pokud ji chcete namalovat)

Nástroje, které budete potřebovat -

  • Super lepidlo
  • Pistole na horké lepidlo
  • Páječka
  • Anti-cutter (A. K. A Paper-cutter)

Krok 5: Obvod

Obvod
Obvod
Obvod
Obvod
Obvod
Obvod

Okruhová část byla celkem snadná. Vysvětluji, jak jsem udělal každý jeho segment -

Segment LCD - Použil jsem adaptér I2C pro LCD, aby s ním Arduino mohl komunikovat přes I2C, což nebylo nutné, ale zjednodušilo obvod a zmenšilo počet vodičů. Můžete použít standardní LCD tak, že kód trochu upravíte.

Výkonový segment - na veroboardu jsem vytvořil jednoduchý obvod, který se skládá z přepínače, bzučáku, LED diody (kterou jsem se poté rozhodl nepoužívat) a 5V společné napájecí sběrnice. Power bus as in, 5V a zemnící piny serva, sonarový senzor, LCD a Arduino jsou navzájem propojeny. Jeden pin tlačného spínače je připojen k vedení 5V+ a druhý pin je připojen ke kolíku VCC napájecího zdroje. Zemnicí vedení je připojeno přímo k uzemňovacímu kolíku napájecího zdroje. Prima lze tedy zapnout/vypnout pomocí přepínače. Bzučák a LED jsou zapojeny paralelně a jejich VCC pin jde na pin 13 Arduina. Jejich zem je spojena se zemí společné energetické sběrnice.

Úprava konektoru serva - Protože propojovací vodiče mají často tendenci se odpojovat od konektoru serva, přerušil jsem VCC a zemnící vodič z obou serv a připájel je přímo k napájecí sběrnici. Pro signální piny jsem však použil propojovací vodiče pro jejich připojení k Arduinu.

Sonarový senzor - připájeny dva vodiče k VCC a zemnímu kolíku sonarového senzoru, které vedou ke společné napájecí sběrnici, a pomocí propojovacích vodičů pro připojení spouště a echo pinu k Arduinu.

Arduino - Napájeno přes konektor barel jack.

Který jde do kterého -

Spouštěcí pin sonarového senzoru -> pin A2 Arduina

Sonarový senzorový echo pin -> Arduino A3 pin

Pin SDA adaptéru I2C -> pin PIN Arduina A4

Pin SCL adaptéru I2C -> pin A5 Arduina

Buzzer's VCC -> Arduino's D13 pin

Signální pin servo stisknutí klávesy -> pin D9 Arduina

Signální pin servo osy X -> pin D8 Arduina

Všechny kolíky VCC a uzemnění jsou připojeny ke společné napájecí sběrnici.

Krok 6: Držák sonarového senzoru

Držák sonarového senzoru
Držák sonarového senzoru

Obrázek je samovysvětlující, jen super nalepil polici ve tvaru L na „zeď“a nalepil za tepla sonarový senzor na polici.

Krok 7: Výroba kolejnice osy X

Výroba kolejnice osy X
Výroba kolejnice osy X
Výroba kolejnice osy X
Výroba kolejnice osy X

Pojem kolejnice osy X jsem si vypůjčil z CNC strojů. Jsou to jen dva paprsky cyklu umístěné paralelně k sobě a „stěny“mají otvory, kterými procházejí paprsky cyklu. Na ostatních koncích stěn jsou paprsky cyklu přilepeny ke stěnám za tepla, aby se nepohybovaly. Cykly paprsků jsou dostatečně silné, aby podporovaly platformu osy X.

Krok 8: Platforma osy X

Platforma osy X
Platforma osy X
Platforma osy X
Platforma osy X
Platforma osy X
Platforma osy X
Platforma osy X
Platforma osy X

Je to část, která jde bokem k dosažení určitých kláves a má servo, ke kterému je připevněno rameno, které mačká klávesu.

Na jeho spodní straně je za tepla přilepená trubička držáku náplně do pera, kterou procházejí paprsky cyklu, což jim umožňuje klouzat. Tuhle tubu jsem dostal z propisky, můžete použít cokoli, co sedí na paprsky, jako je sláma na pití.

Potom uprostřed spodního PVC listu stojí další PVC plech rovně. Ve spodní části má vyříznutý otvor, který zapadá do těla serva a servo se do něj vloží. Servo bylo zajištěno horkým lepidlem.

K servu je připojeno rameno. Když má robot stisknout klávesu, servo otočí paži dolů, což způsobí stisknutí klávesy, a poté ji otočí do původní polohy.

Krok 9: Pohyb platformy X osy

Pohyb platformy X osy
Pohyb platformy X osy
Pohyb platformy X osy
Pohyb platformy X osy
Pohyb platformy X osy
Pohyb platformy X osy

Servo „přesouvač osy X“je připevněno ke zvýšené plošině, která je na levé straně robota. Platforma osy X má v horní části polici, kde je rameno spojeno šroubem. Na druhém konci ramene je další rameno spojeno pomocí šroubu a toto je spojeno se servo houkačkou. Všechny klouby jsou pohyblivé a servo může pohánět platformu osy X na kolejnicích osy X otáčením jejího rohu doleva/doprava, což by přimělo ramena tlačit/tahat plošinu na kolejnicích.

Spoje se vyrábějí pomocí šroubu.

Krok 10: Kód

Po dokončení stavby těla a obvodu nahrajte kód na Arduino. Umístěte robota paralelně s klávesnicí/klavírem Platforma osy x se nejprve začne pohybovat doleva a zastaví se v určitém bodě. Pohybujte robotem, dokud klávesa C klavíru nedosáhne tohoto bodu. Toto je zásadní krok, protože bez umístění robota tímto způsobem nebude správně přehrávat melodii. Poté robot zapněte, během několika sekund by měl začít hrát melodii.

Kód je docela základní a má prostor pro vylepšení. Pokud chcete, aby robot hrál vaši vlastní melodii, stačí jej vložit do kódu, což je docela snadné.

Krok 11: Malování

Pokud to chcete namalovat jako já (doporučuji to udělat, vypadá to mnohem lépe namalované), nejprve vytvořte všechny části těla a ujistěte se, že jsou správně nařezány. Poté je umyjte mýdlem, aby byly bez oleje a nečistot. Lidé obvykle povrch před vybarvením obrousí, ale zde nemusíte. Nejprve na ně nastříkejte vrstvu, nechte ji dostatečně zaschnout (několik hodin) a poté naneste další vrstvu. Po zaschnutí barvy můžete začít se sestavováním dílů a lepením.

Na malování jsem použil barvu ve spreji

Krok 12: Umístění a uspořádání elektroniky

Umístění a organizace elektroniky
Umístění a organizace elektroniky
Umístění a organizace elektroniky
Umístění a organizace elektroniky

Přišrouboval jsem Arduino k základnímu PVC listu a nalepil za tepla jak napájecí obvod, tak LCD na základní desku. Uspořádal dráty horkým lepidlem.

Krok 13: Závěr: Děkujeme, že jste si přečetli pokyny

Takhle jsem postavil Prima. Doufám, že protokol sestavení byl jasný a snadno pochopitelný. Pokud máte nějaké dotazy, klidně je nechte v sekci komentáře, pokusím se odpovědět co nejdříve.

Plány do budoucna s tímto projektem -

  • Snadnější tvorba softwaru pro programování Primy.
  • Přidání funkce klepání na tempo, takže stačí klepnout na tlačítko pro úpravu tempa.
  • Vyměňte serva za tišší a rychlejší

Pokud toto vytvoříte, vložte do komentářů obrázky, rád bych viděl vaše!:)

Doporučuje: