Gebruikershandleiding robotcar.nl
Inhoudsopgave 1 Introductie 2 2 Inventaris 3 3 Uno: een Arduino variant 4 3.1 De pinnen op het Uno board.................... 4 3.2 De Arduino software omgeving................... 6 3.3 Programmeren............................ 7 3.4 Functies................................ 8 3.5 Variabelen............................... 11 3.6 Commentaar............................. 12 3.7 SensorShield.............................. 13 4 Bouw de auto: het chassis 15 4.1 De motoren aansluiten via de H-brug................ 15 4.2 Test de motoren........................... 19 5 Afstandsbediening: controle over de auto 22 5.1 De Serial Monitor........................... 22 5.2 De afstandbediening instellen.................... 24 5.3 Een afstandsbestuurbare auto.................... 26 6 De afstandssensor: kijk om je heen 30 6.1 Afstandsmeter aansluiten en testen................. 30 6.2 De servo motor: rondkijken..................... 32 6.3 Rondkijken.............................. 33 7 Obstakel-ontwijkende auto 37 7.1 Switchen tussen handbestuurd en autonoom............ 42 8 Extra: overzichtelijker programma s 47 1
Hoofdstuk 1 Introductie In deze handleiding bouwen we een Arduino gebaseerde robot auto. Het doel is een auto te bouwen die we kunnen besturen met een afstandsbediening, maar die ook zelfstandig kan rondrijden zonder tegen obstakels aan te rijden. Deze twee uitdagingen laten direct een aantal centrale aspecten van robotica zien. De eerste uitdaging (een bestuurbare auto) is vooral technisch: welke hardware componenten hebben we nodig, hoe kunnen we ze verbinden, en hoe communiceren we met de auto? De tweede uitdaging vraag om autonoom gedrag en is een eerste stap richting kunstmatige intelligentie. Als bijlage bij deze handleiding vind je een aparte bouwinstructie. Je kunt de auto eerst apart opbouwen, maar we raden aan om dit stapsgewijs met deze handleiding te doen. In dit document wordt uitgelegd hoe je de onderdelen aansluit en test. Zo kun je in het hoofdstuk over de motoren (hoofdstuk 3) ook het chassis bouwen, en in de hoofdstukken over de sensoren ook deze stukken uit de bouwinstructie opzoeken. Succes met het bouwen van de robot auto, en veel plezier. Team robotcar.nl 2
Hoofdstuk 2 Inventaris Voor een foto s met aanduiding van de onderdelen verwijzen wij je naar de bouwinstructie. 1. Auto chassis (1x) 2. Wielen (2x) 3. Zwenkwiel (1x) 4. DC motor met bevestigingsmodule (2x) 5. 4-batterijbox (1x) 6. USB-kabel (1x) 7. Uno R3 (1x) (Arduino-variant van andere leverancier) 8. V5 SensorShield (1x) 9. H-brug L298N (1x) 10. Servo SG90 (1x) 11. Ultrasone afstandssensor (1x) 12. Afstandssensor bevestigings frame (1x) + elastiek 13. Afstandsbediening (+ batterij) met infraroodsensor (x1) 14. Female-female (15x) en male-male kabeltjes (3x) 15. Benodigde bouten en schroeven 16. USB-stick met handleiding, bouwinstructie en benodigde software (1x) 17. Extra: Aan/uit schakelaar (1x) (niet gebruikt in deze handleiding) 3
Hoofdstuk 3 Uno: een Arduino variant Een Uno is een minicomputer die kan reageren op de omgeving (microcontroller). (Uno is afgeleid van de Arduino Uno, het bekendste Arduino model. Wij gebruiken de Uno van een andere fabrikant, met verder identieke functionaliteit, en maken gebruik van de normale Arduino software. Daarom spreken we vanaf nu van Arduino als we het Uno board benoemen). Het is bedoeld voor hobbyisten die zelf creatieve technische projecten willen ondernemen. Op de Uno kunnen diverse sensoren worden aangesloten om aspecten van de buitenwereld te meten. Enkele voorbeelden zijn afstandsmeters, lichtsensoren, bewegingsmeters, temperatuursensoren en infrarood, bluetooth of wifi ontvangers. Voor onze robot zullen we een infrarood afstandsbediening en een afstandssensor gebruiken. Daarnaast kan de Uno signalen sturen om een effect in de buitenwereld te genereren (output), zoals bijvoorbeeld motoren, beeldschermen, lampjes etc. Onze robotauto heeft diverse motoren, bijvoorbeeld om te rijden of om rond te kijken. De Uno zelf zijn de hersenen van onze auto: hier verwerken we de input en geven we de juiste signalen naar de motoren, zodat de robot auto intelligent gedrag kan vertonen. Dit doen we door de Uno te programmeren: we schrijven een aantal regels instructies die de minicomputer voor ons gaat uitvoeren. We zullen gedurende de handleiding langzaam leren programmeren. Allereerst is het belangrijk dat we de Uno goed begrijpen. Dit hoofdstuk zal de belangrijkste aspecten bespreken. 3.1 De pinnen op het Uno board We zullen eerste de verschillende pinnen op het Uno board bespreken (zie figuur 3.1). Uiteindelijk gebruiken we het board in combinatie met een SensorShield, maar het is beter om de pinnen op het originele board te begrijpen. Pak het Uno board er nu bij om te vergelijken. Allereest moet de Uno stroom toevoer krijgen, wat gebeurd via een stroom input jack (label A). Om met de Uno te communiceren vanaf onze eigen computer hebben we een USB aansluiting, zodat we onze programma s op de Uno kunnen laden (label B). Tijdens het testen geeft de 4
Figuur 3.1: Schematische weergave van het Uno board. A: stroomtoevoer. B: USB verbinding. C: Reset knop. D: digital pinnen (0-13). E: analoge pinnen (0-5). F: Stroomuitvoer. 5