- motori DC (Direct Current motors);
- servomotori (servo motor);
- motori passo-passo (stepper motor).
I primi (DC Motors) possono soltanto procedere in una direzione oppure nella direzione opposta. I secondi (servo motor) sono molto precisi ma assai poco potenti, i terzi invece (stepper motor) sono più potenti dei primi oltre a essere anch’essi molto precisi nel movimento. Sia i motorini servo che passo-passo, viste le esigue potenze realizzabili in pratica, vengono utilizzati per movimenti di precisione all’interno di stampanti o bracci robotizzati per lo spostamento di piccoli oggetti.


- farlo girare in senso orario;
- farlo girare in senso antiorario;
- accenderlo;
- spegnerlo.
Quello che si ottiene è il circuito di figura, con quattro interruttori disposti a formare una lettera H: il nome del circuito con questa configurazione viene infatti detto a ponte H.
Interruttori | Stato del motore | |||
A | B | C | D | |
1 | 0 | 0 | 1 | Senso orario |
0 | 1 | 1 | 0 | Senso antiorario |
1 | 1 | 0 | 0 | Fermo |
0 | 0 | 1 | 1 | Fermo |

- diodo
- transistor MOSFET
Un diodo è un componente che consente alla corrente di fluire solo in un verso, cioè dall’anodo al catodo e non viceversa. Come possiamo notare dal-la figura qui accanto, il diodo possiede una striscia grigia su una estremità, questo indica il polo negati-vo, cioè il catodo, quindi l’unico flusso di corrente ammesso è da sinistra a destra e non viceversa.
I transistor MOSFET (Metal Oxide Semiconductor Field Effect Transistor) sono componenti che consentono il controllo di al-ti carichi di corrente e di tensione mediante il piedino di uscita della scheda Arduino. Possiedono tre piedini chiamati rispettivamente Gate, Drain e Source. Si basano su di un principio di funzionamento molto semplice, possiamo pensare a un transistor come a un interruttore, fornendo tensione al piedino Gate, viene chiuso il circuito tra il i piedini Drain e Source, viceversa togliendo tensione al piedino Gate il circuito tra Drain e Source si apre.
ESEMPI
Motore in corrente continua senza ponte H
In questo esempio vogliamo pilotare un motorino in corrente continua senza ponte H. Utilizziamo un micro switch per pilotare un motore DC: tenendo premuto il pulsante il motore deve essere azionato e lasciando il pulsante lo stesso deve fermarsi. Per fare questo abbiamo collocato un pulsante (micro switch) collegato all’alimentazione (+5 V) e al pin2 della scheda Arduino. Inoltre è stato anche collegato a massa (GND) tramite una resistenza da 10 kΩ per evitare il rimbalzo, in tal modo dal pin2 dell’Arduino leggeremo un valore HIGH ogni volta che il pulsante viene premuto. In questo circuito abbiamo anche utilizzato il transistor MOSFET IRF520, in dotazione nello starter kit Arduino UNO. Abbiamo collegato il piedino Gate direttamente al pin9 della scheda Arduino. Quando lo sketch invia un valore HIGH sul piedino 9 otterremo l’apertura del circuito Drain-Source del transistor e di conseguenza l’attivazione del motore. Viceversa un valore LOW sul pin9 manterrà il motore fermo. I due capi del motore (+ e –) sono stati collegati all’alimentazione (+5 V) e al piedino Source del transistor. Inoltre il pin (–) del motorino è stato anche collegato all’anodo del diodo di protezione del circuito. Abbiamo aggiunto un diodo polarizzato apparentemente al contrario, collegando cioè il catodo con il polo positivo: questo serve per prevenire eventuali controtensioni (generate cioè nella direzione opposta alla tensione fornita) generate dal motore che possano rientrare nel circuito.
La realizzazione del circuito con la scheda Arduino e la breadboard è la seguente: Il codice dello sketch è assai semplice, innanzi tutto vengono programmati i piedini digitali 2 e 9 dell’Arduino, il primo in ingresso e il secondo in uscita. Quindi nel ciclo loop() dopo aver letto lo stato del piedino 2 (quello collegato al pulsante), viene controllato il suo valore: se è HIGH allora significa che il pulsante è premuto e pertanto deve essere acceso il motore, se invece è LOW significa che il pulsante non è premuto e quindi il motore deve essere spento. L’accensione e lo spegnimento del motore avviene scrivendo HIGH oppure LOW al pin9.
int stato = 0;
void setup()
{
pinMode(9, OUTPUT);
pinMode(2, INPUT);
}
void loop()
{
stato = digitalRead(2);
if (stato == HIGH)
digitalWrite(9, HIGH);
else
digitalWrite(9, LOW);
}
Regolazione della luminosità di un led e della velocità di un motore con un potenziometro.
Motore in corrente continua con ponte H