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
PlayStation sluit de ontwikkelaar van Demon's Souls-remake
Huis

PlayStation sluit de ontwikkelaar van Demon's Souls-remake

Sony PlayStation sluit in maart Bluepoint Games, de studio achter de remake van Demon's Souls.

Dat heeft een woordvoerder van Sony aan Bloomberg bevestigd. Door de sluiting zullen ongeveer zeventig werknemers hun baan verliezen. Volgens de woordvoerder is het besluit om de studio te sluiten genomen na "een recente zakelijke beoordeling."

"Bluepoint Games is een enorm getalenteerd team en hun technische expertise heeft exceptionele ervaringen voor de PlayStation-gemeenschap opgeleverd", zo stelde de woordvoerder. "We bedanken ze voor hun passie, creativiteit en vakmanschap."

Hermen Hulst aan het woord

In een bericht die via ResetEra werd gedeeld, liet PlayStation Studios-baas Hermen Hulst - voorheen van de Amsterdamse studio Guerrilla Games - weten dat het besluit werd genomen vanwege "een toenemende uitdagende industrie-omgeving". Aldus Hulst: "Stijgende ontwikkelkosten, een vertraging in de groei van de industrie, veranderingen in het gedrag van spelers en bredere economische tegenwind maken het moeilijker om games duurzaam te bouwen."

Watch on YouTube

Hulst vervolgt: "Om ons in deze realiteit te navigeren moeten we ons aanpassen en moeten we evolueren. We hebben goed gekeken naar ons bedrijf om er zeker van te zijn dat we hedendaags leveren, terwijl we ook klaar zijn voor de toekomst. Daarom zullen we Bluepoint Games in maart sluiten."

Hij eindigde zijn bericht met het volgende: "Ik weet dat dit moeilijk nieuws is om te horen, maar ik ben zeker van de richting die we hebben gekozen. Creativiteit, innovatie en het bouwen van onvergetelijke ervaringen voor spelers blijven de kern van PlayStation Studios. We hebben een robuuste line-up voor het fiscale jaar 2026, en hebben de komende maanden veel om naar uit te kijken."

Watch on YouTube

Over Bluepoint Games

Bluepoint werd in 2021 overgenomen door Sony Interactive Studio. Daarvoor werkten de bedrijven al veel samen, en de studio stond vooral bekend om hun expertise bij het creëren van remakes en remasters. Denk aan de remake van Demon's Souls die tegelijk uitkwam met de PlayStation 5, maar ook God of War Collection, de remake van Shadow of the Colossus en Uncharted: The Nathan Drake Collection.

Vorig jaar bleek al dat Sony een liveservicegame die ontwikkeld werd door Bluepoint had geannuleerd. Volgens geruchten ging het om een liveservicegame gesitueerd in het God of War-universum.

Sony heeft de afgelopen jaren meer studio's gesloten. In 2024 sloten bijvoorbeeld Firesprite, Firewalk en Neon Koi hun deuren.

▼ Volgende artikel
Waar voor je geld: 5 NVMe-ssd's van 2 TB voor je laptop
© ID.nl
Huis

Waar voor je geld: 5 NVMe-ssd's van 2 TB voor je laptop

De prijzen van NVMe-chips voor ssd's zijn flink aan het stijgen. Ben je van plan om je laptop van een grotere opslagcapaciteit te voorzien? Dan is dit het moment om te kijken waar je de beste deal kunt vinden. Wij vonden op Kieskeurig.nl een vijftal NVMe-ssd's, met uiteenlopende prijzen. Wees er snel bij, want deze prijzen kunnen snel verder stijgen.

Samsung 990 PRO 2 TB NVMe SSD

Met de Samsung 990 PRO 2 TB NVMe SSD kun je je computer of spelconsole voorzien van een extra snelle opslagoplossing. Deze M.2‑module maakt gebruik van de PCIe 4.0‑interface en haalt sequentiële leessnelheden tot 7.450 MB/s en schrijfsnelheden tot 6.900 MB/s. Volgens Samsung liggen de willekeurige lees‑ en schrijfsnelheden 40 % en 55 % boven die van de vorige 980 PRO, waardoor de drive geschikt is voor data‑intensieve toepassingen zoals videobewerking, 3D‑ontwerp of gaming.

Het energiemanagement is volgens Samsung verbeterd: de ssd levert ruim 50 % meer prestaties per watt ten opzichte van zijn voorganger. Om je systeem stabiel te houden, beschikt de controller over slimme temperatuurbeheersing en een slanke heatsink zodat oververhitting en lawaaierige ventilatoren worden vermeden. Deze NVMe‑schijf werkt in pc’s en consoles en is ook geschikt voor de PlayStation 5. Verder ondersteunt de Samsung Magician‑software het monitoren van de schijftemperatuur en het kopiëren van gegevens.

Leessnelheid: tot 7.450 MB/s
Schrijfsnelheid:
tot 6.900 MB/s

WD Black SN770 2 TB NVMe SSD

De WD Black SN770 2 TB NVMe SSD is een M.2‑ssd die is bedoeld om je laptop of desktop een turboboost te geven. Het model ondersteunt de PCIe Gen 4‑interface en levert leessnelheden tot 5.150 MB/s. WD noemt een 20 % hogere energie‑efficiëntie in vergelijking met de vorige generatie, zodat je systeem minder energie verbruikt tijdens intensieve sessies. Voor gamers is er een speciale ‘gamingmodus’ in het WD Black‑dashboard: hiermee kun je de piekprestaties optimaliseren en tegelijkertijd de status van de schijf in de gaten houden.

De fabrikant benadrukt dat de drive dankzij thermische technologie consistent presteert, zelfs wanneer je langdurig speelt of grote bestanden verwerkt. Het compacte M.2‑formaat maakt hem geschikt voor moderne moederborden en laptops. Doordat de SN770 zowel voor pc als laptop is geformatteerd, kun je hem zonder speciale aanpassingen installeren.

Leessnelheid: 5.150 MB/s
Schrijfsnelheid: 4.850 MB/s

Kingston FURY Renegade 2 TB NVMe SSD

De Kingston FURY Renegade 2 TB NVMe is ontworpen voor gebruikers die hun pc of gameconsole willen uitrusten met veel opslag en hoge snelheden. Deze M.2‑drive maakt gebruik van een Gen 4x4‑NVMe‑controller en 3D‑TLC‑NAND; hierdoor zijn sequentiële lees‑ en schrijfsnelheden tot 7.300 MB/s en 7.000 MB/s mogelijk.

Kingston meldt bovendien dat de drive maximaal 1.000.000 IOPS haalt, wat van belang is bij multitasking of het laden van grote games. Om de prestaties stabiel te houden bij langdurige belasting, heeft Kingston een low‑profile grafeen‑aluminium warmtegeleider ontwikkeld. Voor de PlayStation 5 is een uitvoering met geïntegreerde heatsink beschikbaar; deze extra koellaag helpt de schijf koel te houden wanneer je console continu wordt belast. Met een capaciteit van 2 TB heb je genoeg ruimte voor games en multimediabestanden, en de M.2‑vormfactor maakt hem geschikt voor moderne moederborden.

Leessnelheid: tot 7.300 MB/s
Schrijfsnelheid:
tot 7.000 MB/s

Seagate FireCuda 520N 2 TB NVMe SSD

De Seagate FireCuda 520N 2 TB NVMeis een compacte NVMe‑schijf die speciaal is ontworpen voor handheld gamingapparaten en ultracompacte pc’s. Met een M.2 2230‑vormfactor past hij in handheld consoles zoals de Steam Deck en de ASUS ROG Ally. De drive gebruikt een PCIe Gen4 x4‑interface en levert sequentiële leessnelheden tot ongeveer 5.000 MB/s en schrijfsnelheden tot 3.200 MB/s.

Het door Seagate opgegeven uithoudingsvermogen vermeldt voor de 2 TB‑versie een schrijflast van 660 TBW, wat duidt op de hoeveelheid data die je in de levensduur kunt wegschrijven. Dankzij het compacte formaat en de bijbehorende 5‑jaar garantie is de drive bedoeld als duurzame upgrade voor draagbare systemen. Je hoeft daarbij geen adapters te gebruiken omdat de drive rechtstreeks in het M.2‑2230‑slot past, wat montage vereenvoudigt. Met 2 TB aan opslagruimte is er voldoende ruimte voor games, apps en systeemupdates op een handheld platform.

Leessnelheid: tot 5.000 MB/s
Schrijfsnelheid:
tot 3.200 MB/s

SanDisk SN7100 2 TB NVMe SSD

De SanDisk SN7100 2 TB NVMe SSD richt zich op gamers en professionals die behoefte hebben aan hoge bandbreedte. In zijn 2 TB‑uitvoering gebruikt deze M.2 2280‑drive een PCIe 4.0 x4‑interface met NVMe 1.4‑protocol. Volgens een review haalt hij sequentiële leessnelheden tot 7.250 MB/s en schrijfsnelheden tot 6.900 MB/s, terwijl de random leesprestaties tot 1.000 K IOPS en de random schrijfprestaties tot 1.400 K IOPS reiken. De SN7100 combineert een BiCS8 TLC‑flashgeheugen met een host‑memory‑buffer (HMB), waardoor de drive DRAM‑loos is maar toch hoge prestaties levert. De review benadrukt dat de schijf energiezuinig is en gericht is op langdurig gebruik. Op Kieskeurig wordt vermeld dat deze SSD geschikt is voor zowel pc’s als gameconsoles en een opslagcapaciteit van 2 TB heeft. Daardoor kun je hem gebruiken in een desktop, laptop of console zonder dat je extra configuratie nodig hebt.

Leessnelheid: tot 7.250 MB/s
Schrijfsnelheid:
tot 6.900 MB/s