Sommario:

Prima - un robot che suona il pianoforte: 13 passaggi
Prima - un robot che suona il pianoforte: 13 passaggi

Video: Prima - un robot che suona il pianoforte: 13 passaggi

Video: Prima - un robot che suona il pianoforte: 13 passaggi
Video: Impara le Scale al Piano: 13 Trucchi per Suonare come un Pro 2024, Luglio
Anonim
Prima - un robot che suona il pianoforte
Prima - un robot che suona il pianoforte

L'idea di un robot che suona uno strumento mi ha sempre affascinato e ho sempre voluto costruirmene uno da solo. Tuttavia, non ho mai avuto molta conoscenza della musica e degli strumenti musicali, quindi non sono mai riuscito a capire come avrei effettivamente iniziato con quello. Fino a poco tempo fa, mi sono interessato a fare musica, ho iniziato a imparare cose sulla produzione musicale e, dopo aver ottenuto una tastiera MIDI, ho capito che non è uno strumento difficile da suonare e posso effettivamente costruire un robot in grado di suonarlo. Quindi, è così che è iniziata la realizzazione di Prima.

Non ero sicuro del successo di questo progetto, quindi non mi sono preoccupato di documentarlo. Ma dal momento che si è rivelato funzionare alla grande, ho deciso di condividere i dettagli con la community di Instructables. Questo non sarà un registro di build passo-passo, piuttosto una linea guida per iniziare. Spiegherò come funziona ogni parte di questo robot, condividerò le immagini e il codice per Arduino. Spero che sia sufficiente se vuoi replicare questo progetto.

E il design è stato ispirato da queste istruzioni, grida a JimRD!

Quindi iniziamo

Passaggio 1: panoramica dell'intero progetto

Prima è un robot in grado di suonare la tastiera/pianoforte o qualsiasi strumento simile a tasti. Ha un Arduino Uno come cervello, uno schermo LCD per l'output visivo e un sensore a ultrasuoni per l'avvio senza tocco. Qualsiasi adattatore di alimentazione che fornisce 5 volt 2 amp dovrebbe essere in grado di alimentarlo.

Ha le seguenti caratteristiche -

  • Programmabile - Può essere programmato per riprodurre qualsiasi composizione limitata all'interno di un'ottava.
  • Tempo regolabile - Il tempo che seguirà mentre si suona lo strumento può essere impostato nel codice.
  • Avvio senza tocco - L'utente può attivare la riproduzione semplicemente facendo scorrere la mano sul sensore, il che sarà di grande aiuto se l'utente è impegnato a suonare un altro strumento e desidera che Prima suoni con lui/lei dopo un tempo specifico. Giocatore umano che si inceppa con un giocatore robot - anche questo può essere ottenuto, con l'aiuto di questa funzione.

Passaggio 2: video

Image
Image

Puoi vederlo suonare una tastiera nel video.

Passaggio 3: creazione del modello 3D

Realizzazione del modello 3D
Realizzazione del modello 3D
Realizzazione del modello 3D
Realizzazione del modello 3D

Dopo aver finalizzato ciò che dovrebbe essere in grado di fare, ho progettato il corpo su TinkerCAD in modo da poter iniziare a costruirlo avendo un'idea chiara di ciò che stavo facendo.

Questo approccio mi ha aiutato molto a ottenere un robot dall'aspetto ordinato che funziona esattamente nel modo in cui è stato progettato. Anche se ho dovuto modificare un po' il design originale durante la costruzione, il modello 3D mi ha comunque fatto risparmiare molto tempo e fatica. Puoi vedere il modello 3D in maggiori dettagli qui.

Passaggio 4: parti e strumenti

Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti

Per la parte elettronica, avrai bisogno di -

  • Arduino Uno (Quantità - 1)
  • Schermo LCD 16x2 (Quantità - 1)
  • Adattatore I2C per lo schermo LCD (quantità - 1)
  • Micro Servo TowerPro SG90 (Quantità - 2)
  • Sensore a ultrasuoni HC-SR04 (Quantità - 1)
  • Interruttore a levetta (quantità - 1)
  • Cicalino (Quantità - 1)
  • Vero board/Dot Board/Perf Board
  • Cavi jumper maschio-maschio e maschio-femmina

