startersgids Arduino startersgids mede-oprichter van Arduino



Vergelijkbare documenten
Wat is Arduino? Arduino = microprocessor (Atmel)

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen

Open Ports. Als eerste maakt u de regel actief. Dit kan door boven in het scherm een vinkje te zetten bij Enable Open Ports

LAN Multiple-Subnet Port Based VLAN

Wat maakt je zo boos?

Port Redirection NAT >> Port Redirection Enable.

Gezond eten: Daar heb je een leven lang lol van!

LAN Multiple-Subnet Port Based VLAN

Frank en Gundi Gaschler Ik wil begrijpen wat je echt nodig hebt

Address Mapping Address Mapping regels:

Port Redirection & Open Ports

Hou het eenvoudig Effectief communiceren in organisaties

Dubbelspel. Alan Durant

Workshop Arduino voor beginners. door TkkrLab Enschede

Zorgen voor getraumatiseerde kinderen: een training voor opvoeders

itunes itunes itunes Pieter van Groenewoud P i eter van G ro en ewo u d

Onderstaande recente producten kunnen 3G alleen als backup WAN poort gebruiken. - DrayTek Vigor 2710

Universal Repeater AP700

Telnet - Web Console

Cursus Onderwijs en ICT. Programmeren met Visual Basic

FlexSCAN Installatie

LAN DNS & DNS Forwarding

Onderzoek als project

groep Computerprogramma woordenschat

Wie heeft de regie? Kwaliteit van bestaan in de praktijk. John Sijnke

LAN Multiple-Subnet Port Based VLAN

DrayTek Vigor AP700 MAC Filtering

Helder rapporteren. BRING ME NO MORE REPORTS (Macbeth, Act V)

Syslog / Mail Alert Setup

SSL VPN SmartVPN app voor Android

USB Storage Hoe werkt USB storage

Installatie handleiding Vigor 2960F

LAN Multiple Subnet Tag Based VLAN. Vigor2860/2925 icm VigorSwitch G1241

DrayTek Vigor IPv6 Setup XS4ALL

Quality of Service. DrayTek Vigor 1000, 2130 & 2750 serie

User Management. Tijdrestrictie per gebruiker

Inleiding Administratieve Organisatie. Opgavenboek

LAN Multiple Subnet Tag Based VLAN. Vigor2960/3900 icm VigorSwitch G1241

Friesland College Leeuwarden

Syslog / Mail Alert Setup

Logging voor Support

Helpen bij partnerrelatieproblemen

Access Point Management. DrayTek Vigor 2860 & 2925 Serie

DrayTek Vigor AP700 Advanced Settings

Inter-LAN Route. DrayTek Vigor 2960 & 3900

Gasten Wi-Fi netwerk

LAN DNS. De functionaliteit LAN DNS kunt u vinden in het menu Applications. Hier klikt u vervolgens op het index nummer welke u wilt gebruiken.

De motorische ontwikkeling van de zuigeling

VPN Remote Dial In User. DrayTek Smart VPN Client

VPN Remote Dial In User. DrayTek Smart VPN Client

In deze handleiding gaan we een voorbeeld geven hoe u een bepaalde situatie kunt oplossen doormiddel van een aantal Firewall >> Filter Rules.

Wat is Syslog? Syslog is een feature waarmee de router activiteit kan worden bijgehouden.

Mijn leerling online. Hoe begeleid je je leerlingen op Internet? Justine Pardoen en Remco Pijpers

Vincie van Gils. Klantencommunicatie. Zo krijg je en houd je u tevreden klanten. Spectrum. Uitgeverij Unieboek Het Spectrum bv, Houten Antwerpen

Nu kunt u aangeven over welke WAN poort dit verkeer moet lopen. Standaard staat Binding WAN Interface op WAN1. Dit kunt u uiteraard zelf aanpassen.

Om de Wake on LAN functie te laten werken zult op zowel de PC en op de DrayTek modem/router een aantal zaken moeten instellen.

Load Balance/Policy Route. DrayTek Vigor 2860 & 2925 serie

