ID.nl logo
Huis

Arduino programmeren met Arduino IDE: De basis

Een Arduino-bordje doet niets als er geen software op draait. In deze workshop zetten we de Arduino IDE-ontwikkelomgeving op, schrijven we wat code en uploaden we die naar het bordje zodat het een led doet knipperen. Dit zijn de basics van het Arduino programmeren.

De makers van Arduino produceren niet alleen de microcontrollerbordjes, maar ook de ontwikkelsoftware om er je eigen code op te draaien: de Arduino IDE. Die bestaat zowel voor Windows, Linux als macOS. Download de nieuwste versie (op het moment van schrijven was dat versie 1.8.8).

Voor Windows heb je de keuze tussen een exe- en een zip-bestand. De eerste is gemakkelijker, omdat dit een installatieprogramma is dat onmiddellijk ook de juiste driver voor de usb-verbinding met je Arduino installeert. De standaardinstellingen van het installatieprogramma zijn oké.

Arduino-schetsen

Een schets of ‘sketch’ is de naam die Arduino geeft aan een programma. Elke Arduino-schets bestaat uit twee functies: setup en loop. In die eerste zet je de code die je Arduino-bordje één keer dient uit te voeren, vlak nadat de microcontroller opgestart of gereset is. Daarna wordt de functie loop continu herhaald. De code die je in deze functie zet, draait dus zolang je Arduino ingeschakeld is, telkens opnieuw.

De Arduino IDE komt standaard al met talloze voorbeeldschetsen. Klik in het menu Bestand op Voorbeelden en kies dan in de categorie 01.Basics voor Blink. De code begint met een groot blok tekst tussen regels die beginnen met /* respectievelijk */. Daarmee geef je aan dat de tekst hiertussen commentaar is: de Arduino IDE negeert dit, zodat je hier zelf uitleg voor anderen kunt typen. De makers van de voorbeeldschets leggen hier uit wat de schets doet en verwijzen naar een webpagina met meer informatie. Het is aan te raden om je eigen Arduino-schetsen ook te beginnen met zo’n blok commentaar.

Daarna komen de twee verplichte Arduino-functies, setup en loop. We zien hier ook regels die beginnen met // en we zien ook in het midden van regels // met een tekst erachter. Dit is een tweede manier om commentaar in een Arduino-schets op te nemen: de Arduino IDE negeert alles vanaf // tot het einde van de regel.

Het is niet de bedoeling dat je in je eigen schetsen bij élke regel code commentaar zet zoals in dit voorbeeld, maar maak er wel een gewoonte van om wat complexere regels code van commentaar en uitleg te voorzien, zodat je ze nog begrijpt als je de code over enkele maanden opnieuw bekijkt.

©PXimport

Setup en loop

Laten we even naar de code van het voorbeeld Blink kijken. In de functie setup is er maar één regel code nodig:

pinMode(LED_BUILTIN, OUTPUT);

Hiermee stellen we de digitale pin met de naam LED_BUILTIN in als uitvoerpin, zodat we er later in de code een 0 of 1 naar kunnen schrijven. De naam LED_BUILTIN verwijst op alle Arduino-bordjes naar de ingebouwde led op het printplaatje, meestal pin 13. Door de voorgedefinieerde naam LED_BUILTIN te gebruiken, hoef je je code niet aan te passen als je ze op een ander bordje wilt draaien waar de ingebouwde led een ander pinnummer heeft.

In de functie loop willen we de ingebouwde led doen knipperen. Eerst schrijven we HIGH naar de juiste digitale pin:

digitalWrite(LED_BUILTIN, HIGH);

Omdat het om een digitale pin gaat, kunnen we twee mogelijke waardes naar de pin schrijven: HIGH (overeenkomend met 1) of LOW (overeenkomend met 0). Waarom heet de waarde hier HIGH en niet 1? Omdat dit de spanning is die op de pin gezet wordt: hoog. Je vindt de spanning van jouw Arduino-bordje in deze tabel met de specificaties in het begin van de kolom Operating/Input Voltage. Als jouw Arduino-bordje op 5 V werkt, komt HIGH hier overeen met een spanning van 5 V. Het gevolg? Er vloeit stroom door de ingebouwde led, die begint te branden.

Daarna wachten we een seconde met:

delay(1000);

De 1000 staat voor 1000 milliseconden. In de volgende regel schrijven we LOW naar de digitale pin. Dat komt overeen met een spanning van 0 V. Daardoor vloeit er geen stroom door de ingebouwde led, die daarop uitdooft. Daarna wachten we weer een seconde. We komen nu aan het einde van de functie loop, die daarna weer herhaald wordt: het knipperen begint weer van voren af aan. En op deze manier blijft de ingebouwde led continu knipperen tot de Arduino geen stroom meer krijgt.

Code uploaden

We hebben nu uitgelegd hoe de code werkt uit het voorbeeld Blink, maar je hebt de led nog niet zien knipperen. De code moet eerst geüpload worden naar de Arduino om hem te laten werken. De instructies om met een Arduino-bordje aan de slag te gaan hangen af van het type bordje. Ga via deze link naar de pagina Getting Started with Arduino and Genuino products en klik met rechts op de link die bij je bordje hoort. We tonen in deze workshop hoe dit verloopt met de Arduino Nano, omdat we dit door zijn kleine afmetingen een handig bordje vinden voor heel wat toepassingen.

©PXimport

Steek de ene kant van de mini-usb-naar-usb-kabel in de mini-usb-connector op je Arduino Nano. Sluit de andere kant aan op een usb-poort van je pc. Klik in het menu Hulpmiddelen van Arduino IDE op Board en selecteer in het lange submenu dat verschijnt Arduino Nano. Controleer of er bij Poort een seriële poort vermeld staat, zoals COM1 op Windows of /dev/ttyUSB0 op Linux. Als alles correct lijkt, klik dan linksboven op het knopje met het pijltje naar rechts.

Arduino IDE compileert nu je schets naar machinecode voor de microcontroller en uploadt je code naar het bordje. De voortgang krijg je in het zwarte tekstveld onderaan te zien. Als alles goed gaat (en je dus geen foutmeldingen in rode letters te zien krijgt in het tekstveld onderaan), begint de ingebouwde led van je Arduino te knipperen. Dat werkt ook als je naderhand je Arduino rechtstreeks van een voedingsadapter van stroom voorziet: de code blijft opgeslagen tot je die met een nieuwe schets overschrijft.

▼ Volgende artikel
Review Philips Café Aromis 8000-serie - Horecakoffie gewoon bij je thuis
© Philips
Huis

Review Philips Café Aromis 8000-serie - Horecakoffie gewoon bij je thuis

Thuis koffie van restaurantkwaliteit? De Philips Café Aromis 8000-serie belooft het. In deze review lees je of deze volautomaat de hype waarmaakt. Van perfect melkschuim tot minimaal onderhoud: ontdek waarom dit apparaat je lokale barista overbodig maakt, zelfs met gewone supermarktbonen!

Fantastisch
Conclusie

Dit is meer dan een keukenapparaat; het is een stukje levensgeluk. Je hoeft niet meer te kiezen tussen gemak en smaak. De Philips Café Aromis 8000 bewijst dat je dat perfecte koffiemomentje gewoon thuis kunt creëren. Zonder barista-cursus, zonder gedoe, maar mét die gelukzalige stilte na de eerste slok.

Plus- en minpunten
  • Barista-melkschuim zonder slangetjes
  • Haalt goud uit supermarktbonen
  • Stil in gebruik
  • Einde aan discussies dankzij gebruikersprofielen
  • Foolproof bediening: iedereen kan nu topkoffie zetten
  • Vakje voor gemalen koffie is wat knullig
  • Geen actieve kopjeswarmer
  • Plastic lekbak voelt goedkoop aan

Je kent het vast: je zit in je favoriete koffietentje, neemt een eerste slok van de cappuccino die je hebt besteld en valt even stil. De temperatuur, het mondgevoel, die volle smaak… alles lijkt te kloppen. En dan denk je aan de koffie thuis. Die is prima, of in elk geval best oké. Maar daar blijft het dan ook bij.

Dat dacht ik tenminste. Tot ik de Philips Café Aromis 8000-serie op mijn aanrecht installeerde en mijn keuken stante pede in een soort hippe koffiebar veranderde. De installatie van deze fraaie machine behelst niet meer dan een stekker in het stopcontact, water in het reservoir en een dosis verse koffiebonen bovenin. That’s it. Daarna kan het feest beginnen.