Per fare il corpo -

  • Foglio in PVC da 5 mm
  • Raggio ciclo (Quantità - 2)
  • viti
  • Tubo portaricarica penna
  • Vernice spray (se vuoi dipingerla)

Gli strumenti di cui avrai bisogno -

  • Super colla
  • Pistola per colla a caldo
  • Saldatore
  • Anti-taglierina (A. K. A. Tagliacarte)

Passaggio 5: circuiti

circuiti
circuiti
circuiti
circuiti
circuiti
circuiti

La parte del circuito è stata abbastanza facile. Sto spiegando come ho fatto ogni segmento di esso -

Segmento LCD: ho usato un adattatore I2C per l'LCD in modo che Arduino potesse comunicare con esso tramite I2C, il che non era necessario ma semplificava il circuito e riduceva il numero di fili. Puoi usare un LCD standard modificando un po' il codice.

Segmento di alimentazione - Ho realizzato un semplice circuito su veroboard che consiste in un interruttore a levetta, un cicalino, un LED (che ho deciso di non utilizzare in seguito) e un bus di alimentazione comune a 5V. Bus di alimentazione come in, i pin 5V e di massa dei servi, il sensore sonar, l'LCD e l'Arduino sono tutti collegati tra loro rispettivamente. Un pin dell'interruttore a pressione è collegato alla linea 5V+ e l'altro pin è collegato al pin VCC dell'alimentatore. La linea di terra è collegata direttamente al pin di terra dell'alimentatore. Quindi, Prima può essere acceso/spento utilizzando l'interruttore. Il cicalino e il LED sono collegati in parallelo e il loro pin VCC va al pin 13 dell'Arduino. La loro massa è collegata alla massa del bus di alimentazione comune.

Modifica del connettore dei servi - Poiché i cavi dei ponticelli spesso tendono a disconnettersi dal connettore del servo, ho tagliato il VCC e il cavo di massa da entrambi i servi e li ho saldati direttamente al bus di alimentazione. Per i pin del segnale, invece, ho usato dei cavi jumper per collegarli ad Arduino.

Sensore sonar - Saldare due fili rispettivamente al VCC e al pin di terra del sensore del sonar, che vanno al bus di alimentazione comune, e utilizzare i cavi dei ponticelli per collegare il trigger e il pin dell'eco all'Arduino.

Arduino - Alimentato tramite il connettore jack a botte.

Che va a quale -

Pin trigger del sensore sonar -> pin A2 di Arduino

Pin eco del sensore sonar -> pin A3 di Arduino

Pin SDA dell'adattatore I2C -> pin A4 di Arduino

Pin SCL dell'adattatore I2C -> pin A5 di Arduino

VCC di Buzzer -> Pin D13 di Arduino

Pin del segnale del servo premendo il tasto -> pin D9 di Arduino

Pin del segnale del servo dell'asse X -> pin D8 di Arduino

Tutti i pin VCC e di terra sono collegati al bus di alimentazione comune.

Passaggio 6: montaggio del sensore sonar

Supporto per sensore sonar
Supporto per sensore sonar

L'immagine è esplicativa, basta incollare una mensola a forma di L sulla "parete" e incollare a caldo il sensore sonar sulla mensola.

Passaggio 7: creazione della guida dell'asse X

Realizzare il binario dell'asse X
Realizzare il binario dell'asse X
Realizzare il binario dell'asse X
Realizzare il binario dell'asse X

Ho preso in prestito il concetto della guida dell'asse X dalle macchine CNC. Sono solo due raggi del ciclo posti paralleli l'uno all'altro e le "pareti" hanno dei fori attraverso i quali passano i raggi del ciclo. Sulle altre estremità delle pareti, i raggi del ciclo sono incollati a caldo alle pareti in modo che non si muovano. I raggi del ciclo sono abbastanza forti da supportare la piattaforma dell'asse X.

Passaggio 8: piattaforma dell'asse X

Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X
Piattaforma dell'asse X

È la parte che va lateralmente per raggiungere determinati tasti e ha un servo a cui è attaccato un braccio che preme il tasto.

