Adafruit Motor Platine v1

Last Updated on 10. Oktober 2026 by sfambachLink-Status: OK

Die Motorplatine ist perfekt für kleine Roboter-Projekte geeignet, bei denen 2 bis 4 Antriebsmotoren verwendet werden.

Zusätzlich bietet sie Anschlüsse für zwei Servos. Die analogen Ports sind durchgeschleift.

Fakten

Hier die wichtigsten Daten im Überblick:

  • 2 Servoanschlüsse
  • 2 Motorbrücken
  • 1 Schieberegister
  • 1 Resetschalter
  • 1 Externer Spannungsanschluss
  • 1 Power LED
  • Jumper – zur Unterbrechung der Boardspannung
BeschreibungWert
Logik-Spannung [V]5
Ausgangsspannung Motor [V]4,5 -25
Max Ausgangsstrom pro Motor / Spitze [mA]600
Stromspitzen von bis zu [mA]1200
Servospannung [V]5
Jumper Trennung Versorgungsspannung und Boardspannung1
Versorgungsspannung für Motor [V]4,5 -25
Kerndaten

Nachtrag 30.09.2023: Neuere Platinen scheinen bis 36V Ausgangsspannung zu funktionieren

Beschaltung

Motorbrücken

Mit Hilfe der Motorbrücken können 4 Gleichstrommotoren oder 2  Schrittmotoren (mit 4 Leitungen) betrieben werden. Die L293D Motorbrücken können Motoren bis zu einem Strom von 600mA versorgen. (Kurzzeitig bis zu 1,2 A). Wird ein höherer Strom benötigt, können weitere L293D IC’s huckepack auf die vorhandenen aufgelötet und parallel betrieben werden.

Das Schieberegister ermöglicht es, mit nur 3 Pins des Arduinos die Drehrichtungen der Motoren zu bestimmen.

(evtl. mal einen Beitrag zum Schieberegister einfügen…).

Für die Ansteuerung der Motoren gibt es unter anderem eine Bibliothek von Adafruit. Diese kann über Git oder die Arduino GUI heruntergeladen werden (siehe unten).

https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/masterLink-Status: OK

Die Motorbrücken belegen die folgenden Pins am Arduino:

  • Pin 11 Motor 1 – Geschwindigkeit
  • Pin   3  Motor 2 – Geschwindigkeit
  • Pin   5  Motor 3 – Geschwindigkeit
  • Pin   6  Motor 4 – Geschwindigkeit
  • Pin   4, 7, 8, 12 Richtungsvorgabe für alle Motoren über 74HC595 Register.

Servoanschlüsse

Das Board verfügt über zwei Steckplätze für Standardservos. Jeder Steckplatz hat drei Pins, jeweils einen für Strom, Masse und den Steuereingang.

Die Steuereingänge belegen die folgenden Pins am Arduino:

  • Pin 9    – Servo 1
  • Pin 10 – Servo 2

Externe Spannungsversorgung

Hier können von 4.5V bis zu 25V an Schraubklemmen angelegt werden. Bitte auf die Polung achten, sonst rauchts …

Ansichten

Einsatz

  • Zwei-Achs-Plotter
  • 2 oder 4 Rad-Roboter
  • Pan/Tilt Stativ

Programmierung

Bibliotheken

Ich habe mir die Bibliothek über GitHubLink-Status: OK heruntergeladen und sie manuell installiert. Über die Arduino GUI geht es etwas einfacher.

Bibliotheksmanager aufrufen:

Nach „motor“ suchen und die „Adafruit Motor Shield Library“ in der letzten Version installieren.  Aufgepasst, es gibt eine „Adafruit Motor Shield V2“, diese kann leider nicht für die V1 Platine verwendet werden. (Motorplatine V2).Link-Status: Kaputt

Code

Servos ansteuern

Im Grunde werden die Servos ganz normal über die Arduino Bibliothek angesprochen. Wichtig für die Motorplatine ist nur, dass hier die Servos an Port 9 und 10 angeschlossen sind.

Meine Billigservos hakeln ein wenig an den Endpunkten, dies könnte man noch ausschließen, indem man die Konstanten min und max anpasst.

Über den Faktor kann die Schrittgröße bestimmt werden und über wait die Wartezeit zwischen den einzelnen Schritten.

Quellcode ServoTest.ino

#include <Servo.h> // inlcude library for servos

// init servos 
#define SERVO_PIN_1 9
#define SERVO_PIN_2 10
Servo servo1;
Servo servo2;

void setup() {

  // initialize serial port
  Serial.begin(9600);
  
  // leonardo workaround waiting for serial port to be ok
  while(!Serial)delay(1);

  // init servos
  Serial.print("Init Servos .");
  servo1.attach(SERVO_PIN_1); Serial.print(".");
  servo2.attach(SERVO_PIN_2); Serial.println(".");
}

const int min = 0, max = 255;
int  cur = 0, factor = 1, wait = 10;

void loop() {
  // put your main code here, to run repeatedly:
  if(cur <= min){ // change to positive direction
    cur = 0; factor *= -1;
    Serial.println("Start positive direction");
  } else if( cur >= 255){ // change to negative direction
    cur = 255; factor *= -1;
    Serial.println("Start negative direction");
  } 

  Serial.print(".");
  servo1.write(cur);
  servo2.write(cur);
  
  cur += factor;
  delay(wait);
}

ServoTest.inoLink-Status: OK

Motoren ansteuern

Für einen ersten Test habe ich das vorhandene Beispielprogramm verwendet.

Einfach auswählen, kompilieren und schon läuft Motor 1.

Um alle 4 Motoren zu testen, was nützlich erscheint, um die Drehrichtungen (Polung) zu überprüfen, habe ich die Datei wie folgt angepasst.

MotorTest2.inoLink-Status: OK

Die Ausgabe sollte dann wie folgt aussehen.

Schrittmotor ansteuern

Grundlagen zum Schrittmotor gibts hierLink-Status: OK.

Für die ersten Tests gibts ein Beispielprogramm.

Sonstiges

Kompatibilität

Der Shield kann mit folgenden Boards verwendet werden.

Arduino Uno

Arduino UnoLink-Status: Unbekannt

Arduino Leonardo

Arduino LeonardoLink-Status: OK

Uno + WiFi

Bedingt kompatibel, es wird eine externe Spannungsquelle benötigt, um mehr als einen Servo zu betreiben.

Arduino Uno + WiFiLink-Status: OK

Arduino Mega + WiFi

Arduino Mega 2560+ESP WIFILink-Status: Unbekannt

Fazit

Die Platine kann 4 Motoren und zwei Servos ansteuern, was für die meisten RC oder Roboter Projekte ausreichen dürfte. Leider belegt sie hierfür bei voller Auslastung schon 10 IOs. Wer mehr IOs benötigt, könnte mit der Version 2 der PlatineLink-Status: Unbekannt besser bedient sein, diese ist aber aktuell recht teuer.

Verwandte Beiträge

Quellen

https://playground.arduino.cc/Main/AdafruitMotorShieldLink-Status: OK

https://learn.adafruit.com/adafruit-motor-shield/library-installLink-Status: OK

https://learn.adafruit.com/adafruit-motor-shieldLink-Status: OK

https://learn.adafruit.com/adafruit-motor-shield/faqLink-Status: OK

DatumÄnderungAutor
10.10.2026Gistpen-Einbettung durch Code-Block ersetzt (Code aus der angehängten Datei ServoTest.ino)sfambach
08.10.2026Überschriften-Hierarchie korrigiert (H1→H2, Unterebenen eine Stufe tiefer)sfambach
03.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Grammatik, Groß-/Kleinschreibung
Log-Liste eingefügt
sfambach
21.03.2018Beitrag erstelltsfambach
Logbuch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert