[Progetto] Robot Automatico controllato da Arduino

Ciao a tutti, in questo primo articolo vi parlerò di un progetto che ho realizzato come tesina di maturità.

 

Il progetto consiste nella realizzazione di un robot, controllato da Arduino, che segue una linea nera disegnata su un foglio bianco, in modo del tutto automatico.

 

Foto del robot
Foto del robot

Analizziamo le varie componenti hardware che ho utilizzato per la realizzazione del robot:

  • Arduino
  • Circuito di potenza (Usato per consentire ad Arduino di reggere il carico di corrente dei 2 motori)
  • 2 fotoresistenze (Sono gli occhi del robot, vengono posizionate all’esterno della stricia nera e servono per rilevare la strada che il robot deve seguire)
  • Carrello robot dotato di 2 motori
  • basetta millefori (usata per collegare il circuito di accesione con relativo LED per indicarne lo stato)

Arduino

 

Arduino è una basetta elettronica opensource italiana, dotata di un microcontrollore.

la versione di Arduino che ho utilizzato per questo progetto è la versione 2009, ma anche le successive versioni vanno benissimo.

 

Il microcontrollore usato da Arduino, utilizza un linguaggio di programmazione ad alto livello (usa un linguaggio di programmazione molto simile al C), e quindi molto vicino al linguaggio del programmatore piuttosto che al linguaggio macchina.

 

Per programmare Arduino, viene messo a disposizione un tool di sviluppo (opensource) scritto in java e quindi, essendo multipiattaforma, è usabile in Linux, Windows e Mac.

 

Grazie a questo tool, possiamo anche trasferire il sorgente del programma (che scriviamo dal PC) all’interno di Arduino, che a quel punto diventa il “cervello” del progetto realizzato.

 

Software

 

Il software di questo progetto è molto semplice, legge i valori restituiti dalle 2 fotoresistenze e corregge di conseguenza la potenza dei 2 motori per consentire di sterzare ed eseguire bene e in modo lineare le curve.

 

Il problema più grande da affrontare, è stato trovare un algoritmo efficente per far sterzare il robot in modo lineare, senza che andasse a “zig zag”.

 

Video del robot in funzione

 

In questo video, si può vedere il robot in funzione

 

Download Sorgente Software

 

Visto che in diversi mi avete chiesto il sorgente, ho deciso di caricare i sorgenti su sourceforge sotto licenza Gpl3, chiunque fosse interessato al sorgente del software per il controllo automatico del robot può scaricarlo da questo indirizzo.

 

Download