WIJZIGINGSBLAD A2. BORG 2005 versie 2 / A2 VEILIGHEID DOOR SAMENWERKING. Versie : 2.2. Publicatiedatum : 31 maart Ingangsdatum : 1 april 2010

Gebruikershandleiding. robotcar.nl

Firewall. Facebook Block

Bewaken vitale functies en verlenen van eerste hulp

Ted Knoester. Contractmanagement in de praktijk

INSPECTIE BOUWKUNDIGE BRAND- VEILIGHEID Specifieke normen en verwijzingen

If This Then That. Koen van Eijk Klas 1B

F A B S C H O L K I D S

Spelend leren, leren spelen

Routing Load-Balance & Policy Route

Gasten Wi-Fi netwerk icm AP910C

VPN Remote Dial In User. Windows VPN Client

Met sorry maak je dit niet ongedaan

Dual WAN Functionaliteit

Firewall. Facebook Blokkering

Microsoft Security Essentials downloaden

Nicolien van Halem Inge Müller. Handboek studievaardigheden voor het hbo

Hoe werkt de DrayTek Firewall? Default Call en Data Filter

Moeder worden, moeder zijn

VPN Remote Dial In User. DrayTek Smart VPN Client

Published by arrangement with Workman Publishing Company, New York

Gasten Wi-Fi netwerk VigorAP 710

Firewall Traffic Control

Access Point Management

Privaatrechtelijke Bouwregelgeving Editie 2013

xdsl Bridging XS4ALL IPv6

LAN Multiple-Subnet Tag Based VLAN

Cursus Onderwijs en ICT. digitaal leermateriaal maken

Werkboek voor ouders met psychiatrische en/of verslavingsproblemen

Om de Wake on LAN functie te laten werken zult op zowel de PC en op de DrayTek modem/router een aantal zaken moeten instellen.

WAN Internet Access. In de DrayTek router heeft u de mogelijkheid om tussen de volgende WAN connectie types te kiezen:

LAN Subnetten (2) Port-Based VLAN

Firewall Configuratie

Firewall. Web Content Filter

Multiple LAN subnet. VigorSwitch P1280/P2280

blanco (wordt verlijmd met cover)

DrayTek Vigor IPv6 TSPC tunnel (Freenet6)

Atlas van de parodontale diagnostiek

Time Schedule . WEL NIET WEL

AP-assisted Client Roaming

Transcriptie:

ede Van de m an rv oprichte! in Ardu o startersgids Massimo Banzi mede-oprichter van Arduino banzi Deze startersgids is geschikt voor iedereen die voor het eerst met Arduino aan de slag wil en biedt tal van ideeën voor projecten. Je maakt kennis met de basis van elektronica en sensoren. Ook lees je hoe je de organisatie van een project aanpakt tot en met de laatste finishing touch. In deze compacte startersgids vind je alles voor je eerste stappen met de Arduino. arduino Illustraties voor- en achterkant door Elisa Canducci met Shawn Wallace Arduino is een opensource hardware prototyping platform. Het is opensource en maakt gebruik van een microcontroller. Door deze microcontroller zelf te programmeren kun je interactieve objecten creëren en aansturen. Arduino ge bruikt de input van bijvoorbeeld schakelaars en sensoren om vervolgens actuatoren zoals licht (LED), geluid, motoren of andere output aan te sturen. Arduino startersgids Massimo Banzi is mede- oprichter van het Arduino -project en heeft als software-architect gewerkt aan diverse internationale projecten van grote merken. Daarnaast was hij werkzaam als Associate Professor aan het Interaction Design Institute Ivrea. ISBN 978-90-430-2885-1 Om de voorbeelden in dit boek te volgen heb je een Arduino Uno (of ouder model) nodig, een USB A-B kabel en een LED. De gebruiksvriendelijke Arduino-omgeving is gratis te downloaden. www.pearson.nl RPI-nieuw.indd 4,6 5-4-2013 10:02:11

