Sommario:

Robot multifunzionale fai-da-te con Arduino: 13 passaggi (con immagini)
Robot multifunzionale fai-da-te con Arduino: 13 passaggi (con immagini)

Video: Robot multifunzionale fai-da-te con Arduino: 13 passaggi (con immagini)

Video: Robot multifunzionale fai-da-te con Arduino: 13 passaggi (con immagini)
Video: Costruiamo una macchinina smart con arduino! || Parte 1 2024, Luglio
Anonim
Robot multifunzionale fai-da-te con Arduino
Robot multifunzionale fai-da-te con Arduino
Robot multifunzionale fai-da-te con Arduino
Robot multifunzionale fai-da-te con Arduino
Robot multifunzionale fai-da-te con Arduino
Robot multifunzionale fai-da-te con Arduino

Questo robot è stato costruito principalmente per comprendere Arduino e combinare vari progetti di Arduino per formare un robot Arduino multifunzionale. E inoltre, chi non vorrebbe avere un robot domestico? Così l'ho chiamato BLUE ROVIER 316. Avrei potuto acquistare un bellissimo telaio cingolato ma realizzarlo da zero ti insegna di più e ti dà più orgoglio dopo averlo completato. Il robot è in grado di comprendere i comandi vocali, rispondere a semplici domande, controllare come un'auto RC e persino evitando gli ostacoli durante lo spostamento. È principalmente controllato tramite un telefono Android collegato tramite Bluetooth. Basato su funzionalità Android come Google Voice Recognition e Tilt sensing, può davvero comportarsi come un robot carino e intelligente. Ho aggiunto BLUE nel suo nome perché si basa principalmente su Bluetooth. In realtà è stato il mio primo progetto Arduino e volevo che fosse unico. Se ti piace il progetto, votami per il contest di robotica!

Passaggio 1: video dimostrativo

Image
Image
Storia di ROVIER
Storia di ROVIER

Puoi guardare la demo del robot su questo sito:

Fase 2: Storia di ROVIER

Storia di ROVIER
Storia di ROVIER

Puoi saltare al passaggio successivo se non vuoi passare attraverso la simpatica storiella di BLUE ROVIER 316. Circa un anno fa, ho ricevuto un Arduino UNO in regalo da mio padre. Dato che era il mio primo passo nel campo di Arduino, volevo creare qualcosa di diverso e unico dai progetti Arduino generali. Doveva essere un robot carino e intelligente in grado di comprendere i comandi vocali e fare molte cose più intelligenti come il controllo remoto, seguire le linee, evitare gli ostacoli e così via. La domanda era come combinarli insieme. E dopo aver navigato in rete per un periodo davvero piacevole, ho concluso che il Bluetooth sarebbe stata la modalità più economica. E così BLUE ROVIER si è messo in moto. Ma si è verificata una situazione in cui ho dovuto escludere molte caratteristiche del robot che mi aspettavo possedesse, principalmente a causa della mancanza di memoria sull'Arduino UNO (anche il minor numero di pin digitali dell'ONU). Non importa, ho proceduto. Mi ci è voluto davvero un buon momento per creare la versione finale del Robot. E così, dopo molte prove e fallimenti, è finalmente nato BLUE ROVIER. E così ora possiamo passare alla realizzazione del robot.

Passaggio 3: componenti e parti

Componenti e parti
Componenti e parti
Componenti e parti
Componenti e parti
Componenti e parti
Componenti e parti

