Arduino Nano ESP32 – Auto

Eines der coolsten Dinge, die man ausprobieren kann, wenn man gerade mit dem Arduino Nano ESP32 anfängt, ist der Bau eines Roboterautos. In diesem Leitfaden lernen wir, wie man den Arduino Nano ESP32 verwendet, um ein Roboterauto zu bauen und es mit einer IR-Fernbedienung zu steuern. Um das Roboterauto über das Web (WLAN) zu steuern, siehe das Tutorial Arduino Nano ESP32 steuert Roboterauto über Web.

Arduino Nano ESP32 IR-Fernsteuerungsauto

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×2WD RC Car
1×L298N Motortreiber-Modul
1×IR-Fernbedienungs-Kit
1×CR2025 Batterie (für IR-Fernbedienung)
1×1.5V AA Battery (for Arduino Nano ESP32 and Car)
1×Verbindungskabel
1×Breadboard
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Roboterauto

Im Zusammenhang mit dem Arduino Nano ESP32 wird das Roboterauto oft unter verschiedenen Namen bezeichnet, wie Roboterauto, RC-Auto, Fernsteuerungsauto, Smart Car oder DIY-Auto. Es kann aus der Ferne kabellos gesteuert werden. Sie können entweder eine spezielle Fernbedienung verwenden, die Infrarotlicht nutzt, oder eine Smartphone-App über Bluetooth oder WLAN nutzen. Das Roboterauto kann nach links oder rechts fahren und auch vorwärts oder rückwärts.

Ein 2WD-Fahrzeug (Zwei-Rad-Antrieb) für Arduino Nano ESP32 ist ein kleines Roboterfahrzeug, das Sie mit einem Arduino Nano 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.
  • Wheels: Die beiden Räder, die dem Auto den Antrieb ermöglichen. Sie sind an zwei DC-Motoren angeschlossen.
  • Motors: Zwei DC-Motoren werden verwendet, um die beiden Räder anzutreiben.
  • Motortreiber: Die Motortreiberplatine ist eine wesentliche Komponente, die als Schnittstelle zwischen dem Arduino Nano ESP32 und den Motoren dient. Sie empfängt Signale vom Arduino Nano ESP32 und liefert die notwendige Leistung und Steuerung an die Motoren.
  • Arduino Nano ESP32 Board: Das Gehirn des Autos. Es liest Eingaben von Sensoren und Benutzerbefehlen aus und steuert entsprechend die Motoren.
  • Power Source: Das 2WD-Auto benötigt eine Stromquelle, üblicherweise Batterien und einen Batteriehalter, um die Motoren und das Arduino Nano 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, Linienverfolgungssensoren) und mehr.

In diesem Tutorial, um es einfach zu machen, verwenden wir:

  • 2WD Auto-Bausatz (einschließlich Fahrgestell, Räder, Motoren, Batteriefach)
  • L298N-Motortreiber
  • Infrarot-Kit (einschließlich IR-Fernbedienung und IR-Empfänger)

Überprüfen Sie die Hardwareliste oben auf dieser Seite.

Wie es funktioniert

Arduino Nano ESP32 2WD Auto – wie es funktioniert
  • Der Arduino Nano ESP32 verbindet sich über das L298N-Motortreiber-Modul mit den DC-Motoren des Roboterautos.
  • Der Arduino Nano ESP32 verbindet sich mit einem IR-Empfänger.
  • Die Batterie versorgt ESP32, DC-Motoren, Motortreiber und IR-Empfänger mit Strom.
  • Die Benutzer drücken die UP/DOWN/LEFT/RIGHT/OK-Tasten auf der IR-Fernbedienung.
  • Der Arduino Nano ESP32 empfängt die UP/DOWN/LEFT/RIGHT/OK-Befehle über den IR-Empfänger.
  • Der Arduino Nano ESP32 steuert das Auto, damit es sich vorwärts/rückwärts/links/rechts/STOP bewegt, indem es den DC-Motor über den Motortreiber ansteuert.

Verdrahtungsdiagramm

Arduino Nano ESP32 2WD Auto-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Normalerweise benötigt man zwei Energiequellen:

  • Eine für den Motor (indirekt über das L298N-Modul).
  • Eine weitere für das Arduino Nano ESP32-Board, das L298N-Modul und den IR-Empfänger.

Allerdings gibt es eine Methode, dies zu vereinfachen, indem man nur eine Stromquelle für alles verwendet. Das lässt sich erreichen, indem man vier 1,5-V-Batterien verwendet (insgesamt 6 V). So können Sie das tun:

  • Verbinden Sie die Batterien mit dem L298N-Modul, wie im Diagramm gezeigt.
  • Entfernen Sie zwei Jumper, die die ENA- und ENB-Pins mit 5 Volt am L298N-Modul verbinden.
  • Setzen Sie einen Jumper ein, der mit 5VEN beschriftet ist und im Diagramm mit einem gelben Kreis markiert ist.
  • Verbinden Sie den 12-V-Pin am Schraubterminal des L298N-Moduls mit dem Vin-Anschluss auf dem Arduino Nano ESP32-Board. Dadurch wird der Arduino Nano ESP32 direkt aus den Batterien (6 V) mit Strom versorgt.

Arduino Nano ESP32-Code

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano-esp32/arduino-nano-esp32-car */ #include <DIYables_IRcontroller.h> // IR Remote Controller library #define IR_RECEIVER_PIN 13 // The Arduino Nano ESP32 pin connected to IR receiver #define ENA_PIN D7 // The Arduino Nano ESP32 pin connected to the ENA pin L298N #define IN1_PIN D6 // The Arduino Nano ESP32 pin connected to the IN1 pin L298N #define IN2_PIN D5 // The Arduino Nano ESP32 pin connected to the IN2 pin L298N #define IN3_PIN D4 // The Arduino Nano ESP32 pin connected to the IN3 pin L298N #define IN4_PIN D3 // The Arduino Nano ESP32 pin connected to the IN4 pin L298N #define ENB_PIN D2 // The Arduino Nano ESP32 pin connected to the ENB pin L298N DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms void setup() { Serial.begin(9600); irController.begin(); pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); pinMode(IN3_PIN, OUTPUT); pinMode(IN4_PIN, OUTPUT); pinMode(ENB_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); // set full speed digitalWrite(ENB_PIN, HIGH); // set full speed } void loop() { Key17 key = irController.getKey(); if (key != Key17::NONE) { switch (key) { case Key17::KEY_UP: Serial.println("CAR - MOVING FORWARD"); CAR_moveForward(); break; case Key17::KEY_DOWN: Serial.println("CAR - MOVING BACKWARD"); CAR_moveBackward(); break; case Key17::KEY_LEFT: Serial.println("CAR - TURNING LEFT"); CAR_turnLeft(); break; case Key17::KEY_RIGHT: Serial.println("CAR - TURNING RIGHT"); CAR_turnRight(); break; case Key17::KEY_OK: Serial.println("CAR - STOP"); CAR_stop(); break; default: Serial.println("WARNING: unused key:"); break; } } } void CAR_moveForward() { digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); digitalWrite(IN3_PIN, HIGH); digitalWrite(IN4_PIN, LOW); } void CAR_moveBackward() { digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); digitalWrite(IN3_PIN, LOW); digitalWrite(IN4_PIN, HIGH); } void CAR_turnLeft() { digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); digitalWrite(IN3_PIN, LOW); digitalWrite(IN4_PIN, LOW); } void CAR_turnRight() { digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW); digitalWrite(IN3_PIN, HIGH); digitalWrite(IN4_PIN, LOW); } void CAR_stop() { digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW); digitalWrite(IN3_PIN, LOW); digitalWrite(IN4_PIN, LOW); }

Schnelle Schritte

  • Wenn Sie Arduino Nano ESP32 zum ersten Mal verwenden, lesen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Installieren Sie die Bibliothek DIYables_IRcontroller in der Arduino IDE, indem Sie dieser Anleitung folgen.
  • Schließen Sie die Verkabelung gemäß dem oben gezeigten Diagramm an.
  • Trennen Sie das Kabel vom Vin am ESP32, weil wir den Arduino Nano ESP32 während des Hochladens des Codes über das USB-Kabel mit Strom versorgen werden.
  • Drehen Sie das Auto um, sodass die Räder nach oben zeigen.
  • Verbinden Sie das Arduino Nano ESP32-Board über ein USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige Arduino Nano ESP32-Board (z. B. Arduino Nano ESP32) und den COM-Port.
  • Kopieren Sie den bereitgestellten Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie im Arduino IDE auf die Upload-Schaltfläche, um den Code auf den Arduino Nano ESP32 zu übertragen.
  • Verwenden Sie die IR-Fernbedienung, damit das Auto vorwärts, rückwärts, nach links, nach rechts fährt oder stoppt.
  • Prüfen Sie, ob sich die Räder gemäß Ihren Befehlen richtig bewegen.
  • Wenn sich die Räder in die falsche Richtung bewegen, tauschen Sie die Kabel des DC-Motors am L298N-Modul.
  • Sie können die Ergebnisse auch im Serial Monitor in der Arduino IDE sehen.
COM6
Send
CAR - MOVING FORWARD CAR - MOVING BACKWARD CAR - TURNING LEFT CAR - TURNING RIGHT CAR - STOP
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Wenn alles gut läuft, trenne das USB-Kabel vom ESP32, und dann schließe das Kabel wieder in den Vin-5V-Pin an. Dies versorgt den Arduino Nano ESP32 mit Strom aus der Batterie.
  • Stelle das Auto wieder in seine normale Position zurück, mit den Rädern am Boden.
  • Viel Spaß beim Steuern des Autos!

Code-Erklärung

Sie finden die Erklärung in den Kommentaren des obigen Arduino-Codes.

Sie können mehr über den Code erfahren, indem Sie sich die folgenden Tutorials ansehen:

Sie können dieses Projekt erweitern, indem Sie:

  • Sensoren zur Hindernisvermeidung hinzufügen, die das Auto sofort stoppen, sobald ein Hindernis erkannt wird.
  • Eine Funktion hinzufügen, um die Geschwindigkeit des Autos zu steuern (siehe Arduino Nano 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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!