ISBN: 978-90-430-2883-7 NUR: 987/959 Trefwoorden: Arduino Dit is een uitgave van Pearson Benelux B.V. Postbus 75598, 1070 AN Amsterdam Website: www.pearson.nl e-mail: amsterdam@pearson.com Vertaling en opmaak: Michiel Kelder, Amsterdam Omslag: Studio Pearson Benelux Copyright 2013 Pearson Benelux voor de Nederlandstalige editie. Dit e-boek is voorzien van een verborgen, persoonlijk watermerk. Het verspreiden of openbaar maken van dit e-boek is niet toegestaan. Authorized Dutch translation of the English edition of Getting Started with Arduino, 2 nd edition, ISBN 9781449309879 2011 Massimo Banzi. This translation is published and sold by permission of O Reilly Media, Inc, which owns or controls all rights to sell the same. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen, of enige andere manier, zonder voorafgaande toestemming van de uitgever. Voorzover het maken van kopieën uit deze uitgave is toegestaan op grond van artikel 16B Auteurswet 1912 j het Besluit van 20 juni 1974, St.b. 351, zoals gewijzigd bij Besluit van 23 augustus 1985, St.b. 471 en artikel 17 Auteurswet 1912, dient men de daarvoor wettelijk verschuldigde vergoedingen te voldoen aan de Stichting Reprorecht. Voor het overnemen van gedeelte(n) uit deze uitgave in bloemlezingen, readers en andere compilatie- of andere werken (artikel 16 Auteurswet 1912), in welke vorm dan ook, dient men zich tot de uitgever te wenden. Ondanks alle aan de samenstelling van dit boek bestede zorg kan noch de redactie, noch de auteur, noch de uitgever aansprakelijkheid aanvaarden voor schade die het gevolg is van enige fout in deze uitgave.

Inhoud Voorwoord...9 Hoofdstuk 1: Inleiding.... 13 Doelgroep............................................... 14 Wat is fysiek computeren?.................................... 15 Downloads bij dit boek...................................... 16 Hoofdstuk 2: De Arduino-manier... 17 Prototyping............................................. 18 Knutselen............................................... 19 Aansluiten............................................... 19 Circuit bending........................................... 20 Knutselen met toetsenborden................................. 21 Geef mij maar troep!....................................... 23 Met speelgoed knutselen..................................... 24 Samenwerken............................................ 25 Hoofdstuk 3: Het Arduino-platform...27 De hardware van de Arduino.................................. 28 De software (IDE).......................................... 30 De Arduino op je computer installeren........................... 31 Stuurprogramma s installeren: Macintosh......................... 31

Stuurprogramma s installeren: Windows......................... 32 Poortidentificatie: Macintosh.................................. 33 Poortidentificatie: Windows.................................. 33 Hoofdstuk 4: Echt aan de slag met de Arduino...37 Anatomie van een interactief apparaat........................... 37 Sensoren en actuatoren...................................... 38 Een led laten knipperen..................................... 39 Wil je de hagelslag even aangeven?............................. 42 De Arduino geeft nooit op.................................... 43 Echte knutselaars schrijven commentaar......................... 44 De code stap voor stap...................................... 44 Wat we zullen gaan bouwen.................................. 47 Wat is elektriciteit?......................................... 48 De led met een drukknop aansturen............................. 51 Hoe werkt dit?............................................ 54 Eén schakeling, duizend gedragingen............................ 55 Hoofdstuk 5: Geavanceerde invoer en uitvoer................ 61 Andere aan/uit-sensoren uitproberen............................ 61 Licht aansturen met PWM................................... 63 Een lichtsensor in plaats van een drukknop gebruiken................ 69 Analoge invoer........................................... 70 Probeer eens een andere analoge sensor.......................... 73 Seriële communicatie....................................... 73 Grotere apparaten aandrijven (motoren, lampen en dergelijke).......... 75 Complexe sensoren........................................ 76 Hoofdstuk 6: Met de cloud praten...79 Plannen................................................ 81 Coderen................................................ 82 De schakeling bouwen...................................... 88 Monteren............................................... 89 Hoofdstuk 7: Problemen oplossen....91 De printplaat testen........................................ 92 Je breadboard-schakeling testen............................... 93 6 / Inhoud

Problemen opsporen....................................... 95 Problemen met de IDE...................................... 95 Online hulp krijgen........................................ 96 Bijlage A: Het breadboard...99 Bijlage B: Weerstanden en condensatoren identificeren.... 101 Bijlage C: Overzicht van de taal Arduino... 103 Structuur.............................................. 103 Speciale symbolen........................................ 104 Constanten............................................. 105 Variabelen............................................. 105 Besturingsstructuren...................................... 107 Rekenen en formules...................................... 110 Vergelijkingsoperatoren.................................... 111 Booleaanse operatoren..................................... 111 Samengestelde operatoren....................................111 In- en uitvoerfuncties.......................................112 Tijdfuncties..............................................114 Wiskundige functies.......................................114 Functies voor willekeurige getallen.............................116 Seriële communicatie...................................... 117 Bijlage D: Schema s lezen... 119 Index... 123 Inhoud / 7

Voorwoord Een paar jaar geleden kreeg ik een zeer interessante uitdaging: ontwerpers de absolute beginselen van elektronica uitleggen, zodat ze interactieve prototypes konden bouwen van de objecten die ze ontwierpen. Instinctief begon ik met lesgeven in elektronica op dezelfde manier waarop het mij op school geleerd was. Op een gegeven moment realiseerde ik me dat het gewoon niet ging werken. Ik herinnerde hoe ik zelf in de klas zat en me rot verveelde terwijl er alleen maar theorie behandeld werd zonder dat er een praktische toepassing voor was. Toen ik op school zat kende ik elektronica in feite al op een heel erg empirische manier: heel weinig theorie, maar heel veel praktijkervaring. Ik begon na te denken over het proces waardoor ik elektronica echt geleerd had: Ik haalde elk elektronisch apparaat uit elkaar dat ik in handen kon krijgen. Ik had geleidelijk aan geleerd wat al die onderdelen waren. Ik begon met die onderdelen te knutselen: ik veranderde een aantal aansluitingen binnen het onderdeel en keek wat er gebeurde. Het resultaat lag meestal ergens tussen een explosie en een rookwolkje. Ik ging bouwdozen maken die verkocht werden door elektronicatijdschriften.

Ik ging de apparaten waarmee ik geknutseld had combineren en bouwdozen en andere circuits die ik in tijdschriften had gevonden ombouwen zodat ik ze iets nieuws kon laten doen. Als klein kind wilde ik altijd al weten hoe de dingen werkten, dus ik haalde altijd alles uit elkaar. Mijn passie groeide en ik demonteerde elk ongebruikt object in huis. Uiteindelijk kwam iedereen met allerlei apparaten aanzetten die ik uit elkaar mocht halen. Op een gegeven moment waren mijn grootste projecten een vaatwasser en een vroege computer die van een verzekeringskantoor kwam, en die bestond uit een enorme printer, printplaten, magnetische kaartlezers en allemaal andere onderdelen die zeer interessant bleken te zijn en een uitdaging vormden om volledig uit elkaar te halen. Nadat ik heel veel onderdelen gesloopt had wist ik wat de elektronische componenten waren en wist ik ook ongeveer wat ze deden. Bovendien lag ons huis vol met oude elektronicatijdschriften die mijn vader aan het begin van de jaren zeventig moet hebben gekocht. Ik heb uren gespendeerd met het lezen van artikelen en kijken naar schema s zonder er erg veel wijzer van te worden. Door die artikelen keer op keer te lezen ontstond er, in combinatie met de kennis die ik bij het uit elkaar halen van onderdelen had opgedaan, langzaam een opwaartse spiraal. Een grote doorbraak kwam toen ik voor Kerstmis eens een bouwdoos voor jongeren kreeg om over elektronica te leren. Elk onderdeel zat in een kunststof kubus die je magnetisch op andere kubusjes kon klikken, waardoor er een verbinding ontstond. Het elektronische symbool was aan de bovenzijde weergegeven. Wist ik veel dat het speelgoed ook een symbool van Duits design was omdat Dieter Rams het in de jaren zestig had ontworpen? Hiermee kon ik snel circuits in elkaar zetten en kijken wat er gebeurde. De ontwerpcyclus van mijn prototypes werd korter en korter. Daarna heb ik radio s en versterkers gebouwd, en circuits die verschrikkelijke herrie of leuke geluidjes produceerden, regensensoren, en kleine robots. 10 / Voorwoord

