Il Robot 4WD con Arduino che ti descrivo oggi è stato realizzato dal mio amico Mario Andrioletti che stimo.
Il progetto parte dal kit: Keyestudio KS0559, quello della documentazione che trovi qui, ma Mario ha cambiato due cose: i sensori e, soprattutto, lo sketch.
Gli esempi del kit non lo soddisfacevano, così ha provato a farsi scrivere il codice da un’AI, partendo da zero. Ci è riuscito ed il risultato mi sembra più interessante di quanto ci si aspetti da un esperimento.
Il Robot 4WD con Arduino
È un sistema mobile autonomo basato su Arduino Uno, con quattro motori DC accoppiati: due a sinistra e due a destra, pilotati come se fossero due soli motori.
Ha due modalità: MANUAL, con controllo da telecomando IR, e AVOID, che evita gli ostacoli da solo.
Il robot visto dall’alto: telaio 4WD, shield Keyestudio e portabatterie con le due 18650.
Il resto della dotazione:
- shield Keyestudio KS0556 con driver motori TB6612FNG
- alimentazione con due 18650 in serie
- sensore a ultrasuoni HC-SR04 montato su un servo SG90
- due sensori TCRT5000 laterali, su staffe stampate in 3D
- matrice LED 8×16 con interfaccia I2C
- ricevitore IR
- un LED che indica la modalità AVOID
Davanti, sopra il servo, c’è l’HC-SR04 con il ricevitore IR sotto. Più in basso la matrice LED. Ai lati, le due staffe nere dei TCRT5000.
Cosa cambia rispetto al kit originale
Il kit usa solamente la scansione a ultrasuoni.
Il problema di questo approccio è che il sensore guarda solo in una direzione: quella frontale; quando il robot è in movimento un muro che si avvicina di lato non viene rilevato.
Mario ha aggiunto due TCRT5000 a 45 gradi, sulla parte anteriore dei due lati.
Quando il robot procede dritto, senza fermarsi a scansionare, sono questi sensori a segnalare un ostacolo laterale.
Le staffe 3D servono a tenere i sensori all’altezza giusta, simmetrici tra loro e lontani dalle ruote, con il cablaggio che passa dentro.
I modelli sono su Printables:
una staffa vista da vicino: la finestra in basso è quella da cui il TCRT5000 guarda il lato.
Collegamenti
| Modulo | Pin Arduino | Note |
|---|---|---|
| Motori sinistra | D2 (direzione), D5 (PWM) | coppia sinistra |
| Motori destra | D4 (direzione), D6 (PWM) | coppia destra |
| Servo testa | D10 | SG90 |
| Ultrasuoni TRIG | D12 | |
| Ultrasuoni ECHO | D13 | |
| TCRT sinistro | A0 | analogico |
| TCRT destro | A3 | analogico |
| Matrice LED SCL | A5 | I2C software |
| Matrice LED SDA | A4 | I2C software |
| Ricevitore IR | D3 | libreria IRremote |
| LED modalità AVOID | D9 | acceso in AVOID |
Qualche nota elettronica
Tutte le masse devono essere comuni.
I motori sono alimentati direttamente dal pacco batterie formato da n.2 LiPo di tipo 18650, mentre l’Arduino prende i 5 V da un regolatore di tensione.
I TCRT5000 vogliono un’alimentazione stabile a 5 V, altrimenti le letture risultano altalenanti ed instabili.
Dal lato opposto si vede meglio il servo con l’ultrasuoni e la staffa del sensore destro.
Il telecomando
In modalità MANUAL il robot risponde al telecomando in dotazione nel kit:
Usa le frecce per muoversi ed i tasti numerici per definire la velocità e modalità di funzionamento.
| Tasto | Codice | Funzione |
|---|---|---|
| OK | 0x40 | STOP e ritorno in MANUAL |
| Freccia su | 0x46 | avanti |
| Freccia giù | 0x15 | indietro |
| Freccia sinistra | 0x44 | sinistra |
| Freccia destra | 0x43 | destra |
| 1 | 0xD | velocità + |
| 3 | 0x16 | velocità − |
| 0 | 0x52 | attiva AVOID |
Sinistra e destra non fanno curve larghe: i motori di un lato girano all’indietro e quelli dell’altro in avanti, quindi il robot è in grado di girare su se stesso.
Come l’AI ha aiutato Mario ?
Dopo l’assemblaggio, Mario, si è reso conto che gli esempi erano specifici per modalità di funzionamento:
e potevi caricare solo un esempio alla volta.
Quindi ogni volta che desideravi modificare la modalità di funzionamento del robot sei costretto a riprogrammarlo.
Inoltre gli esempi permettono al robot 4WD con Arduino di evitare gli ostacoli e si limita a fermarsi e girare.
L’AI e l’esperienza di Mario ha reso possibile un obiettivo che con gli esempi non riusciva a raggiungere.
Nel prossimo articolo leggerai il risultato della collaborazione tra Mario e l’AI e commenteremo il codice per capirlo.
Conclusioni
Mario chiude dicendo che l’esperimento è riuscito.
Il robot è un buon esempio di come si può usare l’AI per un progetto di elettronica: non per sostituire il maker, ma per scrivere la parte di codice che si può descrivere a parole, mentre le scelte di progetto restano a chi ha idea di ciò che vuole ottenere in modo chiaro.
Se hai già provato qualcosa di simile, con un robot e un assistente AI, raccontamelo nei commenti.
E se vuoi altri dettagli sul robot, Mario sarà disponibile a darteli.








Il blog mauroalfieri.it ed i suoi contenuti sono distribuiti con Licenza