ESP32 - Auto
Eine der coolsten Sachen, die man ausprobieren kann, wenn man gerade erst mit dem ESP32 anfängt, ist der Bau eines Roboterautos. In diesem Leitfaden lernen wir, wie man den ESP32 verwendet, um ein Roboterauto zu bauen und es mit einer IR-Fernbedienung zu steuern. Für die Steuerung des Roboterautos über Web (WLAN) siehe ESP32 steuert Auto über Web Tutorial.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Roboterauto
Im ESP32-Kontext wird das Roboterauto oft unter verschiedenen Bezeichnungen geführt, wie Roboterauto, RC-Auto, Fernsteuerungsauto, Smartcar oder DIY-Auto. Es kann aus der Ferne ohne Kabel gesteuert werden. Sie können entweder eine spezielle Fernbedienung verwenden, die Infrarotlicht nutzt, oder eine Smartphone-App über Bluetooth oder WLAN. Das Roboterauto kann nach links oder rechts fahren und auch vorwärts oder rückwärts.
Ein 2WD-Auto (Zweiradantrieb) für ESP32 ist ein kleines Roboterfahrzeug, das Sie mit einem ESP32-Board bauen und steuern können. Es besteht typischerweise aus den folgenden Komponenten:
- Chassis: Die Basis oder der Rahmen des Autos, an dem alle anderen Komponenten montiert sind.
- Räder: Die beiden Räder, die dem Auto Fortbewegung verleihen. Sie sind mit zwei DC-Motoren verbunden.
- Motoren: Zwei DC-Motoren werden verwendet, um die beiden Räder anzutreiben.
- Motortreiber: Die Motortreiber-Platine ist eine wesentliche Komponente, die zwischen dem ESP32 und den Motoren vermittelt. Sie empfängt Signale vom ESP32 und liefert die notwendige Leistung und Steuerung an die Motoren.
- ESP32-Board: Das Gehirn des Autos. Es liest Eingaben von Sensoren und Benutzereingaben und steuert die Motoren entsprechend.
- Stromquelle: Das 2WD-Auto benötigt eine Stromquelle, üblicherweise Batterien und einen Batteriehalter, um die Motoren und das ESP32-Board mit Strom zu versorgen.
- Drahtloser Empfänger: Ein Infrarot-, Bluetooth- oder WiFi-Modul zur drahtlosen Kommunikation mit einer Fernbedienung oder einem Smartphone.
- Optionale Komponenten: Je nach Komplexität Ihres Projekts können Sie verschiedene optionale Komponenten hinzufügen, wie Sensoren (z. B. Ultraschallsensoren zur Hindernisvermeidung, Linienfolger-Sensoren) und mehr.
In diesem Tutorial verwenden wir, um es einfach zu machen:
- 2WD Auto-Kit (einschließlich Fahrgestell, Räder, Motoren, Batteriehalter)
- L9110S Motortreiber
- Infrarot-Kit (einschließlich Infrarot-Fernbedienung und Infrarot-Empfänger)
Überprüfen Sie die Hardwareliste oben auf dieser Seite.
Wie es funktioniert

- ESP32 verbindet sich über das L9110S-Motortreiber-Modul mit den Gleichstrommotoren des Roboterautos.
- ESP32 verbindet sich mit einem IR-Empfänger.
- Die Batterie versorgt ESP32, Gleichstrommotoren, den Motortreiber und den IR-Empfänger.
- Benutzer drücken die Tasten UP/DOWN/LEFT/RIGHT/OK auf der IR-Fernbedienung.
- ESP32 empfängt die UP/DOWN/LEFT/RIGHT/OK-Befehle über den IR-Empfänger.
- ESP32 steuert das Auto so, dass es sich VORWÄRTS/RÜCKWÄRTS/LINKS/RECHTS/STOP bewegt, indem es den Gleichstrommotor über den Motortreiber steuert.
Verdrahtungsdiagramm
Das folgende Diagramm zeigt, wie der ESP32, der L9110S-Motortreiber, die beiden Gleichstrommotoren und der IR-Empfänger verbunden werden, wobei ein Breadboard verwendet wird, um die gemeinsamen Strom- und Masseleitungen zu teilen:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
Hinweis: Das obige Diagramm zeigt die korrekte Verdrahtung. In der Praxis ist es nicht einfach, mehrere Kabel (wie die gemeinsamen VCC- und GND-Leitungen) in dasselbe Stiftleisten-Loch des ESP32 zu stecken. Eine praktische Lösung besteht darin, eine Schraubklemmen-Breakout-Platine für ESP32 zu verwenden – mehrere Kabel können in derselben Schraubklemme befestigt werden, oder ein Kabel in der Schraubklemme und ein weiteres im benachbarten Stiftleisten-Pin.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
In der Regel werden zwei Energiequellen benötigt:
- Eines für den Motor (indirekt über das L9110S-Modul).
- Ein weiteres für das ESP32-Board, das L9110S-Modul und den IR-Empfänger.
Das L9110S-Modul versorgt die Motoren direkt über seine VCC- und GND-Pins und besitzt keinen integrierten 5-V-Spannungsregler. Dadurch können Sie alles aus einer einzigen Stromquelle betreiben – vier 1,5-V-Batterien (insgesamt 6 V). So können Sie es machen:
- Verbinden Sie die 6-V-Batterie mit den VCC- und GND-Pins des L9110S-Moduls, um die Motoren zu versorgen.
- Verbinden Sie dieselbe 6-V-Batterie mit den Vin- und GND-Pins des ESP32-Boards, um es zu versorgen.
- Stellen Sie sicher, dass das L9110S-Modul, das ESP32-Board und der IR-Empfänger eine gemeinsame Masse (GND) teilen.
Anders als beim L298N besitzt das L9110S keine ENA/ENB-Enable-Jumper und kein 12-V-Schraubterminal, sodass die Verdrahtung einfacher ist.
ESP32-Code
Schnelle Schritte
- Wenn du ESP32 zum ersten Mal verwendest, siehe wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet.
- Installiere die Bibliothek DIYables_IRcontroller in der Arduino-IDE, indem du dieser Anleitung folgst.
- Schließe die Verkabelung entsprechend dem oben gezeigten Diagramm an.
- Trenne das Kabel vom Vin-Pin am ESP32, weil wir den ESP32 beim Hochladen des Codes über das USB-Kabel mit Strom versorgen werden.
- Drehe das Auto um, damit die Räder oben sind.
- Schließe das ESP32-Board über ein Micro-USB-Kabel an deinen PC an.
- Öffne die Arduino-IDE auf deinem PC.
- Wähle das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Kopiere den bereitgestellten Code und öffne ihn in der Arduino-IDE.
- Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf den ESP32 zu übertragen.
- Verwende die IR-Fernbedienung, damit das Auto vorwärts, rückwärts, nach links, nach rechts fährt oder stoppt.
- Überprüfe, ob sich die Räder gemäß deinen Befehlen korrekt bewegen.
- Wenn sich die Räder in die falsche Richtung bewegen, tausche die Kabel des DC-Motors am L9110S-Modul.
- Du kannst die Ergebnisse auch im Serial Monitor der Arduino-IDE sehen.
- Wenn alles gut läuft, stecke das USB-Kabel vom ESP32 ab, und dann schließe das Kabel wieder an den Vin-5V-Pin an. Dadurch wird der ESP32 von der Batterie mit Strom versorgt.
- Stelle das Auto wieder in seine normale Position mit den Rädern auf dem Boden.
- Viel Spaß beim Steuern des Autos!
Code-Erklärung
Sie finden die Erklärung in den Kommentaren des Arduino-Codes.
Sie können mehr über den Code erfahren, indem Sie sich die folgenden Tutorials ansehen:
- ESP32 - Infrared Remote Control tutorial
- ESP32 - DC motor tutorial
Sie können dieses Projekt wie folgt erweitern:
- Hindernisvermeidungssensoren hinzufügen, um das Auto sofort zu stoppen, wenn ein Hindernis erkannt wird.
- Eine Funktion zur Steuerung der Geschwindigkeit des Autos hinzufügen (siehe ESP32 - DC motor Tutorial). Der bereitgestellte Code steuert das Auto mit voller Geschwindigkeit.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.