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)
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.
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:
- Vcc bluetooth –> 3,3 V Arduino
- GND bluetooth –> GND Arduino
- RXD bluetooth –> TXD Arduino (ATTENZIONE !! per questo collegamento guardare la posizione resistenze nello schema)
- TXD bluetooth –> RXD Arduino
- 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.
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.