Scopri come collegare la Motor Shield ad Arduino, e far muovere due motori in corrente continua con un semplice sketch.
Un video dice più di mille parole, puoi seguirlo per collegare prima l’alimentazione, poi i due motori ed infine l’Arduino al computer.
Lo sketch fa eseguire ai motori una semplice sequenza, ciascun passaggio dura 5 secondi:
- entrambi i motori in una direzione;
- entrambi i motori in direzione inversa;
- un motore in una direzione e l’altro in direzione opposta;
- ogni motore in direzione opposta alla precedente;
- sto di tutta la sequenza;
al termine ricomincia dall’inizio.
E’ solo uno sketch di esempio ma puoi facilmente renderti conto del funzionamento della scheda.
Lo sketch
/* * Sketch Test Motori Shield FE * * @author: Alfieri Mauro * @see: https://www.mauroalfieri.it * * @licenze: Creative common */ int pinDirA=2; int pinDirB=8; int pinPwmA=3; int pinPwmB=9; void setup() { pinMode( pinDirA,OUTPUT ); pinMode( pinPwmA,OUTPUT ); pinMode( pinDirB,OUTPUT ); pinMode( pinPwmB,OUTPUT ); } void loop() { // Test: rotazione dei motori // stessa direzione, vel digitalWrite( pinDirA,HIGH ); digitalWrite( pinDirB,HIGH ); // velocità massima analogWrite( pinPwmA,255 ); analogWrite( pinPwmB,255 ); delay(5000); // Test: rotazione dei motori // direzione inversa digitalWrite( pinDirA,LOW ); digitalWrite( pinDirB,LOW ); // velocità massima analogWrite( pinPwmA,255 ); analogWrite( pinPwmB,255 ); delay(5000); // Test: rotazione dei motori // direzione incrociata digitalWrite( pinDirA,HIGH ); digitalWrite( pinDirB,LOW ); // velocità massima analogWrite( pinPwmA,255 ); analogWrite( pinPwmB,255 ); delay(5000); // Test: rotazione dei motori // direzione incrociata digitalWrite( pinDirA,LOW ); digitalWrite( pinDirB,HIGH ); // velocità massima analogWrite( pinPwmA,255 ); analogWrite( pinPwmB,255 ); delay(5000); // Test: stop dei motori // nessuna direzione digitalWrite( pinDirA,HIGH ); digitalWrite( pinDirB,HIGH ); // velocità nulla analogWrite( pinPwmA,0 ); analogWrite( pinPwmB,0 ); delay(5000); }
E’ uno sketch davvero semplice, le cose importanti sono i pin che collegano la shield ad Arduino:
int pinDirA=2; int pinDirB=8; int pinPwmA=3; int pinPwmB=9;
che puoi cambiare grazie alla posizione dei jumper di selezione, e i comandi utilizzati dallo sketch per impartire il movimento:
digitalWrite( pinDirA,HIGH ); digitalWrite( pinDirB,HIGH ); analogWrite( pinPwmA,255 ); analogWrite( pinPwmB,255 );
il comando digitalWrite() lo usi per impartire la direzione al motore, HIGH per una direzione e LOW pe quella inversa; il comado analogWrite() lo usi per impartire la velocità di rotazione, nell’esempio è sempre impostato a 255 perchè i motori che vi ho collegato sono dotati di riduttore di giri a 12 giri al minuto e se impartisci velocità inferiori quasi non ne percepisci la rotazione.
Se usi motori in CC senza riduttore di velocità ti sarà utile variarne la velocità per controllarli meglio.
I comandi si ripetono in sequenza con un intervallo di 5 secondi.
Il risultato:
Buon diveritmento.
Prima di inserire un commento, per favore, leggi il regolamento
166 pings
Skip to comment form