Sommario:

Costruisci una testa di robot parlante alimentata da Arduino!: 26 passaggi (con immagini)
Costruisci una testa di robot parlante alimentata da Arduino!: 26 passaggi (con immagini)

Video: Costruisci una testa di robot parlante alimentata da Arduino!: 26 passaggi (con immagini)

Video: Costruisci una testa di robot parlante alimentata da Arduino!: 26 passaggi (con immagini)
Video: Il mio primo robot, alpha 2024, Dicembre
Anonim
Costruisci una testa di robot parlante alimentata da Arduino!
Costruisci una testa di robot parlante alimentata da Arduino!

Questa testa di robot è stata originariamente costruita come progetto di fine anno per la mia classe di informatica fisica, ma durante l'estate ha "imparato" a parlare. La testata è alimentata da due Freeduino, 3 chip TLC5940NT e un Wave Shield di Adafruit Industries che si trova qui: www.ladyada.net/make/waveshield/. La testa è attualmente collegata a un computer tramite due cavi USB, uno per l'alimentazione, uno per l'invio di comandi seriali su cosa dire/emote. Una volta che la testa riceve i comandi digitati su cosa dire/emozionare, riproduce i singoli file di parole per creare una frase o più frasi. Cambia anche le sue emozioni in base ai comandi emotivi inviati dal computer. Questa testa del robot è una base per molte possibili applicazioni poiché può dire tutto ciò per cui ha il vocabolario. In questo momento sto lavorando per connetterlo a Internet e farlo controllare e leggere la mia posta tramite script PHP. Aggiornerò questo Instructable man mano che avanzo. Ecco un video in azione: La testata è ancora un progetto in corso, quindi qualsiasi commento su qualsiasi cosa qui è più che benvenuto! Un ringraziamento speciale a Liz Arum per avermi aiutato con tutto! Aggiornamento: a grande richiesta ora ho aggiunto un video del robot che parla e si esprime! Divertiti a tuo piacimento!

Passaggio 1: compilare tutti i materiali/parti/elettronica

Questa testa del robot utilizza: 1 breadboard (deve essere lunga più di 48 righe con uno spazio vuoto al centro della scheda per collegare i chip IC. Anche un bus di alimentazione e terra che corre lungo il lato della breadboard è una necessità.) 2 Led RGB (Per gli occhi multicolori) Anodo Comune. $ 1,50 - 1,95 ciascuno. 2 X $ 1,75 = $ 3,5036 LED rossi (per la bocca) da qualche parte intorno alla fascia di prezzo di 40-50 cent per ciascuno. 36 X $ 0,45 = $ 16,202 HXT900 Micro Servi (per spostare le sopracciglia) Possono essere trovati su: https://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 2 X $ 3,65 = $ 7,303 TLC5940NT (A pilotare/accendere tutti i led e controllare i servi) possono essere trovati su Digi-key https://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND dove hanno un prezzo a $ 4,28. 3 X $ 4,28 = $ 12,84 o Mouser https://www.mouser.com/ProductDetail/Texas-Instruments/TLC5940NT/?qs=sGAEpiMZZMu8%252bGBKj8XSFEjwsgnt5grMZ49G/W4nR14%3d3 Condensatori (~1000uf) (per stirare la linea e il rumore servi) Recuperato da un vecchio alimentatore del computer. Free2 Freeduino o Arduino originali. I Freeduino possono essere acquistati su https://www.freeduino.org/buy.html Hanno un prezzo di 23,99 ciascuno. 2 X $ 23,99 = $ 47,98 Oppure www.sparkfun.com/commerce/product_info.php per Arduino. Al prezzo di $ 29,95 ciascuno. 2 X $ 29,95 = $ 59,90. Avvertenza: i Freeduino richiedono alcune conoscenze di saldatura, se non desideri saldare le tue schede, acquista un Arduino. Avvertenza: questo Instructable richiede comunque alcune conoscenze di saldatura, quindi perché non iniziare ora?:) 1 Waveshield di Adafruit Industries (per consentire al robot di parlare) Può essere acquistato su: https://www.ladyada.net/make/waveshield/ Al prezzo di $ 22 ciascuno. Costo totale stimato di tutte le parti ad alta tecnologia (escluso spedizione) se hai acquistato Freeduinos invece di Arduinos è…. $ 109,82! Il costo totale di tutte le parti ad alta tecnologia se hai acquistato Arduino invece di Freeduino è …. $ 121,74! E per quanto riguarda i materiali a bassa tecnologia di cui avrai bisogno: Una scatola di cartone delle stesse dimensioni che vuoi che sia la tua testa. Un piccolo pezzo di cartone Nastro Colla Cavo compatibile con la taglierina (22 gauge, solido) Cavo per fissare cose ad altre cose Un piccolo blocco di legnoTrapano elettrico. Guaina termorestringente per isolare i fili scoperti e qualcosa che soffia aria calda per restringerlo con (pistola ad aria calda) Taglierina.

