Zelfrijdende auto: Difference between revisions
No edit summary |
|||
Line 53: | Line 53: | ||
=== Verbind de Motor Driver === | === Verbind de Motor Driver === | ||
De Motor Driver of Arduino Motor Shield maakt het mogelijk om de motor richting en tempo met een Arduino te controleren. | De Motor Driver of Arduino Motor Shield maakt het mogelijk om de motor richting en tempo met een Arduino te controleren. | ||
Voordat we de shield kunnen aansluiten, moeten we er eerst nog pinheaders solderen. Op deze extra pins kunnen we later in de workshop eventueel nog extra sensors aansluiten. | |||
Het is heel belangrijk dat je dit heel zorgvuldig doet. Er mogen geen verbindingen ontstaan tussen de pinnen, want dat kan tot kortsluiting leiden! | |||
FOTO MAKEN!! | |||
We moeten in totaal 9 pinnen solderen, drie groepjes van 3 pinnen. | |||
Breek eerst voorzichtig met twee tangetjes een rijtje van 3 pinnen van de pinheader af. | |||
Solder deze in de rij met het label A0-5, in de positie zoals op de foto. | |||
Doe daarna het zelfde voor de pinnen in de rij met het label GND en +5V. | |||
[[File:UNADJUSTEDNONRAW_thumb_15da.jpg|500px|Motor shield]] | [[File:UNADJUSTEDNONRAW_thumb_15da.jpg|500px|Motor shield]] | ||
* '''Belangrijk!''' Verwijder het (groene) | * '''Belangrijk!''' Verwijder het (groene) jumpertje gemarkeerd met PWR, naast de schroef terminal gemarkeerd met EXT_PWR | ||
* Verbind | * Verbind de shield met de Arduino | ||
* Verbind | * Verbind de motorshield en Arduino met de auto: Let op dat motor, stuur en batterij kabels verbonden zijn met de juiste uitgangen van het shield. | ||
[[File:Shield connections.JPG|500px|Verbind de motor]] | [[File:Shield connections.JPG|500px|Verbind de motor]] | ||
<pre> | <pre> | ||
Stuurmotor -> Shield M1 | |||
Aandrijfmotor -> Shield M4 | |||
Batterijdraden van de auto -> Shield EXT_PWR | |||
</pre> | </pre> | ||
* Plak een stuk tape op de onderkant van de Arduino om een kortsluiting te voorkomen | * Plak een stuk tape op de onderkant van de Arduino om een kortsluiting te voorkomen | ||
* | * Stop de AA batterijen in de auto. | ||
* Verbind | * Verbind de 9v batterij met Arduino. | ||
[[File:UNADJUSTEDNONRAW_thumb_15d4.jpg|500px|battery]] | [[File:UNADJUSTEDNONRAW_thumb_15d4.jpg|500px|battery]] | ||
Line 92: | Line 101: | ||
=== Verbind de lijn sensor === | === Verbind de lijn sensor === | ||
De lijn detection sensor module | De lijn detection sensor module stuurt korte impulsen van (onzichtbaar) infrarood licht en meet hoeveel licht terug komt. De output is een analog voltage die de Arduino kan gebruiken om de auto te sturen. | ||
[[File:UNADJUSTEDNONRAW_thumb_15d9.jpg|500px|line sensor]] | [[File:UNADJUSTEDNONRAW_thumb_15d9.jpg|500px|line sensor]] | ||
* Neem de 3 kabels en verbind deze met de sensor. Let goed op de kleuren en de verbindingen (A0, GND, VCC). Het | * Neem de 3 kabels en verbind deze met de sensor. Let goed op de kleuren en de verbindingen (A0, GND, VCC). Het motorshield groepeert de verbindingen voor de analoge pennen met verbindingen voor de GND en 5V pennen, waar we eerder de headers op hebben gesoldeerd. We gebruiken deze ook om onze sensor te verbinden. De A0 pin vind je naast de pin gelabeld 9V. | ||
* Verbind de Arduino/Motorshield met de sensor | * Verbind de Arduino/Motorshield met de sensor | ||
Line 122: | Line 131: | ||
* Test line sensor met het bestand SDC_2_line_sensor_test.ino | * Test line sensor met het bestand SDC_2_line_sensor_test.ino | ||
* Volg instructies in het bestand om de laagste en hoogste waarden te vinden en de lijn van de vloer te onderscheiden. | * Volg instructies in het bestand om de laagste en hoogste waarden te vinden en de lijn van de vloer te onderscheiden. | ||
* Schrijf deze waardes op, in de volgende stap hebben we deze nodig! | |||
[[File:UNADJUSTEDNONRAW_thumb_15e2.jpg|500px|sensor testing]] | [[File:UNADJUSTEDNONRAW_thumb_15e2.jpg|500px|sensor testing]] |
Revision as of 22:59, 6 February 2018
Workshop manual
Maak groepjes!
- Maak groepjes van 3-4
Haal de auto uit elkaar
- Verwijder alle schroeven en verwijder de buitenkant van de auto.
- Snijd alle kabels van de PCB af. Let op: Snijd zo dicht bij de PCB als mogelijk. Controleer of de power schakelaar nog werkt en uitgeschakeld staat.
Test de Arduino en de Arduino software
Installeer Arduino Software
Open je eerste Arduino sketch
Open de LED blink voorbeeld sketch: File > Examples >01.Basics > Blink.
Selecteer je board type en port
Selecteer de ingang die bij je Arduino board past.
Selecteer de "serial device" van het board via Tools | Serial Port menu. Om te weten welke port je moet gebruiken kun je de board ontkoppelen en het menu opnieuw openen; de ingang die zou moeten verschijnen is Arduino or Genuino board. Verbind je Arduino opnieuw en selecteer deze ingang.
Upload het programma
Nu klick gewoon de "Upload" button. Wacht een aantal secondes. Je zou de RX en TX leds op het board moeten zien blinken. Indien de upload successvol was zie je het bericht: "Done uploading." in de status bar.
Na een aantal secondes zou je de pin 13 (L) LED op het board moeten zien blinken (in oranje). Als dit het geval is: Gefeliciteerd! Je Arduino is klaar voor de volgende stappen!
Verbind de Motor Driver
De Motor Driver of Arduino Motor Shield maakt het mogelijk om de motor richting en tempo met een Arduino te controleren.
Voordat we de shield kunnen aansluiten, moeten we er eerst nog pinheaders solderen. Op deze extra pins kunnen we later in de workshop eventueel nog extra sensors aansluiten. Het is heel belangrijk dat je dit heel zorgvuldig doet. Er mogen geen verbindingen ontstaan tussen de pinnen, want dat kan tot kortsluiting leiden!
FOTO MAKEN!! We moeten in totaal 9 pinnen solderen, drie groepjes van 3 pinnen. Breek eerst voorzichtig met twee tangetjes een rijtje van 3 pinnen van de pinheader af. Solder deze in de rij met het label A0-5, in de positie zoals op de foto. Doe daarna het zelfde voor de pinnen in de rij met het label GND en +5V.
- Belangrijk! Verwijder het (groene) jumpertje gemarkeerd met PWR, naast de schroef terminal gemarkeerd met EXT_PWR
- Verbind de shield met de Arduino
- Verbind de motorshield en Arduino met de auto: Let op dat motor, stuur en batterij kabels verbonden zijn met de juiste uitgangen van het shield.
Stuurmotor -> Shield M1 Aandrijfmotor -> Shield M4 Batterijdraden van de auto -> Shield EXT_PWR
- Plak een stuk tape op de onderkant van de Arduino om een kortsluiting te voorkomen
- Stop de AA batterijen in de auto.
- Verbind de 9v batterij met Arduino.
Motor test via serial verbinding
- Verbind Arduino met je computer
- Er is voorbeld code voor deze workshop die je op Github kunt downloaden: sample code
- Na de download van het zip bestand open SDC_1_motor_test.ino
- In Arduino op je computer ga naar "Menu" > "Sketch" > "Include library" > "Manage libraries" > en zoek naar "Adafruit Motor shield V1 firmware" en voeg toe add
- Test of het Motor Shield het doet door de Serial Monitor te openen (loep boven rechts)
- Test of de richting van het stuur werkt zoals verwacht
- Verander de kabels op het Motor Shield indien nodig
Verbind de lijn sensor
De lijn detection sensor module stuurt korte impulsen van (onzichtbaar) infrarood licht en meet hoeveel licht terug komt. De output is een analog voltage die de Arduino kan gebruiken om de auto te sturen.
- Neem de 3 kabels en verbind deze met de sensor. Let goed op de kleuren en de verbindingen (A0, GND, VCC). Het motorshield groepeert de verbindingen voor de analoge pennen met verbindingen voor de GND en 5V pennen, waar we eerder de headers op hebben gesoldeerd. We gebruiken deze ook om onze sensor te verbinden. De A0 pin vind je naast de pin gelabeld 9V.
- Verbind de Arduino/Motorshield met de sensor
Module -> Arduino - - - - - - - - - - - VCC -> 5V GND -> GND A0 -> A0
- Verbind de lijn sensor analog output met A0.
Module -> Arduino - - - - - - - - - - - GND -> GND VCC -> 5V
Sensor testing
- Test line sensor met het bestand SDC_2_line_sensor_test.ino
- Volg instructies in het bestand om de laagste en hoogste waarden te vinden en de lijn van de vloer te onderscheiden.
- Schrijf deze waardes op, in de volgende stap hebben we deze nodig!
Upload de software
- Open en upload SDC_3_car_test.ino
- Pas de waarden aan
- Upload de sofware op de Arduino
Verbeter the software
- Test de sensor op de lijn en pas de waarden van tempo en sensor aan indien nodig.
Tips
- Het helpt om de V9 batterij te verwijderen als je het programma upload op de Arduino
- Let erop dat de sensor dicht bij de grond is
Ideeën:
- Voeg ultrasonic sensor toe om botsingen te voorkomen
- Voeg geluid toe
- De auto stuurt altijd rechts of links. Is er een mogelijkheid om rechdoor te gaan?
Externe links
- HC-SR04 ultrasonic sensor library. https://bitbucket.org/teckel12/arduino-new-ping/downloads
- L293D https://github.com/sudar/DCMotorBot
Modules in gebruik: