Robot 4WD con Arduino

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.

Robot 4WD con Arduino front side

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.

Robot 4WD con Arduino top left

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

 

Robot 4WD con Arduino front display ultrasonic

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:

3D case distance sensor

 

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.

Robot 4WD con Arduino top right

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:

Robot 4WD control

 

Usa le frecce per muoversi ed i tasti numerici per definire la velocità e modalità di funzionamento.

Le funzioni dei tasti del telecomando sono:
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.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/robot-4wd-con-arduino.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.