Passaggio 2: assemblare e saldare tutti i circuiti stampati e gli schermi

Assemblare e saldare tutti i circuiti stampati e gli schermi
Assemblare e saldare tutti i circuiti stampati e gli schermi

Saldare i Freeduino (come ho fatto io), oppure ignorare questa linea se hai acquistato un Arduino. Ecco il link alle loro istruzioni di montaggio per tutte le persone che hanno acquistato Freeduinos:mcukits.com/2009/03/12/assembling-the-freeduino-board-kit/Solder the Waveshields. Lady Ada ha un'ottima guida su come farlo sul suo sito Web all'indirizzo https://www.ladyada.net/make/waveshield/solder.html Nota: oltre a saldare insieme Waveshield come descritto. Aggiungi un lungo filo saldato al resistore R7 sul lato più vicino al chip dell'amplificatore. Questo sarà collegato all'ingresso analogico 1 sul Freeduino che controlla i LED della testa del robot. (Non preoccuparti di dove collegare l'altra estremità del filo per ora, che verrà spiegato in dettaglio in seguito.) Guarda l'immagine per chiarimenti su dove saldare il filo.

Passaggio 3: progettare la testa del robot

Progetta la testa del robot
Progetta la testa del robot

Prendi la scatola di cartone che hai scelto come testa e segna i punti che vorresti ritagliare per occhi e bocca tagliando pezzi di carta e adagiandoli sopra la scatola. Quando sei soddisfatto dell'arrangiamento, puoi passare al taglio delle cose.

Passaggio 4: progettare la testa del robot: tagliare gli occhi

Progetta la tua testa del robot: taglia gli occhi
Progetta la tua testa del robot: taglia gli occhi

Nastro o segna i pezzi nelle loro posizioni finali sulla scatola e ritagliali. (Tieni il pezzo di carta che hai usato per rappresentare la bocca, ti servirà in seguito.)

Passaggio 5: progettare la testa del robot: creare una matrice di LED per la bocca

Progetta la tua testa del robot: crea una matrice di LED per la bocca
Progetta la tua testa del robot: crea una matrice di LED per la bocca
Progetta la tua testa del robot: crea una matrice di LED per la bocca
Progetta la tua testa del robot: crea una matrice di LED per la bocca
Progetta la tua testa del robot: crea una matrice di LED per la bocca
Progetta la tua testa del robot: crea una matrice di LED per la bocca

Ogni LED in bocca si accenderà indipendentemente. Per fare ciò è necessario realizzare una matrice LED per la bocca. (Per un'idea su cosa sia una matrice LED, vedi figura 1) Prendi il pezzo di carta che dovrebbe essere la bocca e, con una matita e un righello, dividi il pezzo di carta in 36 parti (9 X 4), Uno per ogni LED nella griglia. Dopo averlo fatto, fissa il pezzo di carta con del nastro adesivo su un pezzo di legno e facendo attenzione a non forare il pavimento (a me è successo, quindi consiglio di forare sopra una scatola di cartone.) Praticare dei fori dove le linee si intersecano con una punta da trapano da 1/4 di pollice, in modo che i LED si adattino perfettamente. La dimensione della punta del trapano dipende ovviamente dalla dimensione dei tuoi LED, quindi usa una punta più piccola per LED più piccoli. (Inizia in piccolo e procedi verso l'alto!) Guarda le immagini 2 e 3 per chiarimenti sulla perforazione/marcatura.

