Richiami alla guida di base del Line Follower: http://goo.gl/vu5qLC
Questa guida tratterà la Motor Shield Arduino più comune: http://goo.gl/511XCM
La sua vera potenzialità è l'integrazione con la libreria AdaFruit Motor Shield: https://goo.gl/6EcJiH
- 2 stepper motors
- 2 servo motors
- 4 DC motors
Per il progetto Line Follower utilizzeremo solo la parte dedicata ai motori DC.
Riporto la pagina dedicata con tutti i comandi per i DC motors: https://goo.gl/nSU01p
Codice di questo progetto su GIT:
Riporto la pagina dedicata con tutti i comandi per i DC motors: https://goo.gl/nSU01p
Codice di questo progetto su GIT:
Collegamento:
Lo schema qui sotto riporta le 4 uscite disponibili per i 4 motori. Ovviamente a noi servono solo 2 di queste uscite.
Nel mio caso ho collegato i due motori DC al #1 e #2, com'è visibile nel codice:
AF_DCMotor m_SX(1, MOTOR12_64KHZ); // create motor #1, 64KHz pwm
AF_DCMotor m_DX(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
Il passaggio immediatamente successivo sarà il collegamento dei 3 sensori di linea: pinMode(A0,INPUT); // senSX
pinMode(A1,INPUT); // senCX
pinMode(A2,INPUT); // senDX
Per poterli collegare sarà necessario saldare un connettore Maschio-Maschio quella shield.Impostiamo ora le relative velocità, per ciascun motore:
m_SX.setSpeed(70); // set the speed to 0/255
m_DX.setSpeed(70);
Corpo del programma:
Per prima cosa, ancor prima di muovere i motori, dobbiamo controllare in che stato siamo, rispetto alla linea.
Per farlo, leggiamo i sensori tramite la funzione "readsen()":
void readsen(){
senSX = digitalRead(A0);
senCX = digitalRead(A1);
senDX = digitalRead(A2);
}
Ogniuna delle 3 variabili, senSX, senCX e senDX riporterà:- 0 = bianco = nessuna linea
- 1 = nero = linea trovata
Questi valori verranno analizzati nei blocchi successivi contenuti nel programma:
- riga a destra
- riga a sinistra
- tutto nero ( dove sono? )
- avanti
Power!
Una parte assolutamente non trascurabile del progetto è la corretta alimentazione.
La shield ha due tipi d'alimentazione:
- Unica alimentazione, shield + Arduino, tramite il Jack sulla scheda Arduino o morsettiera sulla shield. Inserire jumper.
- Ingresso da Jack/morsettiera minimo 7.4 Volt. Si consiglia una batteria 7.4V con almeno 600mA.
- Alimentazioni separate, una per la shield ed una per Arduino. Togliere jumper.
- Ingresso Arduino:
- Jack minimo 7 Volt.
- USB.
- Ingresso shield 5 Volt.
La batteria tradizionale da 9 Volt ha dato dei problemi, si sconsiglia l'utilizzo.
Per una più profonda analisi, rimando a questo articolo http://goo.gl/6BRNe1 in particolare nella sezione Alimentazione d'un eventuale carico/shield.
Per finire, per una totale completezza, richiamo la pagina ufficiale dello shield: https://goo.gl/qb5vNC
Nessun commento:
Posta un commento