Cuprins:

Prima - un robot care cântă la pian: 13 pași
Prima - un robot care cântă la pian: 13 pași

Video: Prima - un robot care cântă la pian: 13 pași

Video: Prima - un robot care cântă la pian: 13 pași
Video: Ce înseamna semnul tau din nastere 2024, Iulie
Anonim
Prima - un robot care cântă la pian
Prima - un robot care cântă la pian

Ideea unui robot care cânta la un instrument m-a fascinat întotdeauna și am vrut întotdeauna să-l construiesc singur. Cu toate acestea, nu am avut niciodată prea multe cunoștințe despre muzică și instrumente muzicale, așa că nu mi-am putut da seama niciodată cum aș începe cu asta. Până de curând, m-am interesat să fac muzică, am început să învăț articole de producție muzicală și, după ce am primit o tastatură MIDI, mi-am dat seama că nu este un instrument greu de jucat și pot construi de fapt un robot care să îl poată reda. Așa că, așa a început fabricarea Prima.

Nu eram sigur de succesul acestui proiect, așa că nu m-am deranjat să îl documentez. Dar, din moment ce sa dovedit a funcționa excelent, am decis să împărtășesc detaliile cu comunitatea Instructables. Acesta nu va fi un jurnal de construcție pas cu pas, ci mai degrabă un ghid pentru a începe. Voi explica cum funcționează fiecare parte a acestui robot, vă voi împărtăși imaginile și codul pentru Arduino. Sper că va fi suficient dacă doriți să reproduceți acest proiect.

Și designul a fost inspirat de acest instructable, strigați către JimRD!

Deci sa începem

Pasul 1: Prezentare generală a întregului proiect

Prima este un robot care poate juca tastatura / pianul sau orice alt instrument similar bazat pe tastă. Are un creier Arduino Uno, un ecran LCD pentru ieșire vizuală și un senzor cu ultrasunete pentru pornire fără atingere. Orice adaptor de alimentare care furnizează 5 volți 2 amperi ar trebui să îl poată alimenta.

Are următoarele caracteristici -

  • Programabil - Poate fi programat pentru a reda orice compoziție limitată într-o octavă.
  • Tempo reglabil - Tempo-ul pe care îl va urma în timp ce cântați instrumentul poate fi setat în cod.
  • Pornire fără atingere - Utilizatorul poate declanșa redarea doar glisând mâna pe senzor, ceea ce va fi foarte util dacă utilizatorul este ocupat să cânte cu un alt instrument și dorește ca Prima să cânte împreună cu el / ea după un anumit timp. Blocarea jucătorului uman cu un robot - chiar și acest lucru poate fi realizat și prin ajutorul acestei caracteristici.

Pasul 2: Video

Image
Image

Puteți să-l urmăriți redând o tastatură în videoclip.

Pasul 3: Realizarea modelului 3D

Realizarea modelului 3D
Realizarea modelului 3D
Realizarea modelului 3D
Realizarea modelului 3D

După ce am finalizat ce ar trebui să poată face, am proiectat corpul pe TinkerCAD, astfel încât să pot începe să-l construiesc având o idee clară despre ceea ce făceam.

Această abordare m-a ajutat foarte mult să ajung cu un robot cu aspect îngrijit, care funcționează exact așa cum a fost conceput. Deși a trebuit să modific puțin designul original în timp ce îl construiam, totuși modelul 3D mi-a economisit mult timp și efort. Este posibil să vedeți modelul 3D în mai multe detalii aici.

Pasul 4: Piese și instrumente

Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente

Pentru partea electronică, veți avea nevoie de -

  • Arduino Uno (Cantitate - 1)
  • Ecran LCD 16x2 (Cantitate - 1)
  • Adaptor I2C pentru ecran LCD (Cantitate - 1)
  • TowerPro SG90 Micro Servo (Cantitate - 2)
  • Senzor cu ultrasunete HC-SR04 (Cantitate - 1)
  • Comutator de comutare (cantitate - 1)
  • Buzzer (Cantitate - 1)
  • Vero board / Dot Board / Perf Board
  • Firele jumper de la bărbat la bărbat și de la bărbat la femeie