Passaggio 6: creazione della matrice LED della bocca: saldatura nei LED

Realizzazione della matrice LED della bocca: saldatura nei LED
Realizzazione della matrice LED della bocca: saldatura nei LED
Realizzazione della matrice LED della bocca: saldatura nei LED
Realizzazione della matrice LED della bocca: saldatura nei LED
Realizzazione della matrice LED della bocca: saldatura nei LED
Realizzazione della matrice LED della bocca: saldatura nei LED

Prima di fare qualsiasi altra cosa, controlla che tutti i tuoi LED non siano bruciati o affievoliti. Puoi farlo trovando una piccola batteria a bottone da 3 V e tenendo le gambe dei LED sulla batteria (ricorda che la gamba lunga è positiva, quella corta negativa). Quindi inserisci i LED una riga alla volta nella maschera della griglia forata. Piegare le gambe lunghe in modo che siano parallele l'una all'altra e saldarle, riga per riga (vedere le immagini 2 e 3). Saldare insieme le gambe lunghe poiché utilizzerai TLC per controllare questi LED e le TLC sono dissipatori di potenza. Ciò significa che controllano i LED alterando il differenziale di tensione tra potenza e massa.

Passaggio 7: creazione della matrice LED della bocca: saldatura dei fili di controllo sui LED

Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED
Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED
Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED
Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED
Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED
Realizzazione della matrice LED della bocca: saldatura dei fili di controllo sui LED

Saldare fili lunghi che possono essere inseriti in una breadboard (calibro 22) su tutti i cavi del catodo del LED. Questi fili controlleranno i LED. Successivamente assicurati di isolare tutti i singoli fili con nastro isolante (non divertente) o tubo termoretraibile (consigliato). Oltre a saldare i fili su tutti i cavi del catodo dei LED, saldare 2 o 3 fili sulla parte anodica della griglia (La parte che è tutta saldata insieme). Questi fili serviranno da alimentatori distribuendo energia in tutta la rete. Saranno collegati a 5V.

Passaggio 8: installare i servi per il movimento delle sopracciglia all'interno della testa del robot

Installa i servi per il movimento delle sopracciglia all'interno della testa del robot
Installa i servi per il movimento delle sopracciglia all'interno della testa del robot
Installa i servi per il movimento delle sopracciglia all'interno della testa del robot
Installa i servi per il movimento delle sopracciglia all'interno della testa del robot
Installa i servi per il movimento delle sopracciglia all'interno della testa del robot
Installa i servi per il movimento delle sopracciglia all'interno della testa del robot

Prima di installare i tuoi mini-servi all'interno della testa del tuo robot, incolla a caldo un filo lungo e resistente (ma ancora pieghevole) sul braccio del servo. Questo filo salirà all'interno del tuo robot, uscirà dalla parte superiore e tornerà indietro per spostare le sopracciglia. (Vedi le immagini per chiarimenti.) Prendi i tuoi mini-servo (con i fili attaccati) e incollali a caldo all'interno della testa del robot, proprio sotto gli occhi, assicurandoti che i fili possano muoversi da un lato all'altro.

Passaggio 9: installare la griglia all'interno della testa del robot

Installa la griglia all'interno della testa del robot
Installa la griglia all'interno della testa del robot
Installa la griglia all'interno della testa del robot
Installa la griglia all'interno della testa del robot

Incolla a caldo la griglia su un pezzo di cartone in cui hai praticato dei fori e incollalo a caldo all'interno della testa del robot.

Passaggio 10: saldare i LED RGB

Saldare i LED RGB
Saldare i LED RGB

Saldare il cavo LED RGB dell'anodo comune a un filo lungo. Quindi saldare un filo colorato (rosso, verde, blu) al cavo LED RGB che corrisponde ad esso (il colore di un singolo cavo può essere scoperto utilizzando una batteria a bottone da 3V per accendere a turno ciascun cavo LED). Non dimenticare di isolare i fili!

Passaggio 11: installare i LED RGB all'interno della testa del robot

