Der Arduino® Mikrocontroller kann verwendet werden, um verschiedene Arten von Motoren zu steuern. Obwohl die genaue elektronische Steuerschaltung je nach Projekt variiert, ist jeder Motor mit einem Ausgangspin auf der Arduino®-Platine verbunden. Der Programmiercode kann verwendet werden, um die Geschwindigkeit und Richtung eines angeschlossenen Motors zu ändern oder einen Motor zu einer ausgewählten Position zu bewegen. Die drei häufigsten Arten von Arduino®-Motoren sind Gleichstrom (DC), Schrittmotor und Servo.
Ein Gleichstrommotor ist relativ einfach und kann für viele Zwecke verwendet werden. Gleichstrommotoren enthalten Drahtspulen, die in einem Magneten angeordnet sind. Wenn Strom durch die Spulen geschickt wird, bewirkt das resultierende elektromagnetische Feld, dass sich eine Welle dreht. Viele der Gleichstrom-Arduino®-Motoren, die in diesen Projekten verwendet werden, umfassen einfache Getriebe, die eine Hebelwirkung zum Drehen schwerer Räder oder zum Ausführen anderer mechanischer Aufgaben bieten.
Sehr kleine Gleichstrommotoren können direkt an einen Arduino®-Ausgangspin angeschlossen werden, aber Motoren, die mehr als 40 Milliampere Strom aufnehmen, erfordern zusätzliche Steuerschaltungen. Zu diesem Zweck werden häufig Transistoren verwendet.; Dadurch kann der Arduino® ein Niedrigstromsignal verwenden, das einen Halbleiterschalter aktiviert und Hochstrom an den Motor sendet. In einigen Anwendungen wie der Robotik werden mehrere Transistoren in einer als „H-Brücke“ bezeichneten Anordnung kombiniert. Eine H-Brücke ermöglicht die Umkehrung der elektrischen Polarität und ermöglicht den Vorwärts- oder Rückwärtsantrieb von DC-Arduino®-Motoren.
Arduino®-Schrittmotoren ähneln DC-Motoren, drehen sich jedoch nicht kontinuierlich. Stattdessen lässt die interne Anordnung der elektromagnetischen Spulen einen Schrittmotor in kleinen Schritten vorwärts oder „schritten“. Als Beispiel für dieses Uhrwerk werden die Zeiger einer batteriebetriebenen Analoguhr oft von einem Schrittmotor angetrieben. Arduino®-Motoren mit angeschlossenem Schrittmotor müssen so programmiert werden, dass sie eine Reihe von Impulsen ausgeben. Jedes Signal bewirkt, dass der Motor einmal „tritt“.
Servomotoren unterscheiden sich erheblich von DC- oder Schrittmotoren. Dieser Motor verfügt über integrierte Getriebe und Schaltungen zur sehr genauen Steuerung der Wellenposition. Diese Arten von Arduino®-Motoren sind normalerweise nicht für eine vollständige Kreisdrehung gedacht, sondern bewegen sich stattdessen innerhalb eines Bereichs von 90° oder 180°. Servomotoren benötigen sowohl eine konstante Stromquelle als auch ein Positionssignal, das die genaue Position der Welle bestimmt. Servos, wie diese Motoren oft genannt werden, können sich oft mit großer Geschwindigkeit und Genauigkeit von Position zu Position bewegen.