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
Kingdom Come: Deliverance komt naar Xbox Game Pass
Huis

Kingdom Come: Deliverance komt naar Xbox Game Pass

Microsoft heeft bekendgemaakt welke spellen er de komende dagen en weken op Xbox Game Pass verschijnen. Een van die spellen is Kingdom Come: Deliverance.

Dat meldde het bedrijf op Xbox Wire. Het middeleeuwse avontuur van Warhorse staat bekend om zijn uitzonderlijke realisme, waarbij alle acties van de speler gevolgen hebben. De game is sinds enkele jaren weer populair geworden door de komst van het geprezen vervolg.

Hieronder zijn de toevoegingen van de komende weken te vinden, waaronder twee spellen die al sinds gisteren op Xbox Game Pass zijn verschenen:

  • Final Fantasy 2 (Xbox Series-consoles, pc en cloud) – Sinds gisteren speelbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Like A Dragon: Pirate Yakuza in Hawaii (console, pc, handheld en cloud) – Sinds gisteren speelbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Madden NFL 26 (console, pc en cloud) – Vanaf 5 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • Paw Patrol Rescue Wheels: Championship (console, pc, handheld en cloud) – Vanaf 5 februari speelbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Relooted (Xbox Series-consoles, pc en cloud) – Vanaf 10 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • BlazBlue Entropy Effect X (Xbox Series-consoles, pc en cloud) – Vanaf 12 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • Roadside Research (Game Preview) (Xbox Series-consoles, pc en cloud) – Vanaf 12 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • Starsand Island (Xbox Series-consoles, pc en cloud) – Vanaf 12 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • High on Life 2 (Xbox Series-consoles, pc en cloud) – Vanaf 13 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • Kingdom Come Deliverance (console, pc en cloud) – Vanaf 13 februari speelbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Avatar: Frontiers of Pandora (Xbox Series-consoles, pc, handheld en cloud) – Vanaf 17 februari speelbaar via Game Pass Ultimate, PC Game Pass

  • Avowed (Xbox Series-consoles, pc en cloud) – Vanaf 17 februari ook speelbaar via Game Pass Premium

Tot slot werd bekendgemaakt dat Madden NFL 24 op 15 februari van Xbox Game Pass verdwijnt.

View post on X
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
Flitsmeister zet er een punt achter: wat zijn je alternatieven? [UPDATE]
Huis

Flitsmeister zet er een punt achter: wat zijn je alternatieven? [UPDATE]

Verwarring bij veel automobilisten vanmorgen. Wie Flitsmeister gebruikt, kreeg de melding dat de app er een punt achter zet. Gevalletje marketingblunder: je moet dat namelijk niet te letterlijk nemen, zegt het bedrijf nu haastig. Er wordt alleen gestopt met een aantal diensten. Welke dat zijn, dat is nog niet bekend. Hoe het ook zij: misschien heb je inmiddels je Flitsmeister-abonnement opgezegd of vind je de berichtgeving zó onduidelijk dat je dat alsnog wilt doen. Ja? Dan zijn dit je alternatieven.

[UPDATE 11:45 uur: De 'punt' die Flitsmeister zet slaat op de Flitsmeister DOT, een apparaatje dat je op je dashboard kunt bevestigen en dat je via licht- en geluidssignalen op de hoogte houdt van belangrijke informatie onderweg].

View post on Instagram
 

Je kunt natuurlijk zonder flitsmelder rijden, maar vooral wie veel kilometers aflegt, loopt daarmee ook het risico op forse boetes (rijd je buiten de bebouwde kom 20 kilometer te hard en word je geflitst, dan tik je bijvoorbeeld al 243 euro af – exclusief 9 euro administratiekosten). Geen zin meer in Flitsmeister? Gelukkig zijn er voldoende andere applicaties die je helpen om boetes te voorkomen en veilig door het verkeer te navigeren.

Navigatie met flitsinformatie

Waze is voor veel weggebruikers de meest logische opvolger. Net als bij Flitsmeister draait deze app (iOS | Android) volledig op de community. Gebruikers melden zelf files, ongevallen en flitsers, waardoor de informatie vaak actueler is dan bij statische systemen. Het grote voordeel is dat Waze ook slimme routes berekent op basis van live verkeersdata. Een nadeel kan de drukke interface zijn, zeker in het strakke design dat Flitsmeister hanteerde.

Google Maps is de meest toegankelijke optie, aangezien vrijwel elke smartphonegebruiker de app (iOS | Android) al heeft geïnstalleerd. Sinds enkele jaren toont Maps ook flitsers en de maximumsnelheid, al is de focus hier minder scherp op gericht dan bij gespecialiseerde apps. De meldingen komen vaak wat later binnen omdat Google een hogere drempel hanteert voor verificatie. Voor wie enkel de belangrijkste waarschuwingen wil ontvangen zonder al te veel poespas, blijft dit echter een solide keuze.

©MuhammadFadhli - stock.adobe.com

Vergeet de ANWB niet

Een alternatief dat vaak over het hoofd wordt gezien voor flitsmeldingen, maar dat enorm compleet is, is de ANWB Onderweg-app. Deze applicatie (iOS | Android) is niet alleen handig voor navigatie, maar biedt ook een zeer betrouwbaar overzicht van flitsers op de Nederlandse snelwegen en N-wegen. De kracht van deze app zit in de integratie van alle ANWB-diensten. Zo zie je direct de actuele benzineprijzen van stations in de buurt, kun je laadpalen vinden en regelt de app je parkeertransacties.

Mocht je onverhoopt toch stil komen te staan, dan kun je via de app direct hulp inschakelen van de Wegenwacht. De app stuurt dan automatisch je exacte locatie door. Een handige keuze dus voor wie alle belangrijke verkeersinformatie op één plek wil hebben. Ook deze app ondersteunt (net als Waze en Google Maps)  Apple CarPlay en Android Auto, waardoor je de informatie veilig op je autoscherm bekijkt.

©Postmodern Studio - stock.adobe.com

Alternatieven genoeg

Welke app je uiteindelijk ook kiest, het loont de moeite om er een paar uit te proberen tijdens je dagelijkse ritten. Wat voor de één een overzichtelijke interface is, kan voor de ander juist afleidend werken. Nu de toekomst van Flitsmeister onduidelijk is, is dit het ideale moment om te ontdekken welke 'digitale bijrijder' het beste bij jouw rijstijl past.