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
Waar voor je geld: 5x betaalbaar funcooken met je hele gezin
© ID.nl
Huis

Waar voor je geld: 5x betaalbaar funcooken met je hele gezin

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Wil je funcooken voor een aantrekkelijke prijs? We hebben vijf interessante apparaten voor je gespot die niet duurder zijn dan 190 euro.

Solis 5 in 1 tafelgrill (7910)

Zoek je een kwalitatief gourmetstel waarmee je jarenlang vooruit kunt? Dit luxe exemplaar van Solis voldoet aan alle eisen. Met de traploze regelaar aan de voorzijde kun je heel precies de gewenste temperatuur instellen. Bak vervolgens op de grillplaat de lekkerste hapjes gaar. Daarnaast kun je ook een van de vier bijgesloten miniwoks of (raclette)pannetjes gebruiken. Hiermee maak je bijvoorbeeld een kleine pannenkoek of pizza.

De werking is kinderlijk eenvoudig. Zodra je het kooktoestel inschakelt, gaat er eerst een rood lampje branden. Het gourmetstel is nu aan het opwarmen. Als het lampje groen kleurt, kan het eetfestijn beginnen. Is een gerecht zo heet dat je je mond kunt branden? Plaats het pannetje of de miniwok dan even in de koudzone onderin het toestel. Naast de eerder genoemde accessoires levert de fabrikant ook nog vier spatels mee.

Princess 162655 Black Steel Raclette

De betaalbare Princess 162655 Black Steel Raclette valt bij heel wat Kieskeurig.nl-testers goed in de smaak, want zij beoordelen dit gourmetstel met een 8,3 (gemiddeld cijfer). Verschillende reviewers vinden het prettig dat dit apparaat zich makkelijk laat schoonmaken. De losse onderdelen kunnen bovendien in de vaatwasser. Een ander pluspunt is dat het gourmetstel volgens diverse gebruikers snel opwarmt. Niet vreemd, gezien het respectabele vermogen van 1300 watt.

Het gourmetstel heeft een riant bakoppervlak van 44 × 25 centimeter. Dankzij de stevige anti-aanbaklaag heb je geen bakboter of olie nodig om te grillen. Het apparaat leent zich prima voor een ruim gezelschap, want de productdoos telt acht (raclette)pannetjes met een houten handvat en evenzoveel spatels. Via een draaiknop reguleer je nauwkeurig de temperatuur. Overigens vindt een enkele tester het netsnoer wat aan de korte kant.

Tefal WokParty Duo PY5828

Wie met een groepje gezellig wil wokken, kan dit leuke kooktoestel van Tefal eens uitproberen. Er zijn zes diepe pannen bijgesloten. Dankzij de gekleurde markering op het handvat weet iedereen precies welk pannetje van hem of haar is. De bakplaat bevat ronde uitsparingen, waardoor de boel niet gaat schuiven. Hierin kun je trouwens ook prima mini-pannenkoeken bakken. Speciaal daarvoor is er een handige gietlepel inbegrepen. Verder telt de verpakking zes spatels.

De WokParty Duo PY5828 heeft een zogeheten Thermo-spot. Hieraan zie je in hoeverre het kooktoestel op temperatuur is. Met een vermogen van duizend watt hoef je niet zo lang te wachten. Tefal levert een receptenboek mee, zodat je inspiratie kunt opdoen. Klaar met tafelen? Stop dan alle losse accessoires in de vaatwasser. Handig is dat je het netsnoer, de spatels en de gietlepel in de onderkant kunt opbergen.

Lees ook: Zo voorkom en verwijder je vieze luchtjes na het gourmetten

Emerio PO-113255.4

Pizzaliefhebbers opgelet! De binnenzijde van deze Emerio fungeert als een kleine oven. Op die manier kunnen maximaal zes personen hun eigen mini-pizza bakken. Met behulp van de bakspatel schuif je de lekkernij moeiteloos in de oven. Geen zin in pizza? In de zes bijgesloten pannetjes kun je allerlei andere gerechten klaarmaken. Bovendien bevindt zich bovenop een ronde grillplaat met een diameter van veertig centimeter. Daar kun je dus behoorlijk wat hapjes op kwijt!

