Ora che abbiamo preparato tutti i componenti del progetto, possiamo dedicarci al collegamento elettrico di tutti i componenti.
Essendo il numero di elementi aumentati man mano che prendeva forma il progetto, ho voluto schematizzare l'elenco di ingressi e uscite necessari e iniziare a distinguere i fabbisogni di porte analogiche e digitali. Questo è lo schizzo:
A questo scopo ho preparato anche uno schema dove ho riportato un po' tutti i collegamenti del mio progetto, alcuni collegamenti sono approssimativi per mancanza del disegno del componente corretto (ad esempio il display LCD), ma in linea di massima i collegamenti corrispondono.
Questo lo schema del progetto:
La tabella seguente mostra l'attribuzione delle rispettive porte con arduino, questo è molto importante in quanto tutto il software si riferisce a questa configurazione. Inoltre va ricordato che alcune porte di Arduino sono particolari e non possono essere invertite. Mi riferisco ad esempio alle funzioni PWM, disponibili soltanto su alcune porte o alle porte per la comunicazione tramite porta I2C.
Progetto Big Wheely | |
V1.0 | |
Pin | Descrizione |
D0 | RX Xbee Serial wireless |
D1 | TX Xbee Serial wireless |
D2 | Infrared rotazione Ruota SX [S.SX] |
D3 | PWM AD - Rotor Shield |
D4 | Trigger - HCRS04 Sonar distance |
D5 | RX LCD display |
D6 | TX LCD display |
D7 | Echo - HCRS04 Sonar distance |
D8 | Brake SD - Motor shield |
D9 | Brake AD - Motor shield |
D10 | Servo rotaz. Dist. Sonar |
D11 | PWM SD - Motor shield |
D12 | Direction AD - Motor shield |
D13 | Direction SD - Motor shield |
A0 | Current sensing AD - motor shield |
A1 | Current sensing SD - motor shield |
A2 | |
A3 | |
A4 | SDA (DATA) Bus I2C Compass |
A5 | SCL (Clock) Bus I2C Compass |
Contrariamente a quanto iniziamente avevo pensato, il numero di porte disponibile su questo modello di Arduino non è così eccessivo. Sono infatti tutte utilizzate, ad eccezione di un paio di porte analogiche che però intendo sfruttare in futuro per il collegamento di pulsanti o altri sensori.
È giunto il momento di collegare un po' di fili e iniziare ad assemblare il progetto, in particolare vogliamo ora collegare il modulo che dovrà indicarci la direzione.
Il modulo HMC5883L è un minuscolo circuito con include solo una manciata di componenti che però implementa una vera e propria bussola!
Questo componente è molto semplice da collegare ad Arduino, forse meno semplice è la sua gestione, ma questa è un'altra storia. Per ora limitiamoci a collegarlo, ecco come ho fatto io:
Il modulo che ho usato io dispone di 6 pin, oltre a quelli indicati nello schema ha un pin 3V3 (alimentazione a 3.3V invece che a 5V) e il pin DRDY, non usato nel nostro progetto.
Il fissaggio del sensore di distanza (sonar) al micro servo non è semplice.
L'idea di base è quella di poter ruotare il sensore in modo da poter sfruttare un sensore solo per identificare gli ostacoli presenti davanti e laterali.
La scheda elettronica del sensore di distanza è molto compatta e malgrado siano presenti dei fori sulla scheda, è piuttosto difficile sfruttarli perchè sono molto piccoli. Inoltre non è possibile, o poco consigliato, montare il tutto su una struttura metallica.
La soluzione che ho trovato per ora è di utilizzare la plastica di imballaggio trasparente spesso utilizzata in molti acquisti.
Quella che ho utilizzato io è stata recuparata dalla confezione del deodorante per WC !!!
Sì, proprio così, questa:
Dopo averla ritagliata e apportato dei buchi in prossimità dei fori della schedina, ho fissato il sensore usando dei laccetti metallici (rivestiti di plastica)
Ho potuto fissare il servo e il sensore nella parte superiore della webcam utilizzando una piastrina di alluminio
Mi rendo conto che questa soluzione non è ancora ottimale, sarebbe utile poter regolare l'inclinazione del sensore ma per ora è ancora un po' instabile, ma comunque per ora questo funziona già discretamente bene.
Per fissare il display LCD era necessario avere un supporto piano e solido, ho quindi recuperato una piastra di ferro dal fondo di una vecchia tastiera!!
Pagina 5 di 7