Il microcontrollore Arduino® può essere utilizzato per controllare diversi tipi di motori. Sebbene l’esatto circuito di controllo elettronico vari a seconda del progetto, ogni motore è collegato a un pin di uscita sulla scheda Arduino®. Il codice di programmazione può essere utilizzato per modificare la velocità e la direzione di un motore collegato o per far avanzare un motore in una posizione prescelta. Le tre varietà più comuni di motori Arduino® sono corrente continua (DC), stepper e servo.
Un motore a corrente continua è relativamente semplice e può essere utilizzato per molti scopi. I motori a corrente continua contengono bobine di filo che sono posizionate all’interno di un magnete. Quando l’elettricità viene inviata attraverso le bobine, il campo elettromagnetico risultante fa ruotare un albero. Molti dei motori Arduino® a corrente continua utilizzati in questi progetti includono semplici riduttori, che forniscono una leva per girare ruote pesanti o svolgere altre attività meccaniche.
I motori CC molto piccoli possono essere collegati direttamente a un pin di uscita Arduino®, ma i motori che assorbono più di 40 milliampere di corrente richiedono circuiti di controllo aggiuntivi. I transistor sono spesso usati per questo scopo.; ciò consente ad Arduino® di utilizzare un segnale a bassa corrente, che attiva un interruttore a stato solido e invia potenza ad alta corrente al motore. In alcune applicazioni come la robotica, diversi transistor sono combinati in una disposizione nota come “ponte H”. Un H-bridge consente di invertire la polarità elettrica e consente di azionare i motori DC Arduino® in avanti o indietro.
I motori passo-passo Arduino® sono simili ai motori CC, ma non ruotano continuamente. Invece, la disposizione interna delle bobine elettromagnetiche fa avanzare o “salire” un motore passo-passo in piccoli incrementi. Come esempio di questo movimento, le lancette di un orologio analogico alimentato a batteria sono spesso azionate da un motore passo-passo. I motori Arduino® con un motore passo-passo collegato devono essere programmati per emettere una serie di impulsi. Ogni segnale fa sì che il motore “passi” una volta.
I servomotori sono significativamente diversi dai motori DC o passo-passo. Questo motore ha ingranaggi e circuiti integrati per controllare la posizione dell’albero in modo molto accurato. Questi tipi di motori Arduino® di solito non sono destinati alla rotazione circolare completa, ma si muovono invece entro un intervallo di 90° o 180°. I servomotori richiedono sia una fonte di alimentazione costante che un segnale di posizione, che determina l’esatta posizione dell’albero. I servi, come vengono spesso chiamati questi motori, possono spesso spostarsi da una posizione all’altra con grande velocità e precisione.