Installa i LED RGB all'interno della testa del robot
Installa i LED RGB all'interno della testa del robot
Installa i LED RGB all'interno della testa del robot
Installa i LED RGB all'interno della testa del robot

Installa i LED all'interno della testa del robot posizionandoli dove vuoi e poi piegando e fissando i fili all'interno della scatola. Anche mettere una cannuccia sotto il LED aiuta a tenerlo in posizione. (Vedi foto per chiarimenti)

Passaggio 12: completare la creazione degli occhi

Finisci di fare gli occhi
Finisci di fare gli occhi
Finisci di fare gli occhi
Finisci di fare gli occhi

Incolla un pezzo di carta quadrato leggermente più grande del foro che hai ritagliato. Incollalo sul foro per coprire il foro e il LED dietro di esso. Potresti anche fissare alcuni fogli di carta assorbente all'interno dei fori per gli occhi per diffondere la luce proveniente dai LED.

Passaggio 13: collegare i chip TLC5940NT

Cablare i chip TLC5940NT
Cablare i chip TLC5940NT
Cablare i chip TLC5940NT
Cablare i chip TLC5940NT
Cablare i chip TLC5940NT
Cablare i chip TLC5940NT

In questo passaggio dovrai collegare a margherita 3 TLC5940NT insieme per pilotare un totale di 42 uscite LED (36 per la bocca, 6 per gli occhi multicolori). Le persone al parco giochi Arduino hanno una guida di collegamento molto ben documentata su come eseguire il collegamento a margherita concatenare 3 TLC5940NT insieme. Eccolo in forma compressa: Arduino pin 13 -> SCLK (TLC pin 25) Arduino pin 11 -> SIN (TLC pin26) Arduino pin 10 -> Blank (TLC pin 23) Arduino pin 9 -> XLAT (TLC pin 24) Arduino pin 3 -> GSCLK (TLC pin 18) --------------U------------LED Out 1 | 1 28 | LED Out 0LED Out 2 | 2 27 | GNDLED Out 3 | 3 26 | SIN (pin 11.)LED Out 4 | 4 25 | SCLK (Ard pin 13)… | 5 24 | XLAT (Ard pin 9)… | 6 23 | BLANK (Ard pin 10)… | 7 22 | GND… | 8 21 | VCC (5V)… | 9 20 | Resistenza 2K a terra… | 10 19 | 5V… | 11 18 | GSCLK (Ard pin 3)… | 12 17 | SOUT (Collegato al SIN della prossima TLC in Daisychain)… | 13 16 | XERR Out 14 | 14 15 | LED Out 15 ---------------Nota: stiamo collegando a margherita 3 TLC quindi il SIN del primo TLC è collegato ad Arduino pin 11. Le restanti TLC hanno il loro SIN connesso al SOUT della TLC che lo precede. Tutti i BLANK sono collegati tra loro (BLANK di TLC1 è connesso a BLANK di TLC2 ecc…) Gli SCLK sono collegati. Tutti i GSCLK sono collegati. Tutti gli XERR sono collegati. Collegare anche 2 o 3 condensatori elettrolitici alla massa e all'alimentazione della breadboard (negativo sul condensatore che va a massa, positivo a 5 V). La quantità di carica che contiene non è così importante, ma dovrebbe essere valutata per 5 V o superiore. Questi condensatori fungeranno da filtro, filtrando tutte le imperfezioni (rumore) nell'alimentazione di tensione che producono i TLC. Questo è importante perché il Waveshield che useremo condivide lo stesso terreno dei TLC e DAVVERO non ama il rumore elettrico (fa uno strano rumore di clic).

Passaggio 14: collegare i LED alle TLC

Collegare i LED alle TLC
Collegare i LED alle TLC
Collegare i LED alle TLC
Collegare i LED alle TLC

Collegare tutti i LED ai TLC, riga per riga, partendo da quello in alto a sinistra e passando direttamente al LED a destra. Ecco una griglia di tutte le pin out LED TLC incluse per tua comodità. Vedi le immagini per chiarimenti. Bocca: 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Ora è anche un buon momento per collegare i tuoi occhi LED RGB ai TLC, quindi ecco i pin out… Occhi LED RGB: Sinistra: RGB Destra: RGB 36 40 38 37 41 39Non dimenticare per collegare i cavi di alimentazione universali per The Grid e LED RGB a 5V!

Passaggio 15: collegare i servi ai TLC

Collega i servi alle TLC
Collega i servi alle TLC

Collega l'alimentazione e la massa dei servi a alimentazione e massa sulla breadboard. Collega il cavo di controllo del servo sinistro (la tua sinistra mentre sei di fronte al robot.) al pin 43 (ricorda di iniziare da zero.) e il servo destro al pin 44. Dovrai collegare un resistore da 3,3 K ohm da entrambi questi pin a 5V perché le TLC sono dissipatori di potenza e richiedono alimentazione per assorbire.

Passaggio 16: stai entrando nel paese del software e del codice! (soprattutto)

Si prega di non violare…

Passaggio 17: scaricare la libreria TLC

L'ultima libreria TLC per Arduino può essere trovata nella loro code page di Google all'indirizzo: code.google.com/p/tlc5940arduino/. Scarica l'ultima libreria e inserisci la cartella decompressa "Tlc5940" in [cartella dell'ultima versione di Arduino]/hardware/ biblioteche/

Passaggio 18: testare le TLC

Carica il mio schizzo del test di espressione seriale che puoi scaricare di seguito. Caricalo nel Freeduino e digita alcuni comandi nel monitor seriale per verificare che tutto funzioni. Ecco l'elenco dei comandi: behappybesadbemadfullmouthlinemouthoffmouthoffeyesbluegreeneyesredeyesblueeyesopenmouthtalkmouth (Non parla, ma fa movimenti della bocca)

Passaggio 19: scaricare la libreria Waveshield di supporto ad alta capacità migliorata (un po')

Scarica il nuovo waveshield Adafruit migliorato dal codice Google (grazie Mr Fat16 per aver creato questa libreria migliorata): code.google.com/p/wavehc/ Inserisci nuovamente la cartella decompressa nella cartella hardware/libraries/.

Passaggio 20: formatta e carica le tue schede SD

Inserisci le tue schede SD nel computer e formattale utilizzando il tipo di file FAT o FAT16. NON FAT32! Quindi carica le tue schede SD con i file vocali dal fantastico sito di sintesi vocale di AT&T www.research.att.com/~ttsweb/tts/demo.php#top Rinomina i file con il nome della parola che sta pronunciando nel file e troncare quel nome di file a qualcosa che contiene 6 o meno lettere. (Il waveshield può gestire solo file i cui nomi file sono 6 caratteri o meno.) Es. Se scarichi il file per "Instructables.com" -> chiamalo instrc.wavIf ciao -> ciao.wav

Passaggio 21: prova il tuo Waveshield

Scarica ed esegui il mio schizzo di prova seriale di Waveshield. Dovresti essere in grado di digitare una frase tramite il terminale seriale e farla riprodurre a Waveshield (purché abbia i file.wav di cui ha bisogno). Prenderà la prima parola, aggiungerà il ".wav" e lo riprodurrà prima di passare alla seconda. Es. digiti: Ciao mi chiamo Bob Suonerà: ciao.wavmy.wavname.wavis.wavbob.wav Nota: Testare il Waveshield sull'altro Freeduino (quello che non è collegato ai TLC) perché sia il Waveshield che i TLC utilizzano i pin 13, 12, 11 e 10 (sul Freeduino). Questo perché questi pin hanno il supporto hardware per un'interfaccia chiamata Serial Peripheral Interface (SPI) richiesta sia dalle TLC che da Waveshield. Questi pin non possono essere condivisi tra loro, quindi dovremo collegare due Freeduino utilizzando l'interfaccia I2C in modo che possano passare informazioni tra di loro. Maggiori informazioni su questo nel passaggio 22.

Passaggio 22: collegare l'interfaccia I2C tra entrambi i Freeduino

Collega l'interfaccia I2C tra i due Freeduino
Collega l'interfaccia I2C tra i due Freeduino

Aspetta… Perché abbiamo bisogno di cablare un'interfaccia I2C tra due Freeduino? Perché non possiamo semplicemente collegare Waveshield e TLC a un Freeduino? Ecco perché: sia Waveshield che TLC utilizzano i pin 13, 12, 11 e 10 sul Freeduino. La ragione di ciò è che questi pin hanno il supporto hardware per un'interfaccia chiamata Serial Peripheral Interface (SPI) che sia i TLC che il Waveshield richiedono e non possono condividere. Ciò significa che dovremo collegare due Freeduino insieme utilizzando una sorta di connessione dati in modo che entrambi lavorino insieme in tandem. Il seriale non era un'opzione perché il mio computer lo stava già utilizzando per comunicare con Waveshield Freeduino, quindi dopo un po' di intenso googling ho trovato un metodo di comunicazione straordinariamente comodo e semplice. I2C! Ecco come cablare l'interfaccia: collegare il pin 4 dell'ingresso analogico su entrambi i Freeduino (questa è la linea dati seriale o SDA). Collegare il pin 5 dell'ingresso analogico su entrambi i Freeduino (questa è la linea SCL o dell'orologio seriale). Collegare la terra su entrambi i Freeduino (altrimenti l'interfaccia I2C non funzionerà). Collegare il filo che è stato saldato all'inizio di questo Instructable dal resistore R7 su Waveshield al pin 1 dell'ingresso analogico sul TLC che controlla Freeduino (questo filo serve per controllare il volume di le parole pronunciate da Waveshield e non fa parte dell'interfaccia I2C). (Vedi foto per chiarimenti)

Passaggio 23: abilitare I2C su TLC Controlling Freeduino

Abilita I2C sul Freeduino che hai usato per controllare le TLC scaricando questo sketch. Riceverà informazioni sulle espressioni dal Waveshield e controllerà anche il volume del parlato in uscita su Waveshield Freeduino e sposterà la bocca per simulare la conversazione a seconda del volume della parola pronunciata. Definizione I2C: I2C è anche conosciuto come TWI (Interfaccia a due fili) è un modo semplice per collegare più dispositivi insieme (fino a 128!) Con due cavi dati e una messa a terra comune. Aggiornamento: ho aggiunto una funzione di lampeggio ad Arduino Sketch. Il robot ora lampeggerà a intervalli di 2-11 secondi, proprio come un essere umano.

Passaggio 24: testare l'interfaccia I2C

Scarica questo schizzo e caricalo sul Waveshield Freeduino, invia le parole "behappy;" e poi "bead"; tramite l'interfaccia I2C al TLC che controlla Freeduino a intervalli di due secondi, si spera che il robot passi da felice a triste a intervalli di due secondi.

Passaggio 25: hai quasi finito! Solo un po' di codice da caricare…

Carica la versione finale del codice Waveshield Freeduino. Dovrebbe prendere tutte le parole che digiti nel monitor seriale e pronunciarle (purché disponga dei file.wav per farlo) e dovrebbe passare comandi di espressione come "behappy;" e "perla"; sul Freeduino controllando le TLC tramite l'interfaccia I2C. Nota: l'elenco dei comandi è lo stesso del precedente codice di test TLC (vedere il passaggio 17) tranne per il fatto che è necessario aggiungere un punto e virgola a ogni comando di espressione. ESEMPIO. Se vuoi che il robot sia triste e dica "Mi sento triste", digita: bead; Mi sento triste. Aggiornamento: Waveshield Sketch ora usa la punteggiatura correttamente (cioè punti e virgole ma non punti esclamativi).

Passaggio 26: monta tutto sulla scatola della testa del robot e il gioco è fatto

Monta tutto sulla scatola della testa del robot e il gioco è fatto!
Monta tutto sulla scatola della testa del robot e il gioco è fatto!
Monta tutto sulla scatola della testa del robot e il gioco è fatto!
Monta tutto sulla scatola della testa del robot e il gioco è fatto!

Montare tutti i Freeduino sul retro della scatola con i fili. Chiudi il lembo superiore della scatola con i fili e il gioco è fatto! Ora, se solo potesse controllare la mia posta elettronica. Hmmmm……. Grazie per aver letto questo Instructable! I commenti sono sempre i benvenuti su qualsiasi cosa!

Secondo Premio al Concorso Arduino

Consigliato: