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 Nano V3.0 Development Board
1×USB-A-zu-Mini-B-Kabel
1×RC Car
1×L9110S 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 (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)
  • L9110S-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 L9110S-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 L9110S-Modul).
  • Ein weiteres für das Arduino Nano-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 geht's:

  • 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 Arduino Nano-Boards, um es zu versorgen.
  • Stellen Sie sicher, dass das L9110S-Modul, das Arduino Nano-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.

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 11 // The Arduino Nano pin connected to IR receiver #define MOTOR_A_IA_PIN 5 // The Arduino Nano pin connected to the A-IA pin of the L9110S (Motor A) #define MOTOR_A_IB_PIN 6 // The Arduino Nano pin connected to the A-IB pin of the L9110S (Motor A) #define MOTOR_B_IA_PIN 9 // The Arduino Nano pin connected to the B-IA pin of the L9110S (Motor B) #define MOTOR_B_IB_PIN 10 // The Arduino Nano pin connected to the B-IB pin of the L9110S (Motor B) DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms void setup() { Serial.begin(9600); irController.begin(); pinMode(MOTOR_A_IA_PIN, OUTPUT); pinMode(MOTOR_A_IB_PIN, OUTPUT); pinMode(MOTOR_B_IA_PIN, OUTPUT); pinMode(MOTOR_B_IB_PIN, OUTPUT); } 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(MOTOR_A_IA_PIN, HIGH); digitalWrite(MOTOR_A_IB_PIN, LOW); digitalWrite(MOTOR_B_IA_PIN, HIGH); digitalWrite(MOTOR_B_IB_PIN, LOW); } void CAR_moveBackward() { digitalWrite(MOTOR_A_IA_PIN, LOW); digitalWrite(MOTOR_A_IB_PIN, HIGH); digitalWrite(MOTOR_B_IA_PIN, LOW); digitalWrite(MOTOR_B_IB_PIN, HIGH); } void CAR_turnLeft() { digitalWrite(MOTOR_A_IA_PIN, HIGH); digitalWrite(MOTOR_A_IB_PIN, LOW); digitalWrite(MOTOR_B_IA_PIN, LOW); digitalWrite(MOTOR_B_IB_PIN, LOW); } void CAR_turnRight() { digitalWrite(MOTOR_A_IA_PIN, LOW); digitalWrite(MOTOR_A_IB_PIN, LOW); digitalWrite(MOTOR_B_IA_PIN, HIGH); digitalWrite(MOTOR_B_IB_PIN, LOW); } void CAR_stop() { digitalWrite(MOTOR_A_IA_PIN, LOW); digitalWrite(MOTOR_A_IB_PIN, LOW); digitalWrite(MOTOR_B_IA_PIN, LOW); digitalWrite(MOTOR_B_IB_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 L9110S-Modul aus.
  • Sie können die Ergebnisse auch im Serial Monitor der Arduino IDE sehen.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
MOVING FORWARD MOVING BACKWARD TURNING LEFT TURNING RIGHT STOP
Ln 11, Col 1
Arduino Nano on COM15
2
  • 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!