Hoewel de term 'restaurantkwaliteit' vaak niet meer dan een loze marketingkreet is, maakt dit apparaat dat woord opeens bizar concreet. Dat zit 'm in heel basale dingen: de koffie is direct op de juiste temperatuur (niet dat lauwe net-niet) en de smaak is vol en romig, zonder die nare bittere nasmaak. Dit apparaat lijkt bovendien precies te snappen wat jij wil; zonder dat je zelf als een bezetene aan de knoppen hoeft te draaien, staat er binnen de kortste keren een meer dan fatsoenlijke kop koffie voor je neus. Wat een topding!

©Philips

Bonen vs cups: fight!

Voor wie nog twijfelt om de overstap te maken van cups naar bonen: doe het. Het verschil is niet subtiel, het is een aardverschuiving. Waar capsules vaak toch een beetje vlak smaken, proef je hier ineens nuances die je eerder miste. Het apparaat oogt misschien intimiderend professioneel, maar de bediening is uiteindelijk net zo simpel als je gewend bent van je good old Nespresso.

Duurdoenerij niet nodig

Erg prettig is het feit dat de machine enorm vergevingsgezind is. Hippe koffiesnobs vertellen je doorgaans dat je zonder exclusieve bonen van 30 euro per kilo nergens bent. Onzin, blijkt nu. Zelfs met een zak supermarktbonen en een pak volle melk (lang houdbaar werkt het best!) tovert dit ding een resultaat tevoorschijn waar je u tegen zegt. Hij weet echt het maximale uit elke boon te persen. Luxe zonder dat je boodschappenlijstje ingewikkeld of overdreven duur wordt, ik hou ervan.

En dan de melk. Vaak is dat thuis niet meer dan een zielig laagje luchtbelletjes dat na tien seconden als sneeuw voor de zon verdwijnt. Hier niet. Dit schuim is stevig, rijk en blijft dapper overeind staan. M'n ochtendcappuccino heb ik dan ook spontaan heilig verklaard, maar de echte verrassing is wat mij betreft de optie 'Melange'. Die is gloeiend heet, heeft de ideale verhouding tussen melk en koffie (puristen verklaren me voor gek) en maakt me elke keer weer instant gelukkig. Ik was aanvankelijk wat sceptisch over dit soort voorgeprogrammeerde recepten, maar deze verhouding is zo perfect afgestemd dat het elke keer weer aanvoelt als een echte traktatie.

©Philips

'Wat willen jullie drinken?'

Bezoek over de vloer? Kom maar door met de bestellingen! Vroeger hoopte ik stiekem op de keuze voor zwart (want: geen gedoe met melk), nu draai ik mijn hand niet meer om voor een latte of espresso macchiato. Sterker nog, ik nodig mensen nu vol enthousiasme uit om een kopje koffie te komen doen, en de reacties zijn elke keer unaniem: "Wauw, lekkere koffie!" 

Het mooie is dat je specifieke voorkeuren van je bezoek niet elke keer opnieuw hoeft in te voeren. Dankzij de gebruikersprofielen heeft iedereen in huis zijn eigen 'knop'. De een wil de latte met extra melk, de ander wil 'm juist sterker: dat kun je allemaal opslaan. En de machine verrast ook in de breedte. Waar ik zelf inmiddels min of meer verslaafd ben aan de Red Eye (een pittige boost voor de korte nachten), scoor ik bij mijn dochter punten met de 'Babychino'-functie: alleen warm melkschuim. Lekker voor het slapen gaan. 

Voor de liefhebbers zitten er trouwens nog allerlei cold brew-opties in het assortiment. Niet helemaal mijn ding – koffie kan me niet heet genoeg – maar fijn dat het kan als de smaak (of het bezoek) daarom vraagt.

©Eelko Rol

Geen schoonmaak-nachtmerries

Dan het onderhoud. We kennen de horrorverhalen van schimmelende slangetjes in volautomaten en hopeloos verkalkte zetgroepen. De Café Aromis 8000 is wat dat betreft een verademing. Water bijvullen, bakje met koffiepucks legen en (belangrijk!) de melkhouder gewoon even omspoelen onder de kraan (schijnt zelfs in de vaatwasser te kunnen). Geen ingewikkeld gedoe; de machine spoelt zichzelf krachtig door bij het opstarten en afsluiten. Het ding staat er, hij werkt en zeurt verder niet om aandacht. Had ik al gezegd dat dit een topding is?

