Si può usare una scatola da scarpe come robot, dargli vita con un Arduino Nano e prenderne il controllo con un'applicazione fatta tramite App Inventor? Certo, ma la domanda giusta è: perché usare una scatola da scarpe? Perché usare un'applicazione Android? In questo primo articolo-tutorial ho il piacere di condividere tutto il necessario per dare vita a quello che può essere non solo un progetto per imparare a programmare Arduino, ma anche un giocattolo dal costo contenuto e altamente personalizzabile.
Cosa dovrebbe spingere una persona ad usare una scatola da scarpe da impiegare come chassis per un robot e guidarlo con un cellulare Android, o meglio detto, con un'applicazione per cellulari Android fatta con App Inventor? Il motivo è legato a una parola chiave: economia. Chi ha il desiderio di creare un robot, semplice o complesso che sia, si sarà sicuramente imbattuto nei costi non certamente ridotti che si devono affrontare nell'acquisto di uno chassis. Sia esso un semplice rover oppure un robot umanoide, i costi non sono affatto bassi: c'è un altro fattore a dire il vero che non si prende quasi mai in considerazione, ovvero la personalizzazione.
Una scatola da scarpe: a dire il vero si parla di robot cardboard
Dicevo prima che uno degli aspetti che mi ha portato a offrire questa soluzione è l'economia, ma è più giusto dire che si tratta di un universo a sè stante: i robot cardboard.
L'immagine di fronte a noi è un classico esempio di robot "cardboard", ovvero un robot di cartone, letteralmente.
I robot di cartone, a livello di chassis quindi di "carrozzeria" per così dire, sono un trend che si è presentato sempre più in questi anni non solo per economia, ma anche perché è molto molto facile personalizzarli a seconda dei propri gusti!
E di fatto, specialmente per i genitori che mi stanno leggendo, arriviamo al primo punto del "perchè una scatola da scarpe":
Una scatola da scarpe non solo è economica, ma anche facile da reperire in casa vostra. Senza togliere il fatto che potete colorarla, aggiungerle tutti i dettagli che volete a seconda dei gusti dei vostri figli 😉
Arrivati a questo punto, è giusto introdurre il progetto dal punto di vista circuitale.
Il nostro robot con Arduino: oltre alla scatola ci sono i componenti
Il robot, di base, permette di muoversi grazie a due motori in corrente continua gestiti da Arduino e altri componenti che vi elenco qui di seguito:
- Arduino Nano con header già saldati e cavo USB incluso: Amazon
- Mini-breadboard da 170 punti: Amazon
- HC-05 modulo Bluetooth con header già saldati: Amazon
- Connettore batteria 9V: Amazon
- Driver L298N: Amazon
- Motori DC con ruote e cavi già saldati: Amazon (purtroppo c'è "solo" il kit da 4 ruote)
- Resistenze: ne basterebbe una da 1,2 kOhm e una da 2,2 kOhm, ma si trovano solamente kit che offrono vari valori
- Jumper: anche qui un kit non guasta mai 😉
Considerato il costo che possono avere due resistenze e qualche jumper, arriviamo ad una spesa di circa 45€ che può sembrare di primo acchito alta: non lo è.
Tutto il necessario per dare vita alla nostra scatola da scarpe robot è in realtà ri-utilizzabile per altri progetti, a partire da Arduino stesso. Di conseguenza non state spendendo per dare vita SOLO ad un giocattolo, ma avrete componenti che potrete utilizzare anche in altri contesti!
Arrivati a questo punto, cerchiamo di capire il circuito come sarà composto e qual è il ruolo di tutti questi componenti.
Il circuito del nostro robot-scatola
Non c'è robot senza circuito elettrico, giusto? Di fatto è quello che scopriremo adesso.
Questa immagine è in realtà una rappresentazione molto molto "spartana" di quello che è effettivamente il robot stesso. Non è un circuito complesso, non richiede particolare esperienza e soprattutto... C'è tanto spazio per aggiungere altre potenzialità e componenti se lo si desidera!
Non richiede tanta esperienza dicevo prima, tant'è che il mio progetto di maturità, nonché primo articolo che ho scritto per Elettronica Open Source, ma è giusto dare una forma più comprensibile al circuito.
Questo è il circuito fatto e finito del nostro robot. Se ti stessi chiedendo quale sia il software che uso per poter realizzare schemi come questo che vedi, si tratta di Fritzing. Torna molto comodo per mostrare circuiti: di fatto, lo uso all'interno di Makers Academy, la piattaforma online dove offro anche un corso su Arduino se volessi scoprirlo!
Se non avessi installato Fritzing non devi assolutamente preoccuparti. Qua sotto, potrai scaricare un file ".zip" che contiene il circuito in formato immagine, Fritzing e PDF ad alta risoluzione!
SCARICA IL CIRCUITO
Avrai già capito che Arduino è il cervello del robot, ma è giusto far chiarezza sia sulle connessioni tra componenti, sia sul ruolo di ciascuno.
L298N: il ponte "H", il modulo di potenza che gestisce l'alimentazione del nostro robot e il funzionamento delle ruote
In sintesi l'L298N è un modulo di potenza un pò particolare. Su di lui puoi trovare parecchio sul blog, per esempio qui, ma per la realizzazione del robot ti basta sapere che si occupa lui di gestire i motori tramite i comandi lanciati da Arduino, oltre che alimentare tutti i componenti. A lui collegheremo la batteria da 9V che si occupa di gestire il tutto, a lui collegheremo i sei pin che si occupano di gestire il verso dei motori e la loro velocità.
Ah, giusto: ci colleghiamo anche i motori!
- Output A e Output B: colleghiamo i morsetti dei due motori
- +5V Power: colleghiamo il pin VIN di Arduino
- Power GND: colleghiamo sia il morsetto negativo della batteria, sia il pin GND di Arduino
- +12V Power: colleghiamo il morsetto positivo della batteria
- A Enable: colleghiamo il pin 7 di Arduino. Questo pin accenderà e spegnerà il motore collegato all'Output A
- IN1: colleghiamo il pin 8 di Arduino
- IN2: colleghiamo il pin 9 di Arduino
- Questi due pin si occupano di gestire il senso di rotazione del motore collegato all'Output A
- IN3: colleghiamo il pin 10 di Arduino
- IN4: colleghiamo il pin 11 di Arduino
- Questi due pin si occupano di gestire il senso di rotazione del motore collegato all'Output B
- B Enable: colleghiamo il pin 12 di Arduino. Questo pin accenderà e spegnerà il motore collegato all'Output B
Come mai ci serve un modulo di potenza? Non possiamo collegare direttamente i motori ad Arduino? Purtroppo no.
Arduino non offre abbastanza corrente per pilotare i due motori da 3V ciascuno. La corrente sarebbe così bassa che non girerebbero proprio.
E se ti stessi chiedendo anche come sia possibile gestire l'intensità di rotazione dei due motori vorrei lasciarti un approfondimento.
Anzi: un video-approfondimento!
Passiamo ora agli altri componenti.
Modulo HC-05: il Bluetooth per il nostro robot di cartone
Il modulo HC-05, del quale puoi trovare parecchi articoli di approfondimento sul nostro blog, si occupa di mettere in comunicazione Arduino e il nostro cellulare Android.
Come? Tramite la connessione Bluetooth. Devi sapere che allo stato attuale costa meno sfruttare la connettività Bluetooth dei nostri dispositivi, piuttosto che acquistare un radiocomando e gestire il tutto tramite un modulo RF.
E' qui che di fatto scopriamo il secondo aspetto legato all'economia del progetto:
Un cellulare lo abbiamo pressoché quasi tutti. Ci evita di impegnarci in un ulteriore acquisto di un radiocomando dedicato, senza considerare che con il Bluetooth possiamo arrivare a distanze di 40-50 metri grazie a questo modulo!
Senza dimenticare che, l'applicazione con cui comandare il nostro robot ce la possiamo fare a nostro piacimento! 😉
Ma vediamo un pò come si comporta:
L'antenna vera e propria è la linea dorata e ondulata che vedi sull'integrato stesso: ciò che a noi importa ora però è la serie di pin che abbiamo collegato alla breadboard.
- VCC: colleghiamo al pin 5V di Arduino
- GND: colleghiamo al pin GND di Arduino
- TXD: colleghiamo al pin RX di Arduino
- RXD: colleghiamo alla resistenza da 1,2 kOhm, con cui creiamo un partitore di tensione assieme alla resistenza da 2,2 kOhm. Nel mezzo del partitore di tensione, colleghiamo al pin TX di Arduino
Se volessi scoprire di più sul partitore di tensione, non posso che lasciarti qui maggiori dettagli in merito.
Arriviamo agli ultimi componenti della nostra scatola da scarpe robot.
Batteria e motori: energia e movimento
Per alimentare il tutto è necessaria una batteria da almeno 9V. Per far sì che Arduino Nano abbia abbastanza corrente, così come per il modulo Bluetooth e i motori, è la tensione minima di cui abbiamo bisogno.
Ho detto "minima" perché ovviamente si può optare per qualcosa di più se lo si desidera, ma non oltre i 12V, diversamente bruceremo tutto!
Quanto ai motori invece, sono dei semplicissimi motori a corrente continua da 3V ciascuno.
Essi si comportano in modo molto semplice: appena della corrente passa nelle spire al loro interno, cominceranno a far ruotare l'albero posto in mezzo.
Questo albero, nient'altro sarà che l'asse che fa ruotare le ruote.
Anche su di loro non posso che lasciarti maggiori approfondimenti qui.
In conclusione: manca l'apporto del codice!
In questo primo articolo-tutorial abbiamo visto tutto il necessario dal punto di vista elettronico e di componentistica per dare vita al nostro robot-scatola da scarpe: ovviamente, manca tutto il codice necessario per Arduino affinché sia in grado di gestire le ruote nonché tutto il comparto legato all'applicazione Android.
Tutto questo lo vedremo nel prossimo articolo-tutorial, su cui faccio un piccolo spoiler: non è necessario saper programmare per Android per dare vita alla nostra applicazione di controllo 😉
Salve e grazie immense perchè grazie a questo tutorial ho iniziato a costruirmi il mio primo robottino. Noto in questa prima parte del tutorial quello che credo sia un errore nelle etichette sul modulo L298N. In tutti i datasheet che ho trovato i morsetti per i 5 e i 12 V sono invertiti di posizione.
Guardandolo dal lato morsettiera di alimentazione il 12 V è a sinistra e il 5V di uscita stabilizzata è a destra.
Poca cosa comunque. Nei moduli immagino siano sempre ben chiare le posizioni della morsettiera.
Grazie infinite per il grande aiuto a chi, come me, si è avvicinato da poco al fantastico mondo di Arduino.
Andrea