ESP32 - Auto
Een van de leukste projecten om mee te beginnen als u net start met de ESP32, is het maken van een robotauto. In deze handleiding leert u hoe u een robotauto bouwt met de ESP32 en deze bestuurt met een IR-afstandsbediening (infrarood). Wilt u de robotauto via Web (WiFi) bedienen, bekijk dan de tutorial ESP32 controls Car via Web.

Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de Robotauto
In de context van de ESP32 wordt de robotauto vaak met verschillende namen aangeduid zoals robotauto, RC-auto, afstandsbediening auto, slimme auto of doe-het-zelf auto. Deze kan draadloos worden bestuurd zonder snoeren. U kunt hiervoor een speciale afstandsbediening gebruiken die infraroodlicht zendt, of een smartphone-app via Bluetooth of WiFi. De robotauto kan naar links, rechts, vooruit en achteruit bewegen.
Een 2WD (Two-Wheel Drive) auto voor ESP32 is een klein robotvoertuig dat u bouwt en bestuurt met een ESP32-board. Het bestaat doorgaans uit de volgende onderdelen:
- Chassis: De basis of het frame van de auto waarop alle andere componenten worden gemonteerd.
- Wielen: Twee wielen die de auto laten rijden. Ze zijn gekoppeld aan twee DC-motoren.
- Motoren: Twee DC-motoren die de wielen aandrijven.
- Motor Driver: De motor driver board is een essentieel onderdeel dat de verbinding vormt tussen de ESP32 en de motoren. Het ontvangt signalen van de ESP32 en levert de benodigde stroom en sturing aan de motoren.
- ESP32 Board: Het "brein" van de auto. Het leest input van sensoren en gebruikerscommando’s uit en bestuurt de motoren dienovereenkomstig.
- Stroomvoorziening: De 2WD auto heeft een stroombron nodig, meestal batterijen in een houder, om de motoren en het ESP32-board van stroom te voorzien.
- Draadloze ontvanger: een infrarood, Bluetooth of WiFi-module voor draadloze communicatie met een afstandsbediening of smartphone.
- Optionele componenten: Afhankelijk van de complexiteit van uw project kunt u extra componenten toevoegen zoals sensoren (bijvoorbeeld ultrasone sensoren voor obstakelvermijding, lijnvolgsensoren) enzovoorts.
In deze handleiding maken we het eenvoudig met:
- 2WD Auto kit (inclusief chassis, wielen, motoren, batterijhouder)
- L9110S Motor Driver
- IR infrarood kit (inclusief IR-controller en IR-ontvanger)
Controleer de hardwarelijst bovenaan deze pagina.
Hoe Het Werkt

- De ESP32 is verbonden met de DC motoren van de robotauto via de L9110S motor driver module.
- De ESP32 is verbonden met een IR-ontvanger.
- De batterij voorziet de ESP32, DC motoren, motor driver en IR-ontvanger van stroom.
- De gebruiker drukt op de UP/DOWN/LEFT/RIGHT/OK knoppen van de IR-afstandsbediening.
- De ESP32 ontvangt de UP/DOWN/LEFT/RIGHT/OK opdrachten via de IR-ontvanger.
- De ESP32 bestuurt de auto om VOORUIT/ACHTERUIT/RECHTS/LINKS/STOP te rijden door de DC motor te sturen via de motor driver.
Bedradingsschema
Het onderstaande schema laat zien hoe u de ESP32, de L9110S motor driver, de twee DC-motoren en de IR-ontvanger verbindt, waarbij een breadboard wordt gebruikt om de gemeenschappelijke voedings- en aardingslijnen te delen:

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
Als u niet weet hoe u ESP32 en andere componenten van stroom moet voorzien, vindt u instructies in de volgende tutorial: Hoe ESP32 van stroom te voorzien.
Opmerking: Het bovenstaande schema toont de juiste bedrading. In de praktijk is het niet eenvoudig om meerdere draden (zoals de gedeelde VCC- en GND-lijnen) in hetzelfde pinheader-gaatje van de ESP32 te steken. Een handige oplossing is het gebruik van een schroefklemmen breakout-board voor ESP32 — meerdere draden kunnen in dezelfde schroefklem worden vastgezet, of één draad in de schroefklem en een andere in de aangrenzende headerpin.

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 (totaal 6V). Zo doet u dat:
- 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 ESP32-board om de ESP32 te voeden.
- Zorg ervoor dat de L9110S module, het ESP32-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.
ESP32 Code
Snelstartstappen
- Is dit de eerste keer dat u de ESP32 gebruikt? Bekijk dan hoe u de ESP32 ontwikkelomgeving opzet in Arduino IDE.
- Installeer de DIYables_IRcontroller bibliotheek in Arduino IDE volgens deze instructies.
- Maak de bedrading volgens het bovenstaande schema.
- Ontkoppel de draad van de Vin-pin op de ESP32, want we voeden de ESP32 tijdens het uploaden via de USB-kabel.
- Draai de auto ondersteboven zodat de wielen bovenaan zijn.
- Verbind het ESP32-board met uw PC via een micro USB-kabel.
- Open Arduino IDE op uw PC.
- Selecteer het juiste ESP32-board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
- Kopieer de meegeleverde code en open deze in Arduino IDE.
- Klik op de Upload-knop om de code naar de ESP32 te sturen.
- Gebruik de IR-afstandsbediening om de auto vooruit, achteruit, links, rechts te laten rijden of te laten stoppen.
- Controleer of de wielen correct reageren op uw commando’s.
- Bewegen de wielen verkeerdom? Wissel dan de draden van de DC motor op de L9110S-module om.
- U kunt de uitvoer ook volgen in de Seriële Monitor van Arduino IDE.
- Als alles naar wens werkt, trek dan de USB-kabel uit de ESP32 en sluit het draadje weer aan op de Vin 5V-pin. Hierdoor wordt de ESP32 via batterij gevoed.
- Zet de auto weer terug in de normale positie met de wielen op de grond.
- Veel plezier met het besturen van uw auto!
Code Uitleg
Lees de uitleg regel voor regel in de commentaarregels van de code!
U kunt meer leren over de code via deze tutorials:
- ESP32 - Infrarood Afstandsbediening tutorial
- ESP32 - DC motor tutorial
U kunt dit project uitbreiden door:
- Obstakelvermijdingssensoren toe te voegen om direct te stoppen als er een obstakel wordt gedetecteerd.
- Functionaliteit toe te voegen om de snelheid van de auto te regelen (zie ESP32 - DC motor tutorial). De geleverde code bestuurt de auto op maximale 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 en laat stap voor stap zien hoe u de ESP32 2WD auto bouwt en bestuurt met een IR-afstandsbediening.