Arduino Nano - Auto

Dieses Tutorial zeigt dir, wie man ein IR-ferngesteuertes Auto mit dem Arduino Nano und einer IR-Fernbedienung baut.

Infrarot-Fernsteuerungsauto

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×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 and Car)
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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

In der Welt des Arduino Nano wird das Roboterauto gemeinhin als RC-Car, Fernsteuerauto, Smart-Car oder DIY-Auto bezeichnet. Diese schicke Kreation kann aus der Ferne gesteuert werden, entweder mit einer IR-Fernbedienung oder mit einer Smartphone-App über Bluetooth/WiFi. Es kann scharfe Kurven nach links oder rechts fahren und sich mühelos vorwärts oder rückwärts bewegen.

Ein 2WD-Fahrzeug (Zweiradantrieb) für Arduino Nano ist ein kleines Roboterauto, das Sie mit einem Arduino Nano-Board zusammenbauen und betreiben können. Es besteht in der Regel aus den folgenden wesentlichen Teilen:

  • Fahrgestell: Das ist wie der Rahmen des Autos, an dem du alle anderen Komponenten anbringst.
  • Räder: Das sind die beiden Räder, die das Auto bewegen. 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 entscheidende Komponente, die das Arduino Nano mit den Motoren verbindet. Sie nimmt Signale vom Arduino Nano auf und versorgt die Motoren mit Leistung und Steuerung.
  • Arduino Nano-Board: Das ist das Gehirn des Autos. Es liest Eingaben von Sensoren und Benutzerbefehlen und steuert entsprechend die Motoren.
  • Stromversorgung: Das Zweiradantriebsauto benötigt eine Energiequelle, üblicherweise Batterien und einen Batteriehalter, um die Motoren und das Arduino Nano-Board mit Strom zu versorgen.
  • Funkempfänger: Dabei handelt es sich um ein Infrarot-, Bluetooth- oder WLAN-Modul, das eine drahtlose Kommunikation mit einer Fernbedienung oder einem Smartphone ermöglicht.
  • Optionale Komponenten: Je nachdem, wie fortgeschritten dein Projekt sein soll, kannst du verschiedene optionale Teile hinzufügen, wie Sensoren (zum Beispiel Ultraschallsensoren zum Vermeiden von Hindernissen oder Linienfolgesensoren) und mehr.

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

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

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

Wie es funktioniert

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

Verdrahtungsdiagramm

Arduino Nano 2WD Auto Verdrahtungsdiagramm

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

In der Regel benötigen wir zwei Energiequellen:

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

Es gibt jedoch eine Möglichkeit, dies zu vereinfachen und für alles nur eine Stromquelle zu verwenden. Das lässt sich erreichen, indem man vier 1,5-V-Batterien verwendet (insgesamt 6 V). So geht's:

  • Verbinden Sie die Batterien mit dem L298N-Modul gemäß dem oben gezeigten Diagramm.
  • Entfernen Sie alle drei Jumper am L298N-Modul.

Arduino Nano Quellcode

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-car */ #include <DIYables_IRcontroller.h> // DIYables_IRcontroller library #define IR_RECEIVER_PIN 13 // The Arduino Nano pin connected to IR receiver #define ENA_PIN 7 // The Arduino Nano pin connected to the ENA pin L298N #define IN1_PIN 6 // The Arduino Nano pin connected to the IN1 pin L298N #define IN2_PIN 5 // The Arduino Nano pin connected to the IN2 pin L298N #define IN3_PIN 4 // The Arduino Nano pin connected to the IN3 pin L298N #define IN4_PIN 3 // The Arduino Nano pin connected to the IN4 pin L298N #define ENB_PIN 2 // The Arduino Nano 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("MOVING FORWARD"); CAR_moveForward(); break; case Key17::KEY_DOWN: Serial.println("MOVING BACKWARD"); CAR_moveBackward(); break; case Key17::KEY_LEFT: Serial.println("TURNING LEFT"); CAR_turnLeft(); break; case Key17::KEY_RIGHT: Serial.println("TURNING RIGHT"); CAR_turnRight(); break; case Key17::KEY_OK: Serial.println("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

  • Installieren Sie die DIYables_IRcontroller-Bibliothek in der Arduino IDE, indem Sie dieser Anleitung folgen.
  • Verkabeln Sie gemäß dem oben gezeigten Diagramm.
  • Trennen Sie das Kabel vom Vin-Pin des Arduino Nano, denn wir werden den Arduino Nano beim Hochladen des Codes über das USB-Kabel mit Strom versorgen.
  • Drehen Sie das Auto um, sodass die Räder oben sind.
  • Schließen Sie den Arduino Nano über das USB-Kabel an Ihren Computer an.
  • Kopieren Sie den bereitgestellten Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino Nano zu übertragen.
  • Verwenden Sie die IR-Fernbedienung, um das Auto vorwärts, rückwärts, nach links, nach rechts oder zum Stillstand zu bewegen.
  • Überprü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 Gleichstrommotors am L298N-Modul aus.
  • Sie können die Ergebnisse auch im Serial Monitor der Arduino IDE sehen.
COM6
Send
MOVING FORWARD MOVING BACKWARD TURNING LEFT TURNING RIGHT STOP
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Wenn alles einwandfrei funktioniert, trenne das USB-Kabel vom Arduino Nano, und verbinde das Kabel wieder mit dem Vin-Pin, um den Arduino Nano aus der Batterie mit Strom zu versorgen.
  • Drehe das Auto wieder in seine normale Position, sodass die Räder auf dem Boden stehen.
  • Viel Spaß beim Steuern des Autos!

Code-Erklärung

Sie finden die Erklärung in der Kommentarzeile 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:

  • Hindernisvermeidungssensoren hinzufügen, die das Fahrzeug sofort stoppen, wenn ein Hindernis erkannt wird.
  • Eine Funktion hinzufügen, um die Geschwindigkeit des Autos zu steuern (siehe Arduino Nano - DC-Motor Tutorial). Der bereitgestellte Code steuert das Auto mit Vollgas.

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.

Verwandte Tutorials

※ 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!