Pentru a face corpul -

  • Foaie din PVC de 5 mm
  • Ciclul spițelor (Cantitate - 2)
  • Șuruburi
  • Tub suport pentru umplere stilou
  • Vopsea spray (Dacă doriți să o vopsiți)

Instrumentele de care aveți nevoie -

  • Super-lipici
  • Hot Glue Gun
  • Ciocan de lipit
  • Anti-tăietor (A. K. A tăietor de hârtie)

Pasul 5: Circuite

Circuite
Circuite
Circuite
Circuite
Circuite
Circuite

Partea circuitului a fost destul de ușoară. Vă explic cum am făcut fiecare segment -

Segment LCD - Am folosit un adaptor I2C pentru LCD, astfel încât Arduino să poată comunica acestuia prin I2C, ceea ce nu era necesar, dar a simplificat circuitul și a redus numărul de fire. Puteți utiliza un ecran LCD standard modificând puțin codul.

Segment de putere - Am realizat un circuit simplu pe veroboard care constă într-un comutator de comutare, un buzzer, un LED (pe care am decis să nu îl folosesc după aceea) și un bus de alimentare comun de 5V. Autobuzul de alimentare ca în prezent, pinii de 5V și de masă ai servo-urilor, senzorul sonar, LCD-ul și Arduino sunt conectați unul la altul, respectiv. Un pin al comutatorului push este conectat la linia 5V +, iar celălalt pin este conectat la pinul VCC al sursei de alimentare. Linia de masă este conectată direct la pinul de masă al sursei de alimentare. Deci, Prima poate fi pornită / oprită folosind comutatorul. Buzzer-ul și LED-ul sunt conectate în paralel, iar pinul VCC al acestora merge la pinul 13 al Arduino. Masa lor este conectată la masă a magistralei de alimentare comune.

Modificarea conectorului servoarelor - Deoarece firele jumperului tind să se deconecteze adesea de la conectorul servoului, am tăiat VCC și firul de masă de la ambele servo și le-am lipit direct pe magistrala de alimentare. Cu toate acestea, pentru pinii de semnal am folosit fire jumper pentru a le conecta la Arduino.

Senzor sonar - lipite două fire, respectiv, la VCC și pinul de masă al senzorului sonar, care merg la magistrala de alimentare comună și au folosit fire jumper pentru conectarea declanșatorului și a pinului de ecou la Arduino.

Arduino - Alimentat prin conectorul cu mufă.

Care merge la care -

Pinul de declanșare al senzorului sonar -> pinul A2 al lui Arduino

Pinul de ecou al senzorului sonar -> pinul lui Arduino A3

Pinul SDA al adaptorului I2C -> Pinul A4 al Arduino

Pinul SCL al adaptorului I2C -> Pinul A5 al Arduino

VCC-ul lui Buzzer -> pinul D13 al lui Arduino

Tasta apăsând pinul de semnal al servo -> pinul Arduino D9

Pinul de semnal al servo-axei X -> pinul D8 al lui Arduino

Toți pinii VCC și de masă sunt conectați la magistrala de alimentare comună.

Pasul 6: Montare senzor sonar

Montare senzor sonar
Montare senzor sonar

Imaginea se explică de la sine, doar a super-lipit un raft în formă de L pe „perete” și a lipit la cald senzorul sonar de pe raft.

Pasul 7: Realizarea șinei axei X

Realizarea șinei axei X
Realizarea șinei axei X
Realizarea șinei axei X
Realizarea șinei axei X

Am împrumutat conceptul șinei axei X de la mașini CNC. Este vorba doar de două spițe de ciclu plasate paralel între ele, iar „pereții” au găuri prin care trec spițele de ciclu. La celelalte capete ale pereților, spițele ciclului sunt lipite la cald de pereți, astfel încât să nu se miște. Spițele de ciclu sunt suficient de puternice pentru a susține platforma axei X.

Pasul 8: X Axis Platform

Platforma X Axis
Platforma X Axis
Platforma X Axis
Platforma X Axis
Platforma X Axis
Platforma X Axis
Platforma X Axis
Platforma X Axis

Este partea care merge lateral pentru a ajunge la anumite taste și are un servo care are un braț atașat la acesta, care apasă tasta.

