Während man normale Gleichstrommotoren noch mit einfachen Schaltungen zum drehen bewegen kann, ist das mit einem Schrittmotor n icht mehr ganz so einfach. Hier sollte man einfach auf vorhandene Shields oder Treiberplatinen zurückgreifen.
Einen Schrittmotor braucht man immer dann, wenn man etwas genau positionieren möchte, also den genauen Weg reproduzierbar machen möchte.
Ein Schrittmotor ist im Prinzip ein Synchronmotor, wobei der Rotor (Drehbares Teil) durch ein sich bewegendes Magnetfled des Stator (da sitzen die Motorspulen) in jeweils einzelnen Schritten bewegt wird. Das Magentfeld wird von den Statorspulen erzeugt. Und diese werden dann von einem Treiber gespeist.
Für den Arduino gibt einfache Treiberbaustein auf Basis des ULN2003. Hier wird dann für jede Leitung ein eigener Pin verwendet.
Hier gibt's dazu mehr: http://arduino.cc/en/Reference/StepperUnipolarCircuit
Diese Schaltung kann aber nur mit unipolaren Schrittmotoren verwendet werden.
Dazu muss man sagen, es gibt 2 wesentliche Arten von Schrittmotoren:
Bei diesem Motor werden die Spulen immer gegen Masse geschaltet. Erkennen kann man Unipolare daran, daß dort min 5 Leitungen vorhanden sind.
Dieser Motor hat nur 4 Anschlüsse und die Spulen können jeweils in beiden Richtungen vom Strom durchflossen werden.
Auch für bipolare Schrittmotoren gibt es eine einfach Ansteuerschaltung: http://arduino.cc/en/Reference/StepperBipolarCircuit
Hier wird wieder der L293 verwendet, den wir bereits aus dem Bereich Gleichstrommotoren kennen.
Neben diesen doch recht einfachen Ansteuerungen gibt es für Microcontroller spezielle Ansteuerschaltungen, die der MCU einen großen Teil der Arbeit abnehmen und auch die benötigete Pinzahl reduzieren.
Beispielhaft sei hier der EASYDriver genannt.
Dieser braucht in der einfachsten Beschaltung nur 2 Leitungen, eine für den Schritt und eine für die Richtung. Hier gibt es ein leider nur englischsprachliches Tutorial. Einen einfachen Sketch für den EASYDriver reiche ich aber noch nach.
Weiterführend:
Wikipedia: Schrittmotor