O, en er is een app. Is die noodzakelijk? Neuh. Is het lekker? Ja! Via de app kun je de machine alvast aan het werk zetten terwijl je zelf nog even je mail checkt in bed. Je weet: technologie is op zijn best als het je luiheid faciliteert, en dat heeft Philips hier goed begrepen.

©Philips

Conclusie? Dit is meer dan een keukenapparaat; het is een stukje levensgeluk. Je hoeft niet meer te kiezen tussen gemak (dag Senseo!) en smaak. De Philips Café Aromis 8000 bewijst dat je dat perfecte koffiemomentje gewoon thuis kunt creëren. Zonder barista-cursus, zonder gedoe, maar mét die gelukzalige stilte na de eerste slok.

Enige minpuntje is wellicht de prijs, want die is met 999 euro best fors. Maar reken maar uit: een cappuccino kost tegenwoordig al snel 4 euro, dus met 250 gloeiend hete geluksmomentjes thuis heb je deze machine er al uit. Dat moet je jezelf gewoon gunnen.

▼ Volgende artikel
Voormalige Assassin's Creed-baas klaagt Ubisoft aan
Huis

Voormalige Assassin's Creed-baas klaagt Ubisoft aan

Marc-Alexis Côté, die voorheen de Assassin's Creed-gamefranchise bij Ubisoft overzag, heeft dat bedrijf nu aangeklaagd.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

Afgelopen oktober werd aangekondigd dat Côté vertrokken was bij het bedrijf. Dat gebeurde rond dezelfde tijd als dat Ubisoft de Assassin's Creed-franchise onderbracht onder Vantage Studios, een nieuwe dochteronderneming die het samen met Tencent heeft opgericht. Côté heeft decennialang aan de Assassin's Creed-franchise gewerkt en stond de laatste jaren aan het hoofd van de populaire spellenreeks.

Côté zou toen Assassin's Creed naar Vantage Studios ging een aanbod van Ubisoft hebben gekregen om een andere leidende positie binnen het bedrijf aan te nemen. Côté liet kort daarna publiekelijk weten dat deze positie niet vergelijkbaar was met zijn eerdere werk.

De aanklacht

Nu klaagt Côté Ubisoft dus aan, zo meldt CBC Radio Canada. Volgens hem zou hij de rol van 'Head of Production' aangeboden hebben gekregen binnen Ubisoft nadat Assassin's Creed binnen Vantage Studios werd ondergebracht, gevolgd door een mogelijke positie als 'Creative House'.

Volgens Côté zou hij daardoor leiderschap krijgen over "tweederangs" Ubisoft-franchises. Aangezien hij daarvoor de Assassin's Creed-franchise overzag, voelde dit voor hem als een wezenlijke stap terug.

Côté nam naar eigen zeggen twee weken vrij om over deze situatie te reflecteren. Aan het einde van die periode zou Ubisoft hebben geëist dat hij een besluit moest maken en besloot Côté dat dit een onacceptabele situatie was, en een "ontslag in vermomming". Hij eiste dan ook ontslagvergoeding, waarna hij te horen kreeg dat hij niet meer op werk hoefde te komen en Ubisoft aankondigde dat hij was vertrokken.

Volgens Côté heeft Ubisoft geclaimd dat hij vrijwillig is vertrokken, zodat men geen ontslagvergoeding hoefde te betalen. Côté eist nu twee jaar aan loon als ontslagvergoeding en 75.000 dollar aan schadevergoeding vanwege machtsmisbruik en schade aan zijn reputatie. In totaal komt dat neer op meer dan 1,3 miljoen dollar. Ook wil hij dat het concurrentiebeding komt te vervallen.

Vantage Studios en Assassin's Creed

Ubisoft richtte vorig jaar samen met het Chinese Tencent de dochteronderneming Vantage Studios op. Daar zijn de drie belangrijkste Ubisoft-franchise in ondergebracht, namelijk Assassin's Creed, Far Cry en Rainbow Six. Ook de ontwikkelteams die aan deze reeksen werken maken nu onderdeel uit van Vantage Studios.

De Assassin's Creed-franchise is al jarenlang een van de belangrijkste gamereeksen van de Franse uitgever Ubisoft. In de spellen gebruiken spelers parkour, stealth en gevechten om diverse exotische locaties uit de geschiedenis te verkennen. Het meest recente deel is het vorig jaar uitgekomen Assassin's Creed Shadows.