Arduino Nano - Auto

Deze handleiding laat u zien hoe u een IR-afstandsbediende auto bouwt met Arduino Nano en een IR-afstandsbediening.

IR remote control car

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables Nano V3.0 Development Board
1×USB A naar Mini-B USB kabel
1×RC Auto
1×L9110S Motordriver Module
1×IR Afstandsbediening Kit
1×CR2025 Batterij (voor IR Afstandsbediening)
1×1.5V AA Batterij (voor Arduino Nano en Auto)
1×Jumperdraden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Robotauto

In de wereld van Arduino Nano wordt een robotauto vaak aangeduid als een RC-auto, afstandsbedieningauto, slimme auto of doe-het-zelf auto. Dit slimme apparaat kan op afstand worden bestuurd met een IR-afstandsbediening of een smartphone-app via Bluetooth/WiFi. Hij kan scherpe bochten maken naar links of rechts en eenvoudig vooruit of achteruit bewegen.

Een 2WD (Two-Wheel Drive) voertuig voor Arduino Nano is een kleine robotauto die u kunt monteren en bedienen met een Arduino Nano board. Het bestaat meestal uit de volgende essentiële onderdelen:

  • Chassis: Dit is de 'carrosserie', waar alle andere onderdelen aan worden bevestigd.
  • Wielen: Dit zijn de twee wielen die de auto laten bewegen. Deze zijn verbonden met twee DC-motoren.
  • Motoren: Twee DC-motoren drijven de twee wielen aan.
  • Motor Driver: Het motor driver board is een cruciaal onderdeel dat de Arduino Nano met de motoren verbindt. Het ontvangt signalen van de Arduino Nano en geeft stroom en besturing aan de motoren.
  • Arduino Nano Board: Dit is het ‘brein’ van de auto. Het leest input van sensoren en gebruikerscommando’s en bestuurt de motoren dienovereenkomstig.
  • Voedingsbron: De 2WD-auto heeft een voedingsbron nodig, meestal batterijen met een batterijhouder, om stroom te leveren aan de motoren en het Arduino Nano board.
  • Draadloze ontvanger: Dit is een infrarood-, Bluetooth- of WiFi-module die draadloze communicatie mogelijk maakt met een afstandsbediening of smartphone.
  • Optionele Onderdelen: Afhankelijk van hoe geavanceerd uw project moet zijn, kunt u verschillende optionele onderdelen toevoegen zoals sensoren (bijvoorbeeld ultrasone sensoren voor obstakelvermijding of lijnvolgend sensoren), en meer.

In deze handleiding houden we het eenvoudig met:

  • 2WD Auto kit (inclusief chassis, wielen, motoren, batterijhouder)
  • L9110S Motor Driver
  • IR infrarood kit (inclusief IR controller en IR ontvanger)

Bekijk de hardwarelijst bovenaan deze pagina.

Hoe het Werkt

Arduino Nano 2WD car how it work
  • Arduino Nano is verbonden met de DC-motoren van de robotauto via de L9110S motor driver module.
  • Arduino Nano is verbonden met een IR ontvanger.
  • De batterij voedt Arduino Nano, DC-motoren, motor driver en IR ontvanger.
  • Gebruikers drukken op de UP/DOWN/LEFT/RIGHT/OK knoppen van de IR-afstandsbediening.
  • Arduino Nano ontvangt de UP/DOWN/LEFT/RIGHT/OK commando’s via de IR ontvanger.
  • Arduino Nano bestuurt de auto om VOORUIT/ACHTERUIT/NAAR LINKS/NAAR RECHTS/STOP te bewegen door de DC-motor te regelen via de motor driver.

Bedradingsschema

Arduino Nano 2WD car Wiring Diagram

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.

De L9110S module voedt de motoren rechtstreeks via de VCC- en GND-pinnen en heeft geen ingebouwde 5V-regelaar. Hierdoor kunt u alles met één enkele stroombron voeden — vier 1.5V AA-batterijen (in totaal 6V). Zo werkt het:

  • Verbind de 6V-batterij met de VCC- en GND-pinnen van de L9110S module om de motoren te voeden.
  • Verbind dezelfde 6V-batterij met de Vin- en GND-pinnen van het Arduino Nano board om de Arduino Nano te voeden.
  • Zorg ervoor dat de L9110S module, het Arduino Nano board en de IR ontvanger een gemeenschappelijke GND delen.

In tegenstelling tot de L298N heeft de L9110S geen ENA/ENB enable-jumpers en geen 12V-schroefaansluiting, waardoor de bedrading eenvoudiger is.

Arduino Nano Code

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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); }

Snel aan de slag

  • Installeer de DIYables_IRcontroller library in de Arduino IDE door de instructie hier te volgen.
  • Maak de bedrading volgens het schema hierboven.
  • Koppel de draad los van de Vin-pin op de Arduino Nano, want tijdens het uploaden van de code voeden we de Arduino Nano via de USB-kabel.
  • Draai de auto ondersteboven zodat de wielen bovenaan liggen.
  • Verbind de Arduino Nano met uw computer via de USB-kabel.
  • Kopieer de meegeleverde code en open deze in de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino Nano te sturen.
  • Gebruik de IR-afstandsbediening om de auto vooruit, achteruit, links, rechts of te stoppen te laten bewegen.
  • Controleer of de wielen correct bewegen volgens uw commando’s.
  • Bewegen de wielen de verkeerde kant op? Verwissel dan de draden van de DC-motor op de L9110S module.
  • U kunt ook de resultaten bekijken in de Serial Monitor van de Arduino IDE.
∞
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
  • Werkt alles naar wens, koppel dan de USB-kabel los van de Arduino Nano en verbind de draad weer met de Vin-pin om de Arduino Nano van batterijvoeding te voorzien.
  • Draai de auto terug in de normale stand met de wielen op de grond.
  • Veel plezier met het besturen van de auto!

Code Uitleg

Lees de regel-voor-regel uitleg in de commentaarregels van de code!

U kunt meer leren over de code door de volgende tutorials te bekijken:

U kunt dit project uitbreiden door:

  • Obstakelvermijdingssensoren toe te voegen die de auto meteen laten stoppen bij detectie van een obstakel.
  • Een functie toe te voegen om de snelheid van de auto te regelen (zie Arduino Nano - DC motor tutorial). De huidige code bestuurt de auto altijd op volle snelheid.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten voor het succesvol bouwen en besturen van deze IR-afstandsbediende Arduino Nano auto.

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!