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
De nieuwe Fable komt dit najaar naar Xbox, PlayStation 5 en pc
Huis

De nieuwe Fable komt dit najaar naar Xbox, PlayStation 5 en pc

Fable, de nieuwe adventuregame van Playground Games,verschijnt aankomend najaar op Xbox Series-consoles, PlayStation 5 en pc. Dat werd vanavond tijdens de Xbox Developer Direct aangekondigd.

Het was al bekend dat de game naar Xbox en pc kwam, maar nu is dus ook duidelijk dat het spel op release ook voor PlayStation 5 beschikbaar zal zijn. Daarbij weten we nu dus dat Fable ergens aankomend najaar verschijnt. Gedurende de presentatie werd uitgebreid ingegaan op de game, waarbij ook gameplay werd getoond. Hieronder zijn zowel een korte teaser trailer als de complete presentatie te zien - in die presentatie vallen veel meer beelden van de game te zien.

Een eigen held in een grootse wereld

Spelers beginnen de game als een kind in een rustig dorpje. Al snel komen spelers er achter dat ze uit kunnen groeien tot held in het land van Albion. In de beelden zijn magische bossen, drukke dorpjes, complete steden die rondom kastelen zijn gebouwd en andere prachtige omgevingen te zien. De game heeft voor het eerst in de reeks echt een open spelwereld en spelers kunnen dan ook gaan en staan waar ze maar willen.

Spelers bepalen daarbij zelf wat voor soort held ze worden. Men bepaalt het uiterlijk van het personage, de kleding die men draagt en wat het personage zoal doet in het spel. Er zijn zwaarden, men kan magie gebruiken of juist met pijl en boog aan de slag gaan. Daarbij keren er diverse vijanden uit de vorige games terug, waaronder trollen en skeletten. Natuurlijk zijn er ook nieuwe vijanden, waaronder de Cockatrice - een grote, monsterlijke kip.

Net als in de oude games kunnen spelers zich ook vermaken met allerlei randzaken buiten het hoofdavontuur. Denk aan het kopen van een huis - of élk huis - of het vinden van een partner en met ze op date gaan. Het is ook mogelijk om meerdere partners te hebben, of juist te scheiden.

Watch on YouTube

Er zijn meer dan duizend inwoners van Albion, en elk heeft een eigen rol in deze wereld, en een eigen routine. Elk personage is aanspreekbaar - inclusief ingesproken stemmen. Daarbij hebben de acties van spelers ook een groot effect op de andere personages: zo kan de speler een huisbaas worden en die verhuren, of andere inwoners zelfs op straat gooien. Spelers bouwen gedurende het spel een reputatie op, en alle inwoners reageren daar op hun eigen manier op.

Als voorbeeld werd een missie getoond rondom een inwoner - gespeeld door Britse komediant Richard Ayoade - die een middeltje uitvindt om uit te groeien tot een reus. Als spelers er voor kiezen deze reus te doden, blijft het dode lichaam van dit personage op een heuvel liggen, wat volgens de ontwikkelaars de huizenprijzen van het nabijgelegen dorpje beïnvloedt. Op Xbox Wire valt meer informatie over de game te lezen.

Het ontstaan van Fable

De Fable-franchise ontstond op de eerste Xbox-console en werd ontwikkeld door Lionhead Games, dat onder leiding stond van Peter Molyneux – ook bekend van Black & White. Deze adventure-rpg die zich afspeelde in een middeleeuwse fantasiewereld genaamd Albion – gebaseerd op Groot-Brittannië – had als unieke insteek dat spelers zelf bepaalden of ze goede of slechte daden verrichten, en het uiterlijk van het hoofdpersonage veranderde afhankelijk van deze keuzes. Spelers konden zo een koene ridder of een duivelse crimineel worden.

Ook uniek aan de game was dat spelers een levenspartner konden vinden en daarmee zelfs een kind konden krijgen. Daarnaast was een belangrijk onderdeel van het origineel en de diverse vervolgen die zijn verschenen de typisch Britse, droge humor. De Fable-reeks heeft al jaren geen nieuw deel gekregen, tot het aankomende nieuwe deel.

De nieuwe Fable

De nieuwe Fable is al een aantal jaar in ontwikkeling bij Playground Games, tevens de ontwikkelaar van de Forza Horizon-reeks. Deze reboot moet de unieke aspecten van de franchise behouden, maar een nieuwe generatie gamers er kennis mee laten maken, terwijl de hoogstaande graphics van moderne consoles en pc voor een veel gedetailleerdere spelwereld zorgen.

Watch on YouTube
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.

▼ Volgende artikel
Forza Horizon 6 verschijnt op 19 mei, eerste gameplay te zien
Huis

Forza Horizon 6 verschijnt op 19 mei, eerste gameplay te zien

Forza Horizon 6 komt op 19 mei uit, zo werd vanavond tijdens de Xbox Developer Direct bevestigd. Ook werden er nieuwe beelden van de game getoond, waaronder de eerste gameplaybeelden.

Een selectie aan gameplaybeelden is hieronder te zien in de officiële teaser trailer. Tijdens de livestream, die ook hieronder te vinden is, werd nog veel meer informatie gegeven over het aankomende nieuwe deel in de populaire racefranchise.

Racen in Japan

Zoals eerder al bekend werd gemaakt, speelt de game zich af in Japan. De spelwereld zit vol met prachtige landschappen, waarbij klassieke natuur met moderne stedelijke omgevingen wordt gecombineerd.

Spelers arriveren in de virtuele versie van dit land als toerist, en werken zich langzaam maar zeker omhoog in de racewereld door mee te doen aan festivals. Nieuw zijn 'Horizon Rush'-evenementen waarbij spelers hun skills tonen op obstakelcourses.

Natuurlijk mogen auto's niet ontbreken in de game. Er zitten meer dan 550 wagens in de game op release. Elke wagen reageert zo realistisch mogelijk op de weg en het weer. Naast klassieke wagens zijn ook de nieuwste auto's in het spel te vinden, waaronder de GR GT.

Er zijn verschillende aanpasbare garages te vinden in de spelwereld. Spelers bepalen zelf het uiterlijk van deze garages en kunnen hier hun auto's showen. Daarnaast is er de Estate, een uitgebreid landschap waar spelers gedurende het spel hun eigen thuishaven kunnen opbouwen. Meer informatie over de game is in dit artikel op Xbox Wire te vinden.

Watch on YouTube

Forza Horizon 6-releasedatum en platforms

De releasedatum lekte onlangs al via een te vroeg gepubliceerde advertentie, maar is nu dus bevestigd. Op 19 mei komen zowel de standaard editie als een deluxe editie uit. Mensen die de laatstgenoemde editie aanschaffen, ontvangen op 15 mei al toegang tot de game. De standaard editie gaat 69,99 euro kosten.

De game komt op de bovengenoemde datum uit voor Xbox Series-consoles en pc, en later dit jaar ook voor PlayStation 5. Xbox geeft steeds vaker zijn games uit op consoles van concurrerende platforms, en Forza Horizon 6 vormt daar geen uitzondering op.

De Forza Horizon-reeks

In de Forza Horizon-games kunnen spelers naar hartenlust rondscheuren in mooie bolides. De games spelen zich af in open werelden, waarbij men de mogelijkheid heeft om aan diverse racefestivals mee te doen. Het betreft een subreeks van Forza Motorsport – dat zijn serieuzere racegames ten opzichte van de wat speelsere Horizon-titels. De populariteit van de Horizon-subreeks is die van Forza Motorsport inmiddels voorbijgestreefd.

De ontwikkelaar van de Forza Horizon-reeks is Playground Games. Zij werken ook aan de nieuwe Fable, die vandaag ook tijdens de Xbox Developer Direct werd getoond.

Watch on YouTube
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.