Hoe maak je een zelfsturende auto?

In De Maakbare Wereld bouwen vier handige knutselaars elke week een apparaat dat het leven veraangenaamt. Met huis- tuin- en keukenspulletjes, en een stap voor stap uitleg. Deze week: Cor van Essen, creatieve natuurkundige.

Beeld Bier en Brood

Alles moet automatisch tegenwoordig, verwarming, apparaten in huis. Met auto's blijven we daar enorm mee achter, zelfs automatisch schakelen vinden de meeste chauffeurs al een teken van wantrouwen in hun kunnen. Ik kijk zelf reikhalzend uit naar de tijd dat je in je auto stapt en alleen maar hoeft aan te geven waar je heen wilt om daarna je krant en koffie weer te kunnen pakken. Google heeft al prototypes rondrijden die zichzelf door het verkeer heen loodsen en ik was benieuwd of je zelf ook zoiets kan maken. Niet direct een 'echte' auto, maar misschien een afstandsbestuurbare om mee te beginnen.

Ik zie al helemaal voor me dat de computer, terwijl ik toekijk, mijn auto bestuurt. Maar laten we simpel beginnen: het zelf aansturen van de auto met de laptop.

Ik heb ooit, onder het mom van 'verantwoord speelgoed', een Arduino aangeschaft en deze leek me zeer geschikt om dit klusje te klaren. Een Arduino is een klein computertje met de mogelijkheid om sensoren aan te sluiten en ook om dingen aan sturen. In dit geval sluit ik de Arduino aan op de afstandsbediening.

1. De afstandsbediening

Ik heb echt geen idee hoe de afstandsbediening van een op afstand bestuurbare auto werkt (iets met radiogolven), maar wat ik wel weet is dat je een knop indrukt en dat de auto iets gaat doen.

Het is tijd om de afstandsbediening open te schroeven en te kijken wat er van binnen gebeurt.

De afstandsbediening in kwestie heeft twee schakelaars die je naar voren en naar achter kunt bewegen. Links voor de linkerwielen en rechts voor de rechterwielen. Binnenin blijkt het niet meer te zijn dan twee stukken metaal die je tegen elkaar aandrukt, zodat er een stroompje gaat lopen.

Met een batterij en twee draden heb ik even getest waar je de plus en de min op moet aansluiten om te zien wanneer we het juiste effect krijgen.

In de afstandsbediening moet op vijf punten een draadje worden gesoldeerd. Vier waar de schakelaars contact maken en eentje waar de pluskant van de batterij zit. Het bleek (na wat uurtjes aanmodderen, sloten koffie en bergen frustratie) het makkelijkste om bij elke draad vanaf een schakelaar een transistor aan te sluiten als elektronische schakelaar. Het daadwerkelijke aan- en uit zetten van de transistoren laten we doen door de Arduino.

2. De Arduino

Er zitten dus uiteindelijk vijf draadjes in de Arduino geprikt waarvan eentje aarde is (GND). De Arduino moet geprogrammeerd worden, zodat hij weet wanneer er spanning moeten komen te staan op de andere vier uitgangen. Dat klinkt misschien als iets heel moeilijks, maar het valt echt reuze mee. Het internet staat vol met eenvoudige voorbeelden en er is altijd wel iemand die jouw probleem al eerder heeft meegemaakt. Het programma zal niet veel meer zijn dan een aantal keer: ALS er een bepaald signaal binnenkomt DAN zet je uitgang 1 aan, etc.

3. Processing

Ik wil dat de Arduino reageert op mijn toetsenbord, bijvoorbeeld op de klassieke w, a, s en d toetsen die je bij computerspelletjes tegenkomt. De programmeeromgeving van de Arduino is gebaseerd op Processing, een computertaal bedoeld voor visuele kunst en interactieve projecten. De twee omgevingen lijken erg op elkaar, dus als je de ene (Processing) kent, heb je de ander (Arduino) binnen de kortste keren door. Lang verhaal kort, er is een eenvoudige manier om je toetsenbordaanslagen met een Processing-programma richting de Arduino te sturen over een zogenaamde seriële verbinding. En de Arduino weet wat hij moet doen als er bijvoorbeeld een w of een d binnen komt. De code van de twee programma's is beschikbaar via corvanessen.blogspot.nl -> Code Examples.

4. Racen!

Als je enkel met je toetsenbord je auto door de woonkamer wil sturen kun je nu stoppen natuurlijk. Ik vond het zelf een mooie mijlpaal om vrienden mee te verbazen, mijn (bijna) 4 jaar oude dochter mee te vermaken en mijn vriendin mee lastig te vallen. Maar het is ook een mooi startpunt om verder op te bouwen. Misschien wil je de boot wel besturen met je smartphone of Wii-controller, het is allemaal mogelijk.

Zelf wil ik dus mijn auto autonoom laten rijden. Ik heb al een stuk Processing code af waarbij de computer uit webcambeelden de positie en snelheid van een object kan bepalen, dus het schiet op.

BENODIGDHEDEN

Radiografisch bestuurbare auto
Schroevendraaier
Soldeerbout
Arduino
Stroomdraadjes
Transistoren, 4 stuks (BC547C)
Breadboard
Computer

Projecten voor onder andere de Arduino zijn te vinden op de sites: arduino.cc, processing.com, adafruit.com, makezine.com

Meer over

Wilt u belangrijke informatie delen met de Volkskrant?

Tip hier onze journalisten


Op alle verhalen van de Volkskrant rust uiteraard copyright. Linken kan altijd, eventueel met de intro van het stuk erboven.
Wil je tekst overnemen of een video(fragment), foto of illustratie gebruiken, mail dan naar copyright @volkskrant.nl.
© 2020 DPG Media B.V. - alle rechten voorbehouden