- Materiali richiesti:
- Stampa 3D delle parti richieste:
- Hardware e schemi:
- Assemblaggio del robot:
- Programmazione di Arduino per Biped Robot:
- Applicazione Android basata sull'elaborazione:
- Funzionamento del robot bipede controllato Bluetooth:
Benvenuti in un altro progetto in cui costruiremo un piccolo Robot che può camminare e ballare. Il progetto mira a insegnarti come realizzare piccoli robot per hobby usando Arduino e come programmare i tuoi servomotori per tali applicazioni. Alla fine del progetto sarai in grado di realizzare questo robot che cammina e balla che prende il comando da un cellulare Android per eseguire alcune azioni predefinite. È inoltre possibile utilizzare il programma (fornito alla fine del tutorial) per manipolare facilmente le azioni del proprio robot controllando la posizione dei servomotori utilizzando il monitor seriale. Avere una stampante 3D renderà questo progetto più interessante e avrà un aspetto interessante. Ma, se non ne hai uno, puoi utilizzare uno qualsiasi dei servizi online o semplicemente usare del cartone per costruire lo stesso.
Materiali richiesti:
I seguenti sono i materiali necessari per costruire questo robot:
- Arduino nano
- Servo SG90 - 4Nos
- Bastoncini di berg maschio
- Modulo Bluetooth HC-05 / HC-06
- stampante 3d
Come puoi vedere, questo robot stampato in 3D richiede parti elettroniche minime da costruire per mantenere il costo del progetto il più basso possibile. Questo progetto è solo a scopo concettuale e divertente e finora non ha alcuna applicazione in tempo reale.
Stampa 3D delle parti richieste:
La stampa 3D è uno strumento straordinario che può contribuire molto quando si costruiscono progetti prototipo o si sperimentano nuovi progetti meccanici. Se non hai ancora scoperto i vantaggi di una stampante 3D o come funziona puoi leggere La Guida per principianti alla stampa 3D.
In questo progetto il corpo del Robot mostrato sopra è completamente stampato in 3D. Puoi scaricare i file STL da qui. Carica questi file sul tuo software di stampa 3D come Cura e stampali direttamente. Ho usato una mia stampante di base per stampare tutte le parti. La stampante è FABX v1 di 3ding che ha un prezzo accessibile con un volume di stampa di 10 cm cubi. Il prezzo economico viene fornito con un compromesso con una bassa risoluzione di stampa e nessuna scheda SD o funzione di ripresa della stampa. Sto usando un software chiamato Cura per stampare i file STL. Le impostazioni che ho usato per stampare i materiali sono riportate di seguito che puoi utilizzare le stesse o modificarle in base alla tua stampante.
Una volta stampate tutte le parti, pulire i supporti (se presenti) e quindi assicurarsi che i fori sulla parte della gamba e della pancia siano abbastanza grandi da contenere una vite. In caso contrario, usa un ago per allargare leggermente il foro. Le tue parti stampate in 3D appariranno come qualcosa sotto.
Hardware e schemi:
L'hardware per questo robot Arduino bipede controllato da telefono cellulare è davvero semplice. Lo schema completo è mostrato nell'immagine sottostante
Ho usato una scheda Perf per effettuare i collegamenti di cui sopra. Assicurati che il tuo circuito si adatti anche alla testa del robot. Una volta che la tua scheda Perf è pronta, dovrebbe assomigliare a sotto.
Assemblaggio del robot:
Una volta che l'hardware e le parti stampate in 3D sono pronte, possiamo assemblare il robot. Prima di fissare i motori, assicurarsi di posizionare i motori negli angoli sottostanti in modo che il programma funzioni perfettamente.
Numero motore |
Posto motore |
Posizione del motore |
1 |
Motore dell'anca sinistra |
110 |
2 |
Motore dell'anca destra |
100 |
4 |
Motore della caviglia destra |
90 |
5 |
Motore dell'anca destra |
80 |
Questi angoli possono essere impostati utilizzando il programma fornito alla fine del tutorial. Carica semplicemente il programma sul tuo Arduino dopo aver effettuato i collegamenti di cui sopra e digita quanto segue nel monitor seriale (Nota: il baud rate è 57600).
1, 100, 110
2.90.100
4,80,90
5,70,80
Il tuo monitor seriale dovrebbe assomigliare a questo dopo aver posizionato tutti i tuoi motori.
Una volta che i motori sono stati impostati negli angoli corrispondenti, montarli come mostrato nella figura sopra.
Se sei confuso su come assemblare i motori segui il video alla fine di questo tutorial. Una volta assemblato il robot, è il momento di programmare il nostro robot ballerino
Programmazione di Arduino per Biped Robot:
La programmazione del robot BBB ( Bluetooth Biped Bob ) è la parte più interessante e divertente di questo tutorial. Se sei molto bravo nella programmazione di servomotori con Arduino, ti consiglio di creare il tuo programma. Tuttavia, se vuoi imparare a usare i servomotori per applicazioni robotiche come questa, allora questo programma ti sarà molto utile. Puoi saperne di più sulla programmazione arduino nella nostra categoria progetti arduino.
Il programma completo è fornito alla fine di questo tutorial, oppure puoi scaricare il codice completo da qui. Spiegherò i segmenti dello stesso di seguito. Il programma è in grado di controllare le azioni dei robot tramite monitor seriale o Bluetooth. Puoi anche fare le tue mosse controllando ogni singolo motore usando il monitor seriale.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Le righe di codice sopra vengono utilizzate per indicare quale servomotore è collegato a quale pin di Arduino. Qui nel nostro caso i Servo 1,2,4 e 5 sono collegati rispettivamente ai pin 3,5,9 e 10.
Bot_BT.begin (9600); // avvia la comunicazione Bluetooth a 9600 baudrate Serial.begin (57600);
Come detto in precedenza il nostro robot ambulante può funzionare su comandi Bluetooth e anche da comandi dal monitor seriale. Quindi la comunicazione seriale Bluetooth funziona con un Baud Rate di 9600 e la comunicazione seriale funziona con Baud Rate di 57600. Il nome del nostro oggetto Bluetooth qui è "Bot_BT".
switch (motore) {caso 1: // Per il motore uno {Serial.println ("Esecuzione del motore uno"); se (num1
La custodia dell'interruttore mostrata sopra viene utilizzata per controllare i servomotori individualmente. Questo ti aiuterà a fare le tue mosse creative con il tuo robot. Con questo segmento di codice puoi semplicemente dire il numero del motore, dall'angolo e dall'angolo per far muovere un particolare motore in una posizione desiderata.
Ad esempio, se vogliamo spostare il motore numero 1 che è il motore dell'anca sinistra dalla sua posizione predefinita di 110 gradi a 60 gradi. Possiamo semplicemente scrivere "1,110,60" nel monitor seriale di Arduino e premere invio. Questo ti tornerà utile per fare le tue mosse complesse con il tuo robot. Una volta che hai sperimentato tutto da angelo e ad angolo puoi quindi fare le tue mosse e ripeterle facendole come una funzione.
if (Serial.available ()> 0) // Leggi cosa arriva tramite Serial {gmotor = Serial.parseInt (); Serial.print ("numero selezionato->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("grado,"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("grado"); flag = 1; }
Se è disponibile un dato seriale, il numero prima del primo "," è considerato come gmotor e quindi il numero prima del secondo "," è considerato come gnum1 e il numero dopo il secondo "," è considerato come gnum2.
if (Bot_BT.available ()) // Leggi cosa arriva tramite Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("In arrivo da BT:"); Serial.println (BluetoothData); }
Se il Bluetooth riceve delle informazioni, le informazioni ricevute vengono memorizzate nella variabile "BluetoothData". Questa variabile viene quindi confrontata con i valori predefiniti per eseguire una particolare azione.
if (flag == 1) chiama (gmotor, gnum1, gnum2); // chiama il rispettivo motore per l'azione // Esegue le funzioni secondo il comando ricevuto tramite il monitor seriale o Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Qui è dove vengono chiamate le funzioni in base ai valori ricevuti dal monitor seriale o dal Bluetooth. Come mostrato sopra la variabile gmotor avrà il valore di monitor seriale e BluetoothData avrà il valore da dispositivo Bluetooth. I numeri 10,11,12 fino a 53,54 sono numeri predefiniti.
Ad esempio, se inserisci il numero 49 nel monitor seriale. La funzione say_hi () verrà eseguita in cui il robot ti saluterà.
Tutte le funzioni sono definite all'interno della pagina “Bot_Functions”. Puoi aprirlo e vedere cosa succede effettivamente all'interno di ciascuna funzione. Tutte queste funzioni sono state create sperimentando l'angelo e l'angelo di ogni motore utilizzando il caso dell'interruttore spiegato sopra. Se hai qualche dubbio puoi utilizzare la sezione commenti per pubblicarli e sarò felice di aiutarti.
Applicazione Android basata sull'elaborazione:
L'applicazione Android per controllare il Robot è stata realizzata utilizzando la modalità Processing Android. Se vuoi apportare alcune modifiche all'Applicazione puoi scaricare il programma completo di Processing da qui.
Se vuoi semplicemente utilizzare l'applicazione puoi scaricarla da qui come file APK e installarla direttamente sul tuo cellulare.
Nota: il tuo modulo Bluetooth dovrebbe essere denominato HC-06 altrimenti l'applicazione non sarà in grado di connettersi al tuo modulo Bluetooth.
Una volta installata l'applicazione, puoi accoppiare il modulo Bluetooth con il tuo telefono e quindi avviare l'applicazione. Dovrebbe assomigliare a questo sotto.
Se vuoi rendere la tua app più attraente o connetterti a qualsiasi altro dispositivo diverso da Hc-06. È possibile utilizzare il codice di elaborazione e apportare alcune modifiche, quindi caricare il codice direttamente sul telefono.
Funzionamento del robot bipede controllato Bluetooth:
Una volta che l'hardware, l'applicazione Android e lo schizzo di Arduino sono pronti, è tempo di divertirti con il nostro robot. È possibile controllare il robot dall'applicazione Bluetooth utilizzando i pulsanti nell'applicazione o direttamente dal monitor seriale utilizzando uno dei seguenti comandi come mostrato nell'immagine sottostante.
Ogni comando farà eseguire al robot alcuni compiti peculiari e potrai anche aggiungere più azioni in base alla tua creatività.
Il Robot può anche essere alimentato da un adattatore 12V o può anche essere alimentato utilizzando una batteria da 9V. Questa batteria può essere facilmente posizionata sotto la scheda Perf e può anche essere ricoperta con la testa del robot.
Il funzionamento completo di questo robot controllato da smartphone può essere trovato nel video qui sotto.