Mit Hilfe eines Treibers lassen sich auch Motoren steuern, wie beispielsweise in einem kleinen Roboter. [Todo: Bild einfügen]

Dieser besitzt 2 Motoren, die jeweils eines der beiden Räder ansteuern können.

// Initialisierung der Steuerpins
void setup() {                
  // motor pins
  pinMode(5, OUTPUT);  // links vorwärts
  pinMode(6, OUTPUT);  // links rückwärts
  pinMode(10, OUTPUT); // rechts vorwärts
  pinMode(11, OUTPUT); // rechts rückwärts
}

// Hauptschleife; von hier werden Unterfunktionen aufgerufen
// jede der Funktionen 
void loop() {
  halt(10000);
  vor(3000);
  halt(1000);
  rueck(3000);
  halt(1000);
  drehRechts(3000);
  halt(1000);
  drehLinks(3000);
}

// fahre n ms lang vorwärts
void vor(int n) {
  digitalWrite(5, HIGH);
  digitalWrite(10, HIGH);
  delay(n);
}

// fahre n ms lang rückwärts
void rueck(int n) {
  digitalWrite(6, HIGH);
  digitalWrite(11, HIGH);
  delay(n); 
}

// drehe den Roboter n ms lang rechts herum
void drehRechts(int n) {
  digitalWrite(5, HIGH);
  digitalWrite(11, HIGH);
  delay(n);
  digitalWrite(5, LOW);
  digitalWrite(11, LOW);
}

// drehe den Roboter n ms lang links herum
void drehLinks(int n) {
  digitalWrite(6, HIGH);
  digitalWrite(10, HIGH);
  delay(n);
  digitalWrite(6, LOW);
  digitalWrite(10, LOW); 
}

// halte den Roboter n ms lang an
void halt(int n) {
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  delay(n);
}