Dit e-boek is voorzien van een verborgen, persoonlijk watermerk.
Het verspreiden of openbaar maken van dit e-boek is niet toegestaan.

This e-book contains a hidden and personal watermark. Distribution is prohibited.

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.

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

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.

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.

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!

ISBN: 9789043028844
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 boek is gedrukt op een papiersoort die niet met chloorhoudende chemicaliën is gebleekt. Hierdoor is de productie van dit boek minder belastend voor het milieu.

Authorized Dutch translation of the English edition of Getting Started with Arduino, 2nd 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.