De bediening heeft weinig om het lijf, want de behuizing bevat alleen een aan-uitknop. Met een riant vermogen van 1500 watt worden de gerechten goed warm. De maximale oventemperatuur bedraagt dan ook 250 graden. Volgens de fabrikant houdt de koepelvormige behuizing de warmte in de (pizza)over beter vast. Diverse accessoires zijn vaatwasserbestendig, zodat je na afloop niet zoveel tijd kwijt bent aan schoonmaken.

Princess Dinner4All

Als je met een groepje gaat gourmetten, staat het kooktoestel voor sommige personen wellicht te ver weg. Daar heeft Princess iets op bedacht. Met de Dinner4All bedient iedereen zijn eigen bakplaat van 250 watt. Even een satéstokje of biefstukje omdraaien is dus zo gepiept. Is het hapje eenmaal gaar, dan schuif je het zo op je eigen bordje. Princess levert hiervoor vier aardewerken-borden mee.

Je sluit de centrale unit aan op netstroom, waarna je hierop maximaal vier individuele gourmetstellen kunt aansluiten. Vermenging van smaken is dus verleden tijd! Plaats op deze unit eventueel de inbegrepen serveerschaal. Zo kan iedereen zijn of haar favoriete hapjes pakken. Wil je weten hoe andere gebruikers dit slimme gourmetstel beoordelen? Lees dan eens deze reviews op Kieskeurig.nl. Dit kooktoestel is als alternatief ook met twee individuele bakplaten te koop.

▼ Volgende artikel
De top 5 beste wintersportgames
© Ubisoft
Huis

De top 5 beste wintersportgames

De Olympische Winterspelen gaan bijna van start, en het zien van al die atleten in de kou werkt op een bepaalde manier toch inspirerend. Terwijl je dus uitkijkt naar de volgende skivakantie (of juist liever thuisblijft om gebroken botten te voorkomen), kun je jouw wintersportdromen vervullen dankzij videogames. Hieronder staan vijf van de beste wintersportgames waarin je je helemaal kunt uitleven.

⛷️🏂 🪂 Steep

Platforms:PlayStation 4, Xbox One, pc

Een van de meest moderne en toegankelijke wintersportgames komt uit de stal van het Franse Ubisoft, dat in 2016 Steep uitbracht. De game combineert verschillende sporten zoals skiën, snowboarden, parachutespringen en… vliegen met jetpacks? Deze sporten doe je op de Mont Blanc, de hoogste berg in de Alpen - en Europa trouwens. De physics is wat Steep bijzonder maakt: het is een veel realistischere insteek dan bijvoorbeeld SSX.

In Steep beweeg je je al sleeënd en skiënd over deze berg, waar ondertussen ook allerlei andere spelers rondbewegen, wat een bijzonder gevoel van samenhorigheid geeft. Ook kun je dus in alle rust wintersporten met vrienden als een soort virtuele skivakantie. De game draait in principe om het onder de knie krijgen van de verschillende soorten wintersport om zo de 'Ultimate Legend' te worden, maar in alle rust genieten van de Alpen is net zo goed een optie.

Overigens is er ook een soort vervolg in de vorm van Riders Republic, een game die zich meer richt op zomersporten maar ook het snowboarden uit Steep uitstekend overneemt en verbetert.

Watch on YouTube

🏂 SSX 3

Platforms: GameCube, PlayStation 2, Xbox, GameBoy Advance

Wie aan wintersport in games denkt, komt waarschijnlijk zeer snel uit op de SSX-reeks. Het derde deel in die franchise is misschien wel de meest geliefde, vanwege de keiharde soundtrack, grote hoeveelheden complexe trucs die je kunt uitvoeren en een meeslepende, met vele collectables gevulde open wereld om in te snowboarden. De game kwam uit in 2003, en werd toentertijd ook sterk geprezen om de indrukwekkende physics en graphics.

