Sommario:
- Passaggio 1: elenco delle parti e stampa 3D
- Passaggio 2: assemblaggio
- Passaggio 3: programmazione
- Passaggio 4: suggerimenti e trucchi bonus
Video: ARCA (Adorable Remote Controlled Android): 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo istruttivo è stato creato in adempimento del requisito del progetto del Makecourse presso la University of South Florida (www.makecourse.com).
ARCA è un adorabile Android telecomandato che è incredibilmente divertente da costruire e con cui giocare. L'obiettivo di questo progetto era creare qualcosa che chiunque potesse capire e con cui relazionarsi creando un robot che fosse sia adorabile che funzionale.
Il robot funziona visualizzando diverse emozioni su una matrice di 8 per 8 LED, queste emozioni includono gioia, sonno, amore, rabbia, stupidità e guardare in alto, a sinistra e a destra. Il robot funziona anche come un'auto RC e può andare avanti e girare a sinistra oa destra. Il robot va avanti attivando entrambi i motori delle ruote, gira a sinistra accendendo il motore destro e gira a destra accendendo il motore sinistro. Il design è molto semplicistico ma funziona e volevo concentrarmi molto sulla programmazione di Arduino poiché sono un programmatore nel cuore.
Le ultime versioni di tutti i file utilizzati in questo tutorial possono essere trovate sul mio Github ARCA Repository.
Passaggio 1: elenco delle parti e stampa 3D
Le parti per questo progetto possono essere stampate in 3D o acquistate online. Quando si pensa all'assemblaggio, volevo rendere l'efficienza fondamentale e anche cercare di non reinventare (letteralmente) la ruota. La stampante 3D utilizzata per questo progetto era un Makerbot Replicator, se vuoi assicurarti che le tue stampe 3D siano coerenti con le mie, usa questa stampante.
Componenti strutturali
- Scatola con fori ai lati per le ruote e i bracci
- Coperchio della scatola con fori per le ruote posteriori e un foro per il sensore IR
- Braccio sinistro
- Braccio destro
- Asse per le due ruote posteriori
- due connettori dell'asse per collegare il coperchio all'asse
- 4 ruote (motori inclusi anche in questo link)
- Viti piccole (da inserire nei motori)
Componenti elettrici
- Arduino Uno
- Piccola breadboard (ho comprato il kit Arduino ed è arrivato con esso)
- Due matrici Red Dot MAX7219 con controllo MCU
- Ricevitore a infrarossi e telecomando
- Due transistor TIP 120
- Cavi di collegamento (ho usato molti cavi maschio-femmina e maschio-maschio, e consiglio di prendere cavi lunghi anziché corti)
- una resistenza da 220 ohm
- Due motoriduttori
- Alimentatori collegabili USB (quelli portatili usati per i telefoni cellulari)
Passaggio 2: assemblaggio
Assemblaggio strutturale
Le parti stampate in 3D avranno probabilmente bisogno di un po' di pulizia e consiglio di carteggiarle con una grana fine e di usare acetone (solvente per unghie) per rimuovere eventuali residui di colla utilizzati nel processo di stampa 3D. Alcune parti potrebbero non adattarsi perfettamente, ed è stato necessario per me levigare l'asse per essere perfettamente rotondo e passare correttamente attraverso i fori.
Le ruote necessitano di qualche leggera regolazione, hanno bisogno di essere forate di più per adattarsi alle dimensioni dell'asse nella parte posteriore e delle viti nella parte anteriore. Utilizzare una punta da trapano da 6 mm per praticare i fori nelle ruote per eseguire fori più grandi nelle ruote.
Per questo assemblaggio ho usato una varietà di colle, ma ho scoperto che il cemento liquido (colla per modellare) era il migliore per la tenuta nonostante un lungo tempo di asciugatura, ma la resina epossidica era la migliore per le cose che devi asciugare rapidamente e tenere bene, nonostante sia disordinato.
Il resto dell'assemblaggio è piuttosto semplice:
- Fissare i supporti dell'asse sul retro del coperchio della scatola, usando la resina epossidica per sigillare
- Far scorrere l'asse attraverso i supporti dell'asse
- Incolla le ruote all'asse usando cemento liquido
- Metti i bracci attraverso i fori superiori e incollali al supporto del braccio usando resina epossidica
- Avvitare il coperchio della scatola nella scatola
- Usa del nastro isolante sul fondo della scatola dove sono le ruote
Assemblaggio elettrico
Le ruote anteriori sono fissate direttamente ai motori e devi utilizzare una piccola vite nel motore per renderlo abbastanza lungo da passare attraverso il foro nel robot su ciascun lato. Dovrebbe esserci un piccolo foro nel perno rotante del motore e puoi avvitare la vite lì e incollare la testa della vite nella ruota dopo aver spinto la vite attraverso il foro nella scatola.
Il retro della mia breadboard aveva un supporto appiccicoso, ma puoi usare del nastro isolante per farlo aderire se il tuo non lo fa. Il nastro isolante è stato utilizzato anche per fissare i componenti elettrici non presenti nella scheda, per motivi di sicurezza. Gli MCU con i display a LED sono stati fissati sul retro delle orbite con nastro isolante e anche i motori sono stati fissati ai lati della scatola vicino ai fori utilizzando nastro isolante. Ho usato del nastro isolante rosso per renderlo più invisibile, per ogni evenienza, e consiglio di usare un nastro isolante con un colore simile alla tua versione di ARCA.
La breadboard e i pin sono impostati come questa immagine di Fritzing. Se vuoi aggiungere altro a questo diagramma per personalizzare ARCA, puoi scaricare il file Fritzing nel mio repository Github e modificarlo a tuo piacimento.
Ho attaccato i fili agli anelli dei motoriduttori piegando i fili attorno agli anelli, per tenerli attaccati. Probabilmente sarebbe un'idea migliore saldare queste connessioni se hai accesso al saldatore, ma questa è una soluzione facile se non ne hai uno.
L'alimentatore è collegato allo stesso cavo utilizzato per collegare Arduino al computer per scaricare il programma, e questo è semplicemente allentato nel robot in modo che possa essere facilmente rimosso e caricato.
Passaggio 3: programmazione
Ecco il codice che puoi caricare sul tuo ARCA per farlo funzionare esattamente come il mio, hai anche bisogno delle seguenti due librerie per usare il codice.
Per motivi di chiarezza e personalizzazione, tuttavia, ti guiderò attraverso il mio codice. Sentiti libero di saltare questo passaggio se non stai personalizzando il tuo robot o non hai intenzione di cambiare le emozioni.
Innanzitutto, includo due librerie da utilizzare nel mio codice, consentendomi di utilizzare le funzioni e gli oggetti di queste librerie. Sto anche definendo i miei pin qui. Se hai deciso di rendere i tuoi pin diversi dalla mia configurazione nel passaggio precedente, apporta le modifiche al tuo codice qui con i pin corretti.
Successivamente, ho definito le emozioni, dichiarato gli oggetti necessari per il sensore IR e i display a LED 8 per 8 e definito alcune variabili globali. Le emozioni sono dichiarate in un array di byte, dove ciascuno dei numeri esadecimali nell'array rappresenta le righe nel display 8 per 8 risultante. Per creare le tue emozioni personalizzate, ti consiglio di disegnare l'emozione che volevi in una griglia 8 per 8, quindi scrivere ogni riga numero binario a 8 bit in cui la luce spenta è uno 0 e la luce accesa è un 1, quindi creare un numero esadecimale da quello e inserirlo in un array di lunghezza 8. Ho anche definito alcune variabili globali da usare nel ciclo; le variabili per il meccanismo di lampeggiamento e i puntatori per memorizzare le emozioni e impostarle per iniziare in posizione neutra.
Ora arriviamo al ciclo di configurazione, dove accendo il monitoraggio seriale per motivi di test, e questo dovrebbe essere utile per testare il tuo codice con diversi telecomandi IR. Quindi, ho inizializzato gli oggetti dell'occhio sinistro e destro utilizzando le funzioni della libreria di controllo dei LED. Ho anche impostato i pin del motoriduttore in uscita e ho avviato il ricevitore IR.
Nel ciclo, essenzialmente attende che il segnale IR cambi lo status quo del robot. Quindi, se viene ricevuto un segnale IR e corrisponde a uno dei codici di un pulsante specifico, viene attivata l'istruzione if e imposta i valori dell'occhio sinistro e dell'occhio destro di conseguenza per le emozioni. Se viene premuto un pulsante di movimento, come sinistra, destra, avanti e OK, i pin vengono scritti digitalmente per essere attivati o disattivati a seconda del pulsante premuto. Solo una nota sui codici del ricevitore IR: c'è un codice di esempio nella libreria del telecomando IR che ti darà i codici esadecimali per il tuo telecomando, se non succede nulla quando premi i pulsanti, apri questo programma per assicurarti che i codici siano corretti. Tutto quello che devi fare è cambiare il numero esadecimale che accompagna ogni pulsante.
Infine, hai la funzione che stampa le emozioni sui display 8x8. Questo utilizza le funzioni setRow dalla libreria di controllo LED e passa semplicemente attraverso gli array che hai creato e imposta le righe di conseguenza. Prende due parametri: l'array per l'occhio sinistro e l'array per l'occhio destro. Questo potrebbe essere un puntatore di byte o un array di byte stesso (ovvero il nome "neutro") che agisce come un puntatore.
Passaggio 4: suggerimenti e trucchi bonus
C'è stato sicuramente molto che ho imparato durante questo progetto e volevo condividere alcuni suggerimenti aggiuntivi qui che si applicano sia a questo progetto che ad altri progetti che utilizzano un Arduino.
- Esistono molte risorse online per Arduino e la più utile secondo me proviene dal sito Web di Arduino grazie ai loro esempi di codice chiari e concisi.
- Non reinventare la ruota, ci sono molti kit e pezzi prefabbricati che puoi usare per rendere più semplice il tuo progetto. Sono un programmatore e non un ingegnere meccanico e ho avuto difficoltà a capire come far funzionare questo robot, ma è stato facile trovare qualcosa da acquistare online e implementarlo nel mio progetto invece di reinventare letteralmente il ruota
- Le librerie sono tue amiche in Arduino così come in tutti i linguaggi orientati agli oggetti ed esistono per un motivo. Abbinalo ai microcontrollori e programmare un LED 8 per 8 è semplice. Ne ho già programmato uno a mano in precedenza e solo uno utilizza quasi tutti i pin di Arduino e richiede una tonnellata di codice. Molto disordinato e non molto divertente.
- Le stampanti 3D sono belle ma non perfette e va bene dover levigare alcune cose. Preferisci andare più grande quando stampi in 3D per questo motivo perché nella maggior parte dei casi puoi carteggiarlo un po' per ottenere una vestibilità perfetta.
- L'alimentazione può essere un problema perché ho pensato al consumo di energia davvero all'ultimo minuto e ho pensato che una batteria da 5 V avrebbe funzionato. Quindi, apparentemente casualmente, a volte un motore o un display a LED non funzionerebbero. Una volta aggiornato al power pack non ci sono stati più problemi, nonostante fosse più ingombrante all'interno del robot.
Consigliato:
Come creare un'app Android con Android Studio: 8 passaggi (con immagini)
Come creare un'app Android con Android Studio: questo tutorial ti insegnerà le basi su come creare un'app Android utilizzando l'ambiente di sviluppo Android Studio. Man mano che i dispositivi Android diventano sempre più comuni, la domanda di nuove app non farà che aumentare. Android Studio è un facile da usare (un
Walking Strandbeest, Java/Python e App Controlled: 4 passaggi (con immagini)
Walking Strandbeest, Java/Python e App Controlled: questo kit Strandbeest è un lavoro fai-da-te basato sullo Strandbeest inventato da Theo Jansen. Stupito dal geniale design meccanico, voglio dotarlo di piena manovrabilità e, in secondo luogo, di intelligenza del computer. In questo istruibile, lavoriamo sul primo pa
Slip on Amazon Fire Remote TV Remote: 3 passaggi (con immagini)
Slip on Amazon Fire Remote TV Remote: Oh Amazon, la tua Fire TV è così sorprendente, perché non ci hai dato i controlli del volume sul tuo telecomando? Bene, per meno di $ 5 su Amazon, puoi acquistare questo simpatico telecomando, alimentazione, muto , volume e canale tutto in un piccolo pacchetto. Entra nella stampante 3d e
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio
Add-on WebApp Controlled Gate Operator (IoT): 20 passaggi (con immagini)
WebApp Controlled Gate Operator Add-on (IoT): ho un cliente che aveva un'area recintata in cui molte persone dovevano entrare e uscire. Non volevano usare una tastiera all'esterno e avevano solo un numero limitato di trasmettitori. Trovare una fonte conveniente per ulteriori telecomandi è stato difficile. IO