Van mijn eerste experimenten leerde ik hoeveel ervaring je nodig hebt als je met basiscomponenten een circuit wilt kunnen maken dat doet wat je wilt. Een andere doorbraak kwam in de zomer van 1982, toen ik met mijn ouders naar Londen ging en vele uren doorbracht in het Science Museum. Er was net een nieuwe vleugel geopend die compleet gewijd was aan computers, en door daar een serie experimenten te volgen, leerde ik de basis van binair rekenen en programmeren. Daar realiseerde ik me dat ingenieurs in veel toepassingen geen circuits van basiscomponenten meer bouwden, maar in plaats daarvan microprocessors gebruikten om intelligentie in hun producten in te bouwen. Software verving vele uren elektronisch ontwerp, en zorgde voor een kortere ontwerpcyclus. Toen ik thuiskwam ging ik geld sparen, want ik wilde een computer kunnen kopen en leren programmeren. Mijn eerste en belangrijkste project werd vervolgens het besturen van een lasapparaat met behulp van mijn gloednieuwe ZX81-computer. Ik weet dat het niet als een heel spannend project klinkt, maar er was een nuttige toepassing voor. Voor mij was het een grote uitdaging, want ik had net leren programmeren. Het werd mij duidelijk dat het schrijven van regels code minder tijd in beslag zou nemen dan het knutselen met complexe schakelingen. Een twintigtal jaren later denk ik graag dat deze ervaring me in staat stelt om mensen te onderwijzen die zich niet eens meer kunnen herinneren dat ze wiskunde gehad hebben. Hierdoor kan ik ze bezielen met hetzelfde enthousiasme en het vermogen om te knutselen dat ik in mijn jeugd had en dat ik sinds die tijd altijd gehouden heb. Massimo Voorwoord / 11

Hoofdstuk 1 Inleiding Arduino is een opensource-platform voor fysiek computeren dat gebaseerd is op een simpele printplaat voor invoer/uitvoer (input/output: I/O) en een ontwikkelomgeving die de taal Processing (www.processing.org) implementeert. Arduino kan worden gebruikt om op zichzelf staande interactieve objecten te ontwikkelen, maar kan ook worden aangesloten op software op je computer (zoals Flash, Processing, VVVV of Max/MSP). De borden kunnen met de hand worden gemonteerd of voorgemonteerd worden gekocht. De opensource-ide (Integrated Development Environment, geïntegreerde ontwikkelomgeving) kan gratis van www.arduino.cc worden gedownload. De Arduino verschilt op de volgende punten van andere op de markt verkrijgbare platforms: Het is een multiplatform-omgeving: hij kan draaien op Windows, Macintosh en Linux. Hij is gebaseerd op de IDE voor Processing, een eenvoudig te gebruiken ontwikkelomgeving die door kunstenaars en ontwerpers gebruikt wordt. Je programmeert hem via een USB-kabel, niet via een seriële poort. Dit is een handige eigenschap, omdat computers tegenwoordig vaak geen seriële poort meer hebben. Het is opensource-hardware en -software. Als je wilt kun je het schema downloaden, alle onderdelen los kopen en je eigen systeem bouwen, zonder iets aan de makers van Arduino te betalen.