De open wereld van het spel is een soort aaneenschakeling van alle courses waar je op snowboardt. Daar kun je dus in op zichzelf staande races op rondscheuren en tegenstanders van hun bord af meppen, of op je eigen tempo trucs oefenen terwijl je jamt op nummers van onder andere de Black Eyed Peas. Als je nog een PlayStation 2, GameCube of originele Xbox hebt staan is dit het perfecte moment om weer met grandioze tricks te gooien. En mocht je die niet hebben, dan is de game backwards compatible op Xbox.

©Electronic Arts

⛷️🏂 🥌⛸️Mario and Sonic at the Olympic Winter Games

Platforms: Wii, DS

Ooit was de rivaliteit tussen Mario en Sonic zó groot dat er gehele marketingcampagnes vanuit de ontwikkelaars werden gevoerd - Sega does what Nintendon't bijvoorbeeld. Door de jaren heen is die storm gaan liggen, maar in de Mario and Sonic sport-spellen konden fans van beide kampen hun conflicten toch nog een beetje uitvechten. Je kunt namelijk zowel Mario- als Sonic-personages selecteren en deelnemen aan de Olympische Spelen.

In de game uit 2009 gaat het specifiek om de Winterspelen, dus onder de activiteiten vallen in dit deel onder andere sporten als skiën, bobsleeën en schaatsen. Daarbij maakten beide versies van het spel - op de Wii en DS - allebei op eigen manieren gebruik van motion controls of de touchscreen om deze spellen speelbaar te maken. Dat maakt een wintersportervaring die ook zonder de kleurrijke personages uniek is.

Watch on YouTube

⛷️Lonely Mountains: Snow Riders

Platforms:pc, Xbox Series, PlayStation 5

Skiën kan best een rustgevende bezigheid zijn, zeker met een mooi uitzicht en wanneer niemand zijn of haar botten breekt. In Lonely Mountains: Snow Riders komen beide van die aspecten naar voren, terwijl je steeds sierlijker naar de onderkant van een berg beweegt. Waar het juiste pad vinden aanvankelijk wellicht lastig lijkt, word je er na verloop van tijd handiger in, en een bijkomend voordeel is dat je bij een crash zelf geen botbreuken oploopt. Je blijft het gewoon proberen.

Jouw afdaling van de berg perfectioneren kun je in Snow Riders trouwens ook met een aantal vrienden doen - maximaal acht - en daarbij is het mogelijk om tegen elkaar te racen. Een fijne samenkomst van relaxatie en uitdaging, dus. Daarmee kom je wel in de sfeer voor de Winterspelen.

©Megagon Industries

⛷️🏂 🛷☃️Ski or Die

Platforms: Commodore 64, NES, MS-DOS, Amiga

We gaan nog even flink terug in de tijd, naar 1990. Toen kwam Ski or Die namelijk uit, dat weer bestond uit vijf verschillende minigames. Daaronder vallen halfpipe snowboarden, racen in een opblaasbare slee, twee versies van skiën, waarvan één draait om trucs en de ander om het afdalen van een berg zonder obstakels te raken, en als laatste: sneeuwbalgevechten.

We hebben in deze lijst al zoveel sneeuw gezien, en dit is de eerste keer dat de leukste bezigheid in de sneeuw naar voren komt. Deden ze toch goed in 1990. Misschien is het een idee om van sneeuwbalgevechten een Olympische sport te maken?

©Electronic Arts

Overige tips

Uiteraard zijn er nog meer wintersportgames die in mindere of meerdere mate nog steeds relevant zijn. Hieronder daarom nog een aantal overige tips voor games om in de stemming voor de Olympische Winterspelen te komen:

🏂 SSX: Tricky (PlayStation 2, Xbox, GameCube en Game Boy Advance)
🏂 Alto's Adventure (PlayStation 4, Xbox One, Switch, iOS, Android en pc)
🏂 1080 Snowboarding (Switch 2, Switch, Wii U, Wii en Nintendo 64)
🏂 Shaun White Snowboarding (PlayStation 3, Xbox 360, Wii, Nintendo DS, PSP en pc)
🏒 EA Sports NHL 26 (PlayStation 5, Xbox Series X en S)