Are două tuburi de reumplere a stiloului lipite la cald pe fundul acestuia prin care trec spițele ciclului, permițându-i să alunece pe ele. Am obținut acest tub dintr-un stilou, puteți folosi orice se potrivește cu spițele, cum ar fi paiul de băut.

Apoi, în mijlocul foii de PVC inferioare, există o altă foaie de PVC care stă drept. Are o gaură tăiată în porțiunea inferioară, care se potrivește cu corpul servo, iar servo-ul este introdus prin el. Servo-ul a fost fixat cu adeziv fierbinte.

Servo-ul are un braț conectat la acesta. Când robotul trebuie să apese o tastă, servo-ul rotește brațul în jos, rezultând o apăsare a tastei și o rotește în poziția anterioară după aceea.

Pasul 9: Mutarea platformei X Axis

Mutarea platformei X Axis
Mutarea platformei X Axis
Mutarea platformei X Axis
Mutarea platformei X Axis
Mutarea platformei X Axis
Mutarea platformei X Axis

Servomotorul „X ax mover” este atașat la o platformă ridicată care se află pe partea stângă a robotului. Platforma axei X are un raft în partea superioară unde un braț este îmbinat cu ajutorul unui șurub. La celălalt capăt al brațului, un alt braț este îmbinat cu șurub și acesta este conectat la claxonul servo. Toate îmbinările sunt mobile, iar servo-ul poate conduce platforma axei X pe șinele axei X prin rotirea claxonului său la stânga / dreapta, ceea ce ar face brațele să împingă / să tragă platforma de pe șine.

Îmbinările sunt realizate cu șurub.

Pasul 10: Cod

După ce ați terminat de construit corpul și circuitul, încărcați codul pe Arduino. Puneți robotul în paralel cu tastatura / pianul Platforma axei x va începe mai întâi să se deplaseze spre stânga și să se oprească într-un anumit punct. Mutați robotul până când tasta C a pianului atinge acel punct. Acesta este un pas crucial, deoarece fără a poziționa robotul în acest fel, nu va reda corect melodia. Apoi porniți robotul, acesta ar trebui să înceapă să redea o melodie în câteva secunde.

Codul este destul de simplu și are loc de îmbunătățit. Dacă doriți ca robotul să redea propria melodie, ar trebui doar să o introduceți în cod, ceea ce este destul de ușor.

Pasul 11: Pictează-l

Dacă doriți să-l pictați ca al meu (aș sugera cu tărie să faceți acest lucru, arată mult mai bine vopsit), faceți mai întâi toate părțile corpului, asigurați-vă că sunt tăiate corect. Apoi, spălați-le cu săpun, astfel încât să nu conțină ulei și murdărie. Oamenii șlefuiesc de obicei suprafața înainte de ao vopsi, dar aici nu este nevoie. Stropiți mai întâi un strat pe ele, dați-i suficient timp să se usuce (câteva ore), apoi vopsiți un alt strat. Puteți începe să asamblați piesele și să le lipiți după ce vopseaua s-a uscat.

Am folosit vopsea spray pentru a picta a mea

Pasul 12: Amplasarea și organizarea electronice

Amplasarea și organizarea electronice
Amplasarea și organizarea electronice
Amplasarea și organizarea electronice
Amplasarea și organizarea electronice

Am înșurubat Arduino pe foaia de bază din PVC și am lipit la cald atât circuitul de alimentare, cât și LCD-ul de pe placa de bază. Organizate firele cu adeziv fierbinte.

Pasul 13: Concluzie: Vă mulțumim că ați citit instructabilele

Deci, așa am construit Prima. Sper că jurnalul de construcție a fost clar și ușor de înțeles. Dacă aveți întrebări, nu ezitați să le lăsați în secțiunea de comentarii, voi încerca să vă răspund cât mai curând posibil.

Planuri de viitor cu acest proiect -

  • Realizarea unui software pentru programarea Prima mai ușor.
  • Adăugarea caracteristicii de atingere a tempo-ului, astfel încât să puteți atinge doar un buton pentru ajustarea tempo-ului.
  • Schimbați servo-urile cu cele mai silențioase și mai rapide

Dacă construiești asta, lasă poze în comentariu, mi-ar plăcea să le văd!:)

Recomandat: