Arduino UNO R4 - DC-Motorschild
Der Arduino Uno R4 - erhältlich als Minima und WiFi - bietet mehr Rechenleistung, zusätzlicher Speicher und ein 14-Bit-ADC, während das klassische Uno-Kopfzeilenlayout beibehalten wird. Das bedeutet, dass das Motor Shield Rev3 ohne zusätzliche Verkabelung direkt auf das Uno R4 gesteckt werden kann.
In diesem Leitfaden werden Sie:
- Das Motor Shield Rev3 auf ein Arduino Uno R4-Board stapeln.
- Einen Gleichstrommotor und ein externes Batteriepaket verkabeln.
- Code schreiben, der den Motor vorwärts und rückwärts dreht.
- Die Motorgeschwindigkeit durch PWM-Werte (0-255) einstellen.
- Die elektronische Bremse ein- und ausschalten.
- Den Motorstromfluss durch den analogen Erfassungsstift überwachen.
- Zwei Motoren gleichzeitig mit Kanal A und Kanal B betreiben.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Motor Shield Rev3 Übersicht
Das Herzstück des Motor Shield Rev3 ist der L298P Dual-Vollbrückentreiber. Dieser Chip gibt Ihnen unabhängige Kontrolle über zwei Gleichstrommotoren - jeder mit eigener Richtungsleitung, PWM-Geschwindigkeitsleitung, Bremsleitung und analogem Strommesseingang.
Hier ist, was jede Steuerleitung macht:
- Richtung - ein digitaler Ausgang, der die Drehrichtung einstellt. Das Schreiben von HIGH dreht auf eine Weise; LOW dreht auf die andere.
- PWM - ein analoger (PWM) Ausgang, der die Arbeitszyklus einstellt. Werte reichen von 0 (gestoppt) bis 255 (Vollgeschwindigkeit).
- Bremse - ein digitaler Ausgang. Wenn Sie es auf HIGH setzen, wird die Motorwelle gesperrt; wenn Sie es auf LOW setzen, kann der Motor frei drehen.
- Strommessung - ein analoger Eingang, der anzeigt, wie viel Strom der Motor zieht.
Da das Uno R4 die exakt gleichen Kopfzeilenpositionen wie das ursprüngliche Uno R3 hat, passen alle Stifte automatisch:
| Funktion | Kanal A | Kanal B |
|---|---|---|
| Richtung | D12 | D13 |
| PWM (Geschwindigkeit) | D3 | D11 |
| Bremse | D9 | D8 |
| Strommessung | A0 | A1 |
Stromversorgung der Motoren
Motoren benötigen mehr Strom als USB bereitstellen kann. Verbinden Sie eine externe 6-12-V-Stromversorgung (z. B. zwei 18650-Lithiumzellen in Reihe) mit den Schraubklemmen des Schilds. Der Arduino selbst kann weiterhin von USB versorgt werden.
Schaltplan
Setzen Sie das Motor Shield Rev3 auf die Uno R4-Kopfzeilenleisten und stellen Sie sicher, dass jeder Stift ordnungsgemäß sitzt.
Befestigen Sie die Gleichstrommotor-Leitungen an den Kanal-A-Schraubklemmen - die Kanalbeschriftungen sind auf der Platine aufgedruckt.
Verbinden Sie das externe Batteriepaket mit den Schraubklemmen des Stromversorgung.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.
Wie man die Bibliothek installiert
- Verbinden Sie das Arduino Uno R4 mit einem USB-Kabel vom Typ C mit Ihrem Computer.
- Überprüfen Sie in der Arduino IDE, ob das richtige Board (Arduino Uno R4 Minima oder WiFi) und der serielle Anschluss ausgewählt sind.
- Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste.
- Geben Sie "DIYables_DC_Motor" in das Suchfeld ein und suchen Sie die von DIYables veröffentlichte Bibliothek.
- Klicken Sie auf Installieren, um die Bibliothek zu Ihrer IDE hinzuzufügen.

Es werden keine zusätzlichen Abhängigkeiten benötigt - die Bibliothek ist völlig eigenständig.
Minimale Sketch-Struktur
Alle Motor-Control-Sketche teilen dieses Skelett:
motor.begin() konfiguriert die Richtungs-, PWM- und Bremsstifte. Das Aufrufen von motor.run() stellt die Richtung ein, gibt die Bremse frei und wendet die angeforderte Geschwindigkeit an. motor.brake() aktiviert die Bremse und setzt die PWM auf Null.
Einzelmotor auf Kanal A
Betreiben Sie einen Motor auf Kanal A, wechselnd zwischen Vorwärts und Rückwärts alle zwei Sekunden mit vollständigem Stopp dazwischen.
Wie man es ausführt
- Setzen Sie das Schild auf das Uno R4 und verbinden Sie den Motor mit Kanal A.
- Verbinden Sie das Batteriepaket mit den Stromklemmen.
- Verbinden Sie das USB-Kabel vom Typ C.
- Fügen Sie den Code in die Arduino IDE ein, wählen Sie das richtige Board und den richtigen Anschluss aus und klicken Sie auf Hochladen.
- Öffnen Sie den Seriellen Monitor, um die Richtungswechsel zu verfolgen.
Der Motor wechselt zwischen Vorwärts und Rückwärts bei Geschwindigkeit 30, mit 2 Sekunden Pause zwischen den einzelnen Richtungswechseln.
Methoden-Kurzreferenz
| Methode | Was es macht | Verwendung |
|---|---|---|
| run(dir, speed) | Dreht den Motor in der angegebenen Richtung mit der angegebenen Geschwindigkeit | motor.run(MOTOR_FORWARD, 100) |
| setSpeed(speed) | Ändert die Geschwindigkeit ohne die Richtung oder Bremse zu beeinflussen | motor.setSpeed(200) |
| setDirection(dir) | Ändert die Richtung ohne die Geschwindigkeit oder Bremse zu beeinflussen | motor.setDirection(MOTOR_BACKWARD) |
| brake() | Aktiviert die Bremse und setzt die Geschwindigkeit auf Null | motor.brake() |
| release() | Deaktiviert die Bremse | motor.release() |
| readCurrent() | Gibt den rohen ADC vom Strommessenstift zurück | motor.readCurrent() |
Einzelmotor auf Kanal B
Identisches Verhalten, aber auf Kanal B - einfach die Kanalkonstante wechseln.
Wie man es ausführt
- Verbinden Sie den Motor mit den Kanal-B-Schraubklemmen.
- Laden Sie den Sketch hoch und öffnen Sie den Seriellen Monitor.
Alles funktioniert auf die gleiche Weise; nur die zugrunde liegenden Stifte unterscheiden sich.
Zwei Motoren - Beide Kanäle
Betreiben Sie zwei Motoren unabhängig: gleiche Richtung, entgegengesetzte Richtung und synchronisierte Bremsen.
Wie man es ausführt
- Befestigen Sie einen Motor an Kanal A und einen anderen an Kanal B.
- Laden Sie hoch und öffnen Sie den Seriellen Monitor.
Der Sketch durchlaufen drei Muster: beide vorwärts, beide rückwärts und Motoren drehen sich in entgegengesetzten Richtungen.
Motorstrom lesen
Überwachen Sie den Stromverbrauch eines Motors in Echtzeit.
Wie man es ausführt
- Verbinden Sie einen Motor mit Kanal A.
- Laden Sie den Sketch hoch und öffnen Sie den Seriellen Monitor.
- Der rohe ADC-Wert wird alle 500 ms aktualisiert.
Über Strommessung
Die analogen Stifte A0 und A1 tragen eine Spannung, die proportional zum Motorstrom auf Kanal A bzw. Kanal B ist. readCurrent() gibt den rohen ADC-Wert zurück - auf dem Uno R4 ist dies ein 14-Bit-Wert (0-16383) dank des Renesas RA4M1 ADC. Konvertieren Sie in Milliampere mit dem dokumentierten Empfindlichkeitsfaktor des Schilds.
Benutzerdefinierte Pin-Zuordnung
Wenn Sie die Standard-Pin-Zuordnung überschreiben müssen - zum Beispiel bei Verwendung einer Motorfahrerkarte eines Drittanbieters - übergeben Sie die Stifte direkt an den Konstruktor.
Wie man es ausführt
- Aktualisieren Sie die Stiftnummern im Konstruktor, um Ihrer Hardware zu entsprechen.
- Laden Sie hoch und überprüfen Sie die Motoroperation.
Fehlerbehebung
- Motor steht still - Bestätigen Sie, dass die Motorleitungen fest in den Schraubklemmen sitzen und dass der Kanal dem Code entspricht (MOTOR_CH_A vs. MOTOR_CH_B).
- Kein Drehmoment - Erhöhen Sie den Geschwindigkeitswert. Sehr niedrige PWM-Werte können möglicherweise nicht die Trägheit des Motors überwinden.
- Externe Stromversorgung tot - Laden Sie die Batterien auf oder ersetzen Sie sie. Überprüfen Sie, dass die Polarität an den Stromklemmen korrekt ist.
- Richtung scheint falsch - Tauschen Sie die beiden Motorleitungen an der Schraubklemme aus, oder schalten Sie die Richtungskonstante in der Software um.
- Strommessung immer Null - Stellen Sie sicher, dass Sie den Kanal-Konstruktor oder den 4-Pin-Konstruktor verwendet haben, der den Strommessenstift enthält.
Arduino Uno R4 DC Motor Shield - Vollständige Demo
Das Folgende ist ein schrittweises Video-Tutorial, das alle Beispiele des DC-Motorschild demonstriert:
Plattformunterstützung
Die Bibliothek verlässt sich ausschließlich auf Arduino Standard APIs (pinMode, digitalWrite, analogWrite, analogRead) und wird auf allen Arduino-kompatiblen Plattformen ausgeführt.