Avrai bisogno solo dei seguenti componenti: 1. Sistema Android 2. Arduino Uno 3. Modulo wtv020-sd-16p e altoparlante da 8ohm4. 2x circuito controller motore L293d 5. 4x motori bo e ruote6. Sensore a ultrasuoni HC SR04 7. 9g servo8. 8 portabatterie AA e batterie 9. micro SD card da 1gb 10. piccolo switch box per chassis.11. Modulo Bluetooth HC 05So che sembra costoso! Ma non preoccuparti, costerà solo circa due o tremila rupie. Parlando di Android, non sarà un gran problema possederne uno perché la maggior parte ce l'ha al giorno d'oggi. Ma avere versioni più recenti (sopra la 5.0) potrebbe aumentare le prestazioni. Prova ad acquistare motori con un numero di giri moderato (da 60 a 100). Ciò aiuterebbe a mantenere sotto controllo la velocità del robot, poiché non è installato nessun altro circuito di controllo della velocità. E 8 batterie aa sono sufficienti per alimentare il robot per un buon momento. E considerando il Bluetooth, HC 05 è adatto al robot perché è abbastanza economico e anche le prestazioni sono eccezionali. La scheda micro SD da 1 GB è necessaria per memorizzare i file vocali che vengono riprodotti quando viene posta una domanda al robot [Discusso in dettaglio nella parte successiva dell'istruttivo]. Gli altri componenti sono discussi in dettaglio nei rispettivi passaggi.

Passiamo ora ad alcune semplici "Teorie" che vengono utilizzate in questo robot.

Passaggio 4: teoria del controllo vocale

Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale
Teoria del controllo vocale

Il robot può comprendere i comandi vocali tramite un telefono Android. Immagino che tutti abbiano familiarità con Google Voice Recognition, la funzione di Android in cui diciamo la parola e Google la digita. La stessa funzione viene utilizzata qui per riconoscere i comandi vocali e convertirli in comandi di testo. L'app qui converte il parlato in testo tramite Google e lo invia al robot tramite Bluetooth. Il robot è programmato per seguire questi comandi ricevuti tramite Bluetooth. È anche in grado di rispondere a un buon numero di domande. Puoi anche aggiungere altri comandi nel codice per far fare al robot alcune cose più fantastiche. Ecco l'applicazione per Android:

Passaggio 5: teoria del controllo gestuale

Teoria del controllo gestuale
Teoria del controllo gestuale
Teoria del controllo gestuale
Teoria del controllo gestuale

Il controllo gestuale o la modalità di controllo del movimento viene eseguito anche tramite Android. In questa modalità, il robot può essere controllato come un'auto RC utilizzando Android come volante. C'è un sensore chiamato "Accelerometro" in tutti gli Android che viene utilizzato in questa modalità. Questo accelerometro può determinare l'angolo a cui è intitolato il telefono misurando le forze di accelerazione che agiscono su Android. È questo sensore che fa ruotare lo schermo di Android quando incliniamo il telefono. L'app qui utilizza l'accelerometro del telefono per determinare l'angolo di inclinazione del telefono. Quindi un carattere (A, B….) viene inviato al robot tramite Bluetooth. L'arduino è programmato per funzionare in base ai dati ricevuti. Se il telefono è inclinato in avanti, viene inviato il carattere A e il robot si sposta in avanti. Quando viene inclinato all'indietro, viene inviato il carattere B e il robot si sposta all'indietro e così via per sinistra e destra. Quando l'Android viene posizionato orizzontalmente, viene inviato il carattere E e il robot smette di muoversi.

Passaggio 6: teoria del controllo Bluetooth

Teoria del controllo Bluetooth
Teoria del controllo Bluetooth
Teoria del controllo Bluetooth
Teoria del controllo Bluetooth

In questa modalità, il robot funziona come un'auto RC generale. Niente di nuovo in questa modalità, è uguale a un'auto telecomandata generale disponibile sul mercato, l'unica differenza è che stiamo usando un'app Android per controllare il robot. Ci sono diversi pulsanti nell'app, ognuno con caratteri diversi ad esso associato. Quando viene toccato un tasto qualsiasi, un personaggio viene inviato al robot tramite Bluetooth, proprio come la modalità di controllo gestuale. Inoltre, gli stessi caratteri vengono inviati quando vengono toccati i rispettivi tasti e il robot segue i caratteri in arrivo. Ho usato i pulsanti 360 e -360 gradi nell'app per far sembrare il robot a destra e a sinistra. Puoi cambiarlo nel codice se vuoi che il robot faccia altre cose.

Passaggio 7: teoria dell'evitamento degli ostacoli

Teoria dell'evitamento degli ostacoli
Teoria dell'evitamento degli ostacoli
Teoria dell'evitamento degli ostacoli
Teoria dell'evitamento degli ostacoli

In questa modalità, il robot funziona come un robot per evitare ostacoli, impedendo a se stesso di scontrarsi con qualsiasi oggetto. Questo viene fatto con il sensore HC SR04. Immagino che tu conosca SONAR (Sound Navigation And Ranging). Il sensore HC SR04 emette continuamente onde sonore ultrasoniche. Queste onde vengono rimbalzate dopo aver colpito una superficie solida e tornano al sensore. Viene registrato il tempo impiegato dalle onde per tornare al sensore. Poiché il suono viaggia a circa 340 m/s e sappiamo che VELOCITÀ × TEMPO = DISTANZA, possiamo determinare la distanza avanti. Ad esempio, se il suono impiega 2 secondi per tornare indietro, possiamo determinare la distanza attraverso la formula precedente cioè 340 × 2 = 680 m. Questo è il modo in cui il robot può misurare la distanza davanti a sé attraverso il sensore. Durante il movimento, il robot misura continuamente la distanza davanti a sé attraverso il sensore. Se rileva che lo spazio libero davanti a sé è inferiore a 30 cm, smette di muoversi. Quindi guarda a destra e a sinistra e confronta la distanza di ciascun lato. Se il lato sinistro ha una distanza maggiore, il robot gira a sinistra. Altrimenti, se il lato destro è maggiore, il robot gira a destra. Se entrambi i lati hanno distanze uguali, il robot torna indietro. Questo semplice meccanismo aiuta il robot ad evitare gli ostacoli.

Passaggio 8: assemblaggio del telaio

Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio
Assemblaggio del telaio

Realizzando il telaio da soli, devi stare molto attento alle misure e agli allineamenti. Ho scelto di farlo perché non riuscivo a trovarne uno in rete che mi soddisfacesse. Come chassis viene utilizzato un quadro elettrico generale utilizzato per scopi di alimentazione. Immagino che tu possa facilmente acquistarne uno da un negozio di elettrodomestici. Per prima cosa, fissa i quattro motori nella parte inferiore con della colla o dei morsetti e poi fissa le ruote. Quindi devi realizzare la testa del robot (il servo e il sensore HC SR04). Per la testa, taglia un piccolo pezzo di perfboard e fissalo al servo tramite una vite. Quindi attaccare il sensore a ultrasuoni alla perfboard con un po' di colla. Taglia un piccolo foro quadrato nella parte superiore della scatola e fissa il servo al suo interno. Quindi fissare il supporto della batteria sul retro del robot tramite una vite. Metti i circuiti e gli altri componenti all'interno della scatola e il tuo telaio è pronto. Non dimenticare di praticare dei fori davanti all'altoparlante per far uscire il suono e produrre una qualità migliore.

Passaggio 9: preparazione del modulo vocale

Preparazione del modulo vocale
Preparazione del modulo vocale
Preparazione del modulo vocale
Preparazione del modulo vocale
Preparazione del modulo vocale
Preparazione del modulo vocale

La modalità parlante del robot è soddisfatta dal modulo WTV 020 SD. Il modulo viene utilizzato per riprodurre file vocali per il robot. Quando viene posta una domanda, l'arduino farà riprodurre al modulo il rispettivo file vocale nella scheda SD. Ci sono quattro linee dati seriali sul modulo per comunicare con l'arduino, il reset, l'orologio, i dati e i pin occupati. Ricorda che i nomi dei file devono essere in decimale (0001, 0002…). E che i file dovrebbero essere in formato AD4 o WAV. Inoltre il modulo funziona solo su una scheda micro SD da 1 GB. Alcuni moduli funzionano anche su schede da 2 GB e la scheda può contenere un massimo di 504 file vocali. Quindi puoi includere un buon numero di file vocali da riprodurre per un buon numero di domande. Puoi persino creare i tuoi file AD4 vocali (puoi saltare questa parte se puoi regolare con i file vocali forniti insieme a questo instructable)., è necessario disporre di due software, un software di editing audio e un software chiamato 4D SOMO TOOL che converte i file nel formato AD4. In secondo luogo, devi preparare le voci del robot. Puoi convertire il testo in parlato o persino registrare la tua voce e creare le voci del robot. Entrambe queste operazioni possono essere eseguite nel software di editing audio. Ma sicuramente, i robot non hanno un bell'aspetto se parlano con voci umane. Quindi dovrebbe essere meglio convertire il testo in parlato. Ci sono vari motori come Microsoft Anna e Microsoft Sam Your Computer che ti aiuteranno a farlo. Dopo aver preparato i file vocali, devi salvarli a 32000 Hz e nel formato WAV. Questo perché il modulo può riprodurre file vocali fino a 32000 Hz. Quindi utilizzare il 4D SOMO TOOL per convertire i file nel formato AD4. Per fare ciò, apri semplicemente SOMO TOOL, seleziona i file e fai clic su AD4 Encode e i tuoi file vocali sono pronti. Puoi controllare l'immagine sopra come riferimento. Se desideri ulteriori dettagli sulla creazione di voci robotiche, puoi andare qui:

[Making Robotic Voices]Ecco i file vocali originali e il software:

Passaggio 10: effettuare i collegamenti

Fare i collegamenti
Fare i collegamenti
Fare i collegamenti
Fare i collegamenti
Fare i collegamenti
Fare i collegamenti

Cortocircuitare tutti i pin Vcc dei rispettivi moduli e collegarlo al pin 5v sull'arduino. Fai lo stesso per i pin di terra. Ecco le connessioni dei diversi moduli. Modulo HC 05: pin RX a pin arduino dig 0.pin TX a pin arduino dig 1. HC sensore SR04: pin Echo a pin arduino dig 6. pin Trig a pin arduino dig 7WTV020-SD module: pin1 (reset pin) per arduino dig pin2.pin4 per altoparlante +pin5 per altoparlante -pin7 (clock) per arduino dig pin3.pin8 per gnd.pin10 (dati) per arduino dig pin4.pin15 (occupato) per arduino dig pin5.pin16 a 3.3vQuindi, collegare il cavo del segnale servo (giallo) e scavare il pin 12. L293d controller del motore: pin A1 a arduino dig pin 8.pin A2 a arduino dig pin 9.pin B1 a arduino dig pin 10.pin B2 a arduino dig pin 11. Ricorda che in questo robot stiamo usando due moduli L293d. Questo perché un modulo ha la capacità di alimentare fino a due motori. Per controllare quattro motori, utilizziamo due driver per motore. Quindi ricordarsi di effettuare collegamenti duplicati su entrambi i moduli del controller del motore. Ad esempio, collegare il pin 8 di Arduino al pin A1 di entrambi i moduli driver. Non dimenticare di collegare l'uscita di un modulo su due motori e l'altro modulo sugli altri due motori. Controllare lo schema per ulteriori riferimenti.

Passaggio 11: il codice Arduino

Il codice Arduino
Il codice Arduino
Il codice Arduino
Il codice Arduino

È stato un momento emozionante creare il codice. Non è affatto un codice complicato, utilizza solo alcune librerie per comunicare con Android e il modulo audio. La maggior parte del lavoro viene svolto in Android e non in Arduino. Il codice si basa sulla comunicazione Bluetooth e sui dati in arrivo dal Bluetooth. Il codice è fatto in modo tale che dobbiamo dare comandi vocali al robot per eseguire le diverse modalità e Arduino controlla continuamente i segnali Bluetooth in arrivo. Per interrompere qualsiasi modalità, dobbiamo solo dire "stop". L'unico problema con il codice è che dobbiamo spegnere manualmente il robot quando è in modalità di evitamento degli ostacoli. Non possiamo usare il comando "stop" in questa modalità. Questo perché l'attivazione di questa funzione influisce sulla velocità di scansione della distanza degli oggetti. L'Arduino dovrà leggere contemporaneamente sia la distanza di un oggetto che i segnali Bluetooth in ingresso. Ciò interferisce con la modalità e il robot non riesce a proteggersi completamente dagli ostacoli. Il robot potrebbe non arrestarsi istantaneamente anche se la distanza da percorrere è inferiore a 30 cm. Quindi sarebbe bene non includere questa funzione in questa modalità. Basta scaricare le librerie e il codice e caricarlo su Arduino. Ma non dimenticare di estrarre i pin TX e RX (0, 1) da Arduino prima del caricamento. Questi pin sono utilizzati per la comunicazione seriale e sono in uso durante il caricamento del codice. E in questo robot, questi pin vengono utilizzati per collegare il modulo Bluetooth. Quindi ricordati di toglierli altrimenti potrebbe ostacolare il tuo modulo Bluetooth. Ecco il codice e le librerie:

Passaggio 12: risolvere i problemi e apportare miglioramenti

Risolvere i problemi e apportare miglioramenti
Risolvere i problemi e apportare miglioramenti

Puoi saltare questo passaggio perché si tratta solo di miglioramenti del robot. Molti problemi sorgono nel modulo WTV-020-SD-16p, per quanto riguarda la capacità della scheda di memoria. Questo perché alcuni moduli funzionano su schede da 2 GB mentre altri no. Quindi è meglio usare una scheda micro SD da 1 GB. Non ci sarebbero molti problemi nell'usare versioni diverse dei componenti. Si possono citare le diverse versioni del modulo wtv 020 sd. Questo perché esiste solo una differenza di imballaggio tra i moduli, mentre la maggior parte delle altre cose interne rimangono le stesse. Un'altra cosa importante, l'utilizzo di un PCB per il robot aiuterà a ridurre notevolmente il consumo di corrente. Se stai collegando i diversi componenti come me, ti costerebbe un po' di corrente perché una buona parte andrà persa nei fili, avendo un'alta resistenza. Questo perché il circuito è abbastanza grande. Questo instructable non include la progettazione di un PCB (perché non ne ho fatto uno) ma può aumentare l'efficienza energetica del robot. Ma BLUE ROVIER 316 non è ancora finito! Ho pensato di includere alcune funzionalità in più come seguire le linee, risolvere labirinti e molte altre cose. Ma è rimasto un sogno a causa della mancanza di pin sull'Arduino UNO (BLUE ROVIER mangia davvero molti pin dell'Arduino). Quindi penso di migliorare tutte le caratteristiche di questo robot e combinarle insieme per formare un Arduino Robot più sofisticato e utile. Quindi preparatevi a vedere la vista modificata di ROVIER in pochi mesi!!! Vorrei anche vedere altre versioni modificate del robot da altre persone che possiedono più creatività della mia!!!!

Passaggio 13: giocare con il robot

Giocare con il Robot
Giocare con il Robot

Accendi il robot e guarda come ti saluta, gioca con te. Fai qualsiasi domanda (non stupida!) e guarda la risposta. Puoi dire di seguire le linee o di andare avanti. Basta dire "stop" quando vuoi fermare il robot.

Concorso Robotica 2017
Concorso Robotica 2017
Concorso Robotica 2017
Concorso Robotica 2017

Secondo classificato al concorso di robotica 2017

Consigliato: