Un’auto radiocomandata via Web usando Arduino R4

vettura radiocomandata arduino uno r4

Questo progetto realizza un modellino di un’auto radiocomandata pilotata da senssori collegati con il nuovo Arduino R4, a sua volta in cloud.

L’han fatto di nuovo: i ragazzi del corso di elettronica dell’ITS Fondazione Biotecnologie di Bergamo (Flavia Calabrese, Davide Conzon, Guglielmo Ferrari e Artica Giussani, in rigoroso ordine alfabetivo) hanno realizzato come progetto di fine corso un sistema di comando e controllo per un’autovettura in scala, interamente basato sul nuovo Arduino UNO R4.

Lasciamo a loro la parola.

Descrizione del progetto

L’obiettivo dell’esperienza è quello di realizzare una macchina comandata tramite telefono mediante l’utilizzo del software Arduino IoT e Cloud. Per consentire l’invio e la ricezione dei comandi, si è utilizzata la nuova versione di Arduino UNO R4, che incorpora in una sola scheda diversi sensori ed un sistema di trasmissione Wi-Fi.

Elenco componenti

ComponentiQuantitàValoreSpecifichePrezzo
Arduino R4 WiFi1MicrocontrolloreESP32-SE32 euro
CavivariF-M e M-M
Motore1Motore DC 112V15 euro
Motore STM1DM996 Stepper6V / 300 mA12 euro
Resistenze1
1
220 ohm
1 kohm
Fotoresistenza12 ohm - 20 kohm1 euro
Ponte H1L2985V - 12V7 euro
LED4
9
2
Giallo
Rosso
Verde
2.1V / 20 mA
2.0V / 20 mA
3.0V / 20 mA
Batteria17.4V - 1500 mA23 euro
Totale90 euro

Schema elettrico – Schema di montaggio

Vettura radiocomandata Arduino UNO R4

Realizzazione

Il progetto è stato suddiviso in diversi moduli: progettazione elettronica, progettazione software, progettazione degli spazi d’ingombro e stampa 3D, budget e marketing, ordini e magazzino, montaggio, testing, QA. Il team ha realizzato un Gantt dei lavori per cercare di parallelizzare il più possibile le attività e ridurre tempi e costi di produzione.

Ad un ponte H (L298N) sono stati collegati i cavi di alimentazione della batteria (7,4V e GND); si sono usate le porte: enA (porta PWM pin 10) che controlla la velocità di rotazione del motore, in1 (pin 9) consente la rotazione in senso orario, in2 (pin 8) consente la rotazione in senso antiorario.

L’uscita 5V del ponte H viene collegata alla porta Vin di Arduino per la sua alimentazione. L298N viene collocato sul dorso della vettura.

Viene collegato il motore DC nelle porte OUT1 e OUT2 del Ponte H.

Anteriormente, viene montato un motore passo-passo (DM996) ad alta velocità, esso controlla in modo preciso e veloce il movimento di sterzo dell’auto. La tensione operativa è pari a 6V.

Il supporto dei fari è stato realizzato attraverso un processo di stampa 3D; ad esso vengono montati quattro led gialli saldati in parallelo (pin 2) a loro volta collegati a una fotoresistenza nella porta analogica A0. Così si è in grado di rilevare ii cambio di stato della fotoresistenza: quando questa riconosce un determinato grado di illuminazione (vedi datasheet) vengono accesi i led dei fari. Sono inoltre stati aggiunti 9 led rossi collegati in parallelo posti sul retro del telaio, che si accendono nel momento in cui la macchina procede in retromarcia. Infine, l’ultima  implementazione è stata quella di posizionare due led verdi (pin 3, 4) posti ai lati della carrozzeria al fine di simulare le frecce direzionali.

Il funzionamento prevede l’accensione di uno dei due nel momento in cui la macchina sterza a sinistra piuttosto che a destra.

vettura radiocomandata cloud arduino

I comandi per partenza, stop e svolta a destra e sinistra vengono impostati via smartphone, collegato al cloud di Arduino, che li riceve, interrpeta e ritrasmette in tempo “quasi-reale”. I ritardi di trasmissione dei segnali hanno costituito una parte integrante del codice sorgente: sono stati definiti pesi opportuni per evitare che la vettura curvasse troppo o troppo velocemente, e per attuare un freno motore in caso di stop. In ogni caso la vetura va guidata con un occhio alla futura posizione del mezzo… un po chme le vere auto da corsa!

Codice sorgente

Il codice relativo al progetto è stato rilasciato al pubblico dominio ed è presente su Github.

Sono altresì presenti tabelle e grafici utilizzati per la taratura e l’ottimizzazione dei controlli.

Problemi riscontrati e soluzioni adottate

  • L’idea iniziale era pilotare la macchina tramite telecomando IR, abbandonata successivamente a causa di un conflitto con un altro componente. Infatti, il sensore IR captava i segnali emanati dal sensore di prossimità, CHE avrebbe fermato il motore in caso di vicinanza ad ostacoli.
  • Il sensore di prossimità è stato rimosso in quanto, avendo un range di rilevamento troppo ampio, avrebbe interrotto il moto dei motori ad ogni ostacolo presente non solo frontalmente ma anche lateralmente, impedendo alla macchina di partire.
  • Un’altra difficoltà riscontrata riguarda lo sviluppo del Servo: l’uscita 5V di Arduino non forniva sufficiente corrente per alimentarlo, per risolvere il problema l’alimentazione è quindi stata
    collegata ai pin Vcc e Gnd del ponte H fornendo così 7.4V.
  • Altrettanto problematico è stato il motore DC che, improvvisamente, ha smesso di funzionare. Non sicuri del motivo si è smotata tutta la parte posteriore della macchina fino a scoprirlo. Ciò ha permesso di capire che il problema risiedeva nei cavi del motore che usurandosi, si erano staccati. È stata eseguita una sostituzione completa dei cavi e una nuova saldatura, il motore ha ripreso a funzionare correttamente e la macchina è stata rimontata.

Vettura radiocomandata Arduino UNO R4

Considerazioni finali

Un team di 4 ragazzi freschi di un corso di informatica, e dei quali il 50% non aveva precedenti nozioni di elettronica ha sviluppato da zero un progetto di complessità medio-alta: si pensi solo alla gestione dei servocomandi in parallelo, al calcolo dei tempi di ritardo dei comandi inviati attraverso smartphone.

L’obiettivo del progetto è stato concluso con esito positivo riuscendo ad implementare tutte le funzionalità attese.

E’ stata inoltre raccolta la seguente documentazione:

Link utili:

 

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.