De hardware is goedkoop. De USB-kaart kost ongeveer 20 en een doorgebrande chip op de plaat kun je gemakkelijk vervangen en kost niet meer dan 5. Je kunt het je dus veroorloven om fouten te maken. Er is een actieve gemeenschap van gebruikers, dus er zijn genoeg mensen die je kunnen helpen. Het Arduino-project is in een educatieve omgeving ontwikkeld en daarom zeer geschikt voor nieuwelingen die snel aan de slag willen. Dit boek is bedoeld om beginners te helpen begrijpen welke voordelen ze hebben bij het leren gebruiken van het Arduino-platform en de filosofie erachter. Doelgroep Dit boek is geschreven voor de oorspronkelijke Arduino-gebruikers: ontwerpers en kunstenaars. De manier waarop dingen worden uitgelegd kan sommige ingenieurs gek maken. Er was zelfs een ingenieur die de inleidende hoofdstukken van het oorspronkelijke manuscript niet technisch genoeg noemde. Dat is precies waar het om gaat. Laten we eerlijk zijn: de meeste ingenieurs zijn niet in staat om aan een andere ingenieur uit te leggen wat ze doen, laat staan aan een gewoon mens. OPMERKING De Arduino bouwt voort op het onderzoek dat Hernando Barragan deed aan het ontwikkelplatform Wiring toen hij en ik onder onze leermeester Casey Reas aan de IDII Ivrea verbonden waren. Nadat de Arduino populair begon te worden, realiseerde ik me hoe allerlei onderzoekers, hobbyisten en hackers hem begonnen te gebruiken om de mooiste en gekste objecten te maken. Ik realiseerde me ook dat iedereen op zijn eigen manier een kunstenaar en ontwerper is, dus dit boek is net zo goed voor jou bedoeld. 14 / Hoofdstuk 1: Inleiding

De Arduino is gemaakt voor het leren van Interaction Design, een ontwerpdiscipline met een methodologie waarin prototyping centraal staat. Er zijn veel definities van Interaction Design, maar degene waaraan ik de voorkeur geef is: Interaction Design is het ontwerp van een interactieve ervaring. Interaction Design gaat vandaag de dag over het creëren van betekenisvolle ervaringen tussen ons (mensen) en objecten. Het is een goede manier voor het verkennen van mooie en misschien zelfs controversiële ervaringen tussen ons en de technologie. Interaction Design moedigt ontwerp door middel van een iteratief proces op basis van steeds betere prototypes aan. Ook prototyping met technologie, in het bijzonder elektronica, kan op deze manier die soms ook bij conventioneel ontwerp wel gebruikt wordt aangepakt worden. Het specifieke deelgebied van Interaction Design dat met de Arduino te maken heeft is fysiek computeren (of Physical Interaction Design). Wat is fysiek computeren? Bij fysiek computeren wordt elektronica gebruikt voor de prototyping van nieuwe materialen voor ontwerpers en kunstenaars. Het gaat daarbij om het ontwerp van interactieve objecten die met mensen kunnen communiceren. Ze doen dat met sensoren en actuatoren die bestuurd worden door software die op een microcontroller (een kleine computer op een chip) draait. Vroeger betekende het gebruik van elektronica dat je de hele tijd met ingenieurs te maken had, en dat schakelingen onderdeel voor onderdeel opgebouwd moesten worden. Daardoor konden creatieve mensen niet direct met het medium spelen. De meeste gereedschappen waren bedoeld voor ingenieurs en vereisten veel kennis van zaken. In de afgelopen jaren zijn microcontrollers goedkoper en gemakkelijker in het gebruik geworden, waardoor betere gereedschappen gemaakt konden worden. Hoofdstuk 1: Inleiding / 15

De vooruitgang die we met de Arduino geboekt hebben is dat deze gereedschappen nu toegankelijker zijn voor de beginner, waardoor je na een workshop van twee of drie dagen al dingen kunt gaan bouwen. Met de Arduino kan een ontwerper of kunstenaar de basis van elektronica en sensoren zeer snel leren kennen en met een geringe investering prototypes gaan bouwen. Downloads bij dit boek Op diverse plekken in dit boek wordt verwezen naar gratis te downloaden codevoorbeelden. Alle voorbeelden die in dit boek genoemd worden zijn te vinden op de website van de uitgever van dit boek: www.pearson.nl. Ga naar de homepagina van www.pearson.nl en typ in het zoekvak arduino, om snel naar de boekpagina te navigeren. Daar vind je de downloads! 16 / Hoofdstuk 1: Inleiding