Ha due tubi portaricarica penna incollati a caldo sul fondo attraverso i quali passano i raggi del ciclo permettendogli di scivolare su di essi. Ho preso questo tubo da una penna, puoi usare qualsiasi cosa che si adatti ai raggi come la cannuccia.

Quindi, nel mezzo del foglio in PVC inferiore, c'è un altro foglio in PVC che sta dritto. Ha un foro tagliato nella parte inferiore che si adatta al corpo del servo e il servo viene inserito attraverso di esso. Il servo è stato fissato con colla a caldo.

Il servo ha un braccio collegato ad esso. Quando il robot deve premere un tasto, il servo ruota il braccio verso il basso con conseguente pressione del tasto e successivamente lo ruota nella sua posizione precedente.

Passaggio 9: spostamento della piattaforma dell'asse X

Spostamento della piattaforma dell'asse X
Spostamento della piattaforma dell'asse X
Spostamento della piattaforma dell'asse X
Spostamento della piattaforma dell'asse X
Spostamento della piattaforma dell'asse X
Spostamento della piattaforma dell'asse X

Il servo "X axis mover" è collegato a una piattaforma elevata che si trova sul lato sinistro del robot. La piattaforma dell'asse X ha un ripiano sulla parte superiore dove un braccio è unito tramite una vite. All'altra estremità del braccio, un altro braccio è unito tramite vite e questo è collegato alla squadretta del servo. Tutti i giunti sono mobili e il servo può guidare la piattaforma dell'asse X sui binari dell'asse X ruotando il suo corno a sinistra/destra che farebbe sì che i bracci spingano/tirino la piattaforma sui binari.

I giunti sono realizzati mediante vite.

Passaggio 10: codice

Dopo aver terminato la costruzione del corpo e del circuito, carica il codice su Arduino. Metti il robot in parallelo con la tastiera/piano La piattaforma dell'asse x inizierà a muoversi verso sinistra e si fermerà ad un certo punto. Muovi il robot finché il tasto C del pianoforte non incontra quel punto. Questo è un passaggio cruciale, perché senza posizionare il robot in questo modo, non suonerà correttamente la melodia. Quindi accendi il robot, dovrebbe iniziare a riprodurre una melodia entro pochi secondi.

Il codice è piuttosto semplice e ha margini di miglioramento. Se vuoi che il robot suoni la tua melodia, devi solo inserirla nel codice, il che è abbastanza semplice.

Passaggio 11: dipingerlo

Se vuoi dipingerlo come il mio (consiglio vivamente di farlo, sembra dipinto molto meglio), fai prima tutte le parti del corpo, assicurati che siano tagliate correttamente. Quindi, lavali con il sapone in modo che siano privi di olio e sporco. Di solito le persone carteggiano la superficie prima di dipingerla, ma qui non è necessario. Spruzza prima uno strato su di essi, lascia che si asciughi abbastanza (alcune ore), quindi dipingi un altro strato. Puoi iniziare ad assemblare le parti e incollarle insieme dopo che la vernice si è asciugata.

Ho usato la vernice spray per dipingere il mio

Passaggio 12: posizionare e organizzare l'elettronica

Posizionamento e organizzazione dell'elettronica
Posizionamento e organizzazione dell'elettronica
Posizionamento e organizzazione dell'elettronica
Posizionamento e organizzazione dell'elettronica

Ho avvitato l'Arduino al foglio di PVC di base e ho incollato a caldo sia il circuito di alimentazione che l'LCD sulla scheda di base. Organizzato i fili con la colla a caldo.

Passaggio 13: Conclusione: grazie per aver letto gli Instructables

Ecco come ho costruito Prima. Spero che il registro di build sia stato chiaro e facile da capire. Se hai domande, sentiti libero di lasciarle nella sezione commenti, cercherò di rispondere il prima possibile.

Piani futuri con questo progetto -

  • Realizzare un software per programmare Prima più facilmente.
  • Aggiunta della funzione di tocco del tempo in modo da poter semplicemente toccare un pulsante per regolare il tempo.
  • Scambiare i servi con quelli più silenziosi e veloci

Se lo costruisci, lascia cadere le foto nei commenti, mi piacerebbe vedere le tue!:)

Consigliato: