Vettura Automatica & Manuale

Puntata I: Costruzione hardware con Arduino

Salve a tutti e benvenuti in questo nuovo tutorial dove andremo a creare un vettura che si guida in modo autonomo e allo stesso tempo possiamo pilotarla in manuale da remoto tramite una applicazione Android e usando la connessione bluetooth. In questa prima parte del tutorial andremo a vedere come realizzare la nostra vettura, quindi andremo a creare il nostro pezzo Hardware.

Per questa fase ci servirà:

  • Una scheda Arduino (io ho usato Arduino Mega 2560)
  • Motor Shield
  • Bluetooth HC-05
  • 3 Sensori a ultrasuoni HC-SR04
  • Fili di vario colore per i collegamento tra componenti
  • Breadboard
  • Pezzi necessari per la costruzione della Vettura
  • Batteria per alimentare Arduino
  • 2 resistenze da 2.2 KΩ
  • 2 resistenze da 1 KΩ
  • 1 diodo led (colore a piacere)
Motorshield
Motorshield

Partiamo immediatamente prendendo la scheda Arduino e la Motor Shield, posizionando quest’ ultima sopra Arduino (in questo caso io ho una motor shield compatibile con Arduino mega 2560 dove i Pin combaciano perfettamente tra di loro). A destra potrete notare il modella della scheda da me utilizzato per questo progetto.

Facendo riferimento al primo progetto di questo sito (Primo progetto con Arduino) andremo a inserire un led sulla nostra breadboard collegando l’ Anodo(+) a un pin a piacere tra quelli NON occupati dalla nostra motor Shield e il Catodo (-) lo andiamo a collegare al GND della scheda.

Questo led verrà acceso ogni volta che il bluetooth riceverà dei dati, ovvero i comandi impartiti dalla applicazione Android.

Ora passiamo ai sensori HC-04 ma prima di collegarli vediamo come funzionano. Come possiamo notare questi sensori sono composti da 2 “occhietti”, uno di questi funge da trasmettitore e l’ altro da ricevitore. Il primo trasmette un segnale ad ultrasuoni che si propaga nel’ ambiente fino a quando non incontra uno ostacolo.

Collegamento sensore a ultrasuoni
Collegamento sensore a ultrasuoni

Una volta incontrato l’ostacolo, il segnale vi rimbalza contro e torna indietro e viene captato dal secondo “occhietto” (ricevitore) e andando a misurare il tempo impiegato tra trasmissione e ricezione possiamo calcolare la distanza tra il nostro sensore e l’ ostacolo.

Per quando riguarda il collegamento del sensore ad ultrasuoni dobbiamo collegare il Vcc con i 5V di Arduino, il GND del nostro sensore con il GND di Arduino e per i Pin TRIG e ECHO del sensore li andremo collegare con  2 Pin digitali di Arduino.

In questo progetto ho usato 3 HC-SR04 perché il primo prendo la distanza frontale tra la vettura e l’ ostacolo, invece gli altri 2 vengono utilizzati per misurare la distanza destra e sinistra e la nostra vettura farà manovra dove vi trova più spazio per farla.

Ora passiamo al bluetooth che forse è il collegamento più difficile di questo progetto. Il bluetooth HC-05 generalmente usa una tensione di alimentazione di 3,3 V quindi per alimentarlo dovremo usare il Pin di Arduino pari a 3,3V. Nel mio caso questo Pin è usato anche dalla scheda motor Shield. Per risolvere questo problema basta saldarci un cavo con dello stagno. Facciamo i seguenti collegamenti:

Collegamento Arduino modulo bluetooth HC-05
Collegamento Arduino modulo bluetooth HC-05
  1. Vcc bluetooth –> 3,3 V Arduino
  2. GND bluetooth –> GND Arduino
  3. RXD bluetooth –> TXD Arduino (ATTENZIONE !!  per questo collegamento guardare la posizione resistenze nello schema)
  4. TXD bluetooth –> RXD Arduino
  5. KEY (o WAKEUP) bluetooth –> 5V Arduino (ATTENZIONE !!  per questo collegamento guardare la posizione resistenze nello schema)

Nel punto 3 e 5 dobbiamo creare un partitore di tensione con 2 resistenze per ogni punto, questo serve perché i Pin di Arduino lavorano a 5V invece il nostro bluetooth lavora a 3,3V. Questo partitore non è necessario nel punto 4 della nostra lista perché il TXD è il pin che invia il segnale e avendo Arduino che lavora a 5 V non ha problemi a gestire il segnale che gli arriva che è pari a 3,3V.

Nel nostro caso i Pin RXD e TXD di arduino possono essere anche dei pin digitali e non pin seriali, questo è perché andremo a gestire le comunicazioni con la libreria SoftwareSerial, che ci permette di usare i pin digitali come pin seriali (ATTENZIONE !! questa libreria non accetta tutti i pin digitali di Arduino Mega 2560_ Pin accettati da SoftwareSerial).

Ultimo passo prima della conclusione della prima puntata del nostro tutorial è il collegamento dei motori, essi andranno collegati alla scheda Motor Shield come da schema.

Collegamento motori alla scheda Motor Shield
Collegamento motori alla scheda Motor Shield

ATTENZIONE !! il motore 1 è il motore che rimane alla nostra destra guardando la macchinina di fronte.

Qui si conclude la prima puntata di questo progetto, vi invito a commentare se vi serve aiuto o non vi è chiaro qualche passaggio. A breve uscirà la seconda puntata, dove andremo a parlare del Software lato Arduino dove vengono gestite le politiche di manovra della autovettura.

Lascia un commento