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
Trage computer? Zo versnel je de opstarttijd van Windows 11
© MG | ID.nl
Huis

Trage computer? Zo versnel je de opstarttijd van Windows 11

Een minuut wachten kan eindeloos lijken, bijvoorbeeld tussen het indrukken van de aanknop en het uiteindelijk erschijnen van het Windows-bureaublad. Met de juiste aanpassingen kun je die wachttijd vaak flink verkorten. En wie wil er nu niet sneller uit de startblokken?

Het is je vast al opgevallen dat je Windows-pc na maanden intensief gebruik trager opstart dan in het begin. Dat lijkt vreemd, maar is goed verklaarbaar: je hebt waarschijnlijk allerlei programma’s geïnstalleerd die automatisch met Windows mee opstarten. Deze automatisch opstartprogramma’s controleren en uitschakelen is dan ook een belangrijke optimalisatiestap.

Maar daarnaast bestaan nog wel andere trucs om de opstarttijd te verkorten. Staat Windows nog op een klassieke harde schijf, dan kun je de tijd vaak makkelijk met een minuut of meer inkorten door over te stappen op een ssd (Solid State Drive). Dit kost wel wat tijd en geld, maar levert meteen een flinke tijdwinst op. En als we het toch over drastische ingrepen hebben: ook een volledige, schone (her)installatie van Windows (op dezelfde schijf) geeft je pc gegarandeerd een snellere start.

Draait Windows al op een ssd en wil je geen nieuwe installatie uitvoeren, lees dan vooral verder: er zijn ook minder ingrijpende maatregelen die het opstarten van je computer merkbaar versnellen. 

Meten is weten

Hoeveel tijd je met de tips en technieken uit dit artikel precies wint, is lastig te voorspellen, want dit hangt af van meerdere factoren. We raden je aan dit zelf te meten. Dat kan met een stopwatch, maar gespecialiseerde applicaties doen dit nauwkeuriger. Windows Performance Analyzer (https://apps.microsoft.com/detail/9n0w1b2bxgnz) is een optie, maar is erg technisch. Een veel gebruiksvriendelijker alternatief is BootRacer (www.greatis.com/bootracer). Deze app is ook gratis en die kun je na enkele testrondes gerust weer verwijderen. We tonen eerst hoe je BootRacer gebruikt om de opstarttijd(en) te meten, want de tool biedt daarnaast ook enkele optimaliseringsopties.

WPA: een geavanceerd meetinstrument.

BootRacer (meten)

Download de app en pak het zip-bestand uit. Start het uitgepakte exe-bestand en installeer het. Laat de vier opties aan het einde van de setup aangevinkt, rond af met Voltooien en start BootRacer op. Sluit alle andere applicaties, klik op Start en kies bij Perform a full boot time test voor Start Test / Yes. Na de herstart van Windows verschijnt rechtsonder een pop-upvenster met de opstartduur. Standaard meet BootRacer dit bij elke nieuwe Windows-opstart, waarna je via History de opeenvolgende tijden kunt volgen. Deze duur is telkens opgesplitst in drie delen: de eigenlijke boottijd, de wachttijd om aan te melden, en de tijd tussen aanmelding en een gebruiksklaar bureaublad. De BIOS-tijd (Pre-boot) aan het begin zit er niet bij omdat BootRacer begrijpelijkerwijs dan nog niet draait. Tijdens de boottijd laadt Windows de kernel, start essentiële systeemservices en initialiseert stuurprogramma’s. Na je aanmelding worden je profiel, instellingen, de shell (Verkenner), achtergrondprocessen en automatische opstartprogramma’s geladen.

Wil je niet langer dat BootRacer de opstarttijd meet, ga dan naar Options en selecteer op het tabblad Show de optie Disable BootRacer AutoStart in plaats van Every boot.

BootRacer geeft je een mooi beeld van de opeenvolgende opstarttijden.

Automatisch opstarten

Je weet nu hoe je de opstartduur kunt meten en bekijken, dus kunnen we aan de slag om deze te optimaliseren en te verkorten. Vaak win je tijd door enkel noodzakelijke programma’s automatisch met Windows te laten starten. Dit overzicht vind je in het Windows Taakbeheer, bereikbaar via het contextmenu van de startknop. Klik hier op Opstart-apps. Zet overbodige apps (tijdelijk) uit door er met rechts op te klikken en Uitschakelen te kiezen, al blijft het hier gissen hoeveel tijd zo’n app werkelijk kost bij het opstarten.

Daarvoor gebruik je BootRacer, dat ook per app de opstarttijd kan vastleggen. Start BootRacer, ga naar Options, open het tabblad Startup Control, klik op Enable Control en vink Measure program’s startup time en Log history of started apps aan. Bevestig met Save. Na een nieuwe Windows-opstart klik je in BootRacer op History en kies je History of Executed Startup Programs, voor een exacte opstarttijd van elke app, in chronologische volgorde.

BootRacer registreert nauwkeurig de opstarttijd van elke automatisch opstartende app.

Opstart-optimalisatie

Je weet nu precies hoeveel impact elke app heeft op de totale opstarttijd. In BootRacer kun je deze apps niet alleen tijdelijk uitschakelen, maar ook de startvolgorde aanpassen. Open het onderdeel Startup Control voor een overzicht. Verwijder het vinkje om apps uit te schakelen. Klik je met rechts op een app, dan kies je Info om het pad naar het programma te zien of eventueel Delete als je de opstartverwijzing (in het register) helemaal wilt verwijderen. Met de knop Set Order links bovenin bepaal je via de pijlknoppen welke apps eerder of juist later starten. Bevestig je wijzigingen met Finish Reordering.

Je kunt ook de onderlinge opstartvolgorde aanpassen in BootRacer.

Opstart-vertraging

In BootRacer kun je het opstarten van specifieke apps niet uitstellen om sneller je bureaublad te zien, omdat de app pas daarna wordt gestart. Dat kan wel met de gratis HiBit start-up Manager (www.hibitsoft.ir/StartupManager.html). Kies bij voorkeur voor de installeerbare versie, want de portable editie mist enkele opties. Installeer de app en start deze op. Wil je een app later laten opstarten, klik er dan met rechts op, kies Add to Delay en stel de gewenste vertraging in (Hour, Minute, Seconds). Of kies Automatic Delay en bepaal hoeveel procent cpu- en/of schijfbelasting er maximaal mag zijn voordat de app start. Bevestig met OK.

Start-up Manager heeft bij de rubriek Tools ook enkele handige extra’s. Zo meldt System Monitoring zich zodra een nieuwe app met Windows wil opstarten en geeft Boot Optimizer de opstarttijden weer, ook van achtergrondservices (zie ook bij Service-optimalisatie).

Je kunt apps eventueel ook laten opstarten nadat je bureaublad is verschenen.

Functie: ‘Snel opstarten’

Windows heeft een functie ‘Snel opstarten’ die de boottijd verkort. Normaal sluit Windows bij het afsluiten alle apps en logt het systeem de gebruiker uit, waarna bij de volgende start alles opnieuw wordt geladen. Met ‘Snel opstarten’ bewaart Windows de status van de systeemkernel en stuurprogramma’s (in het verborgen bestand c:\hiberfil.sys). Bij een volgende start wordt dit snapshot ingeladen, waardoor Windows sneller opstart. In de meeste gevallen is het zinvol deze functie in te schakelen, behalve bij dual-bootconfiguraties of bij stuurprogramma’s die er niet goed mee werken.

Je beheert dit via de ingebouwde app Configuratiescherm. Ga naar Systeem en beveiliging / Energiebeheer, klik op Het gedrag van de aan/uit-knoppen bepalen en kies Instellingen wijzigen die momenteel niet beschikbaar zijn. Zet een vinkje bij Snel opstarten inschakelen (aanbevolen) en bevestig met Wijzigingen opslaan.

Windows heeft een ingebouwde functie om de opstarttijd wat in te korten. 

Energiemodi

De functie Snel opstarten werkt alleen bij een volledige afsluiting, maar in het venster Energiebeheer kom je ook Slaapstand en Sluimerstand tegen, die je hier meteen ook kunt activeren. Beide energiebesparende modi zorgen voor een nog snellere start.

Bij Sluimerstand (hibernate) schrijft Windows de volledige inhoud van het RAM naar schijf, zodat de pc geen stroom meer nodig heeft. Bij het opstarten hervat je de sessie exact waar je gebleven was, inclusief geopende programma’s. Nog sneller is Slaapstand, waarbij de sessie in het RAM-geheugen blijft, waardoor de pc wel nog een klein beetje stroom verbruikt.

De exacte opstarttijd hangt af van je hardware en opstartapps, maar grofweg kun je het volgende verwachten: volledig afsluiten zonder snel opstarten circa 30 tot 60 seconden, volledig afsluiten met snel opstarten circa 15 tot 30 seconden, sluimerstand circa 10 tot 20 seconden en slaapstand circa 5 seconden.

De energiebesparende modi kunnen je ook flink wat opstarttijd besparen. 

Procesoptimalisatie

Blijft de opstart lang duren, ook nadat je alle overtollige opstart-apps hebt uitgeschakeld, dan moet je dieper graven. Vaak zijn het services en achtergrondprocessen die vertraging veroorzaken, zoals cloud-synchronisatiesoftware, update-taken of diensten van derden.

Met een ietwat botte methode spoor je dit als volgt op. Druk op Windows-toets+R, voer msconfig uit, open het tabblad Services en vink Alle Microsoft-services verbergen aan. Klik op Alles uitschakelen en herstart de pc. Start hij nu merkbaar sneller op, dan veroorzaken een of meer van die processen de vertraging.

Met de Boot Optimizer van start-up Manager (zie bij ‘Opstart-vertraging’) kun je zien hoeveel tijd zulke processen kosten. Klik desgewenst met rechts op een proces en kies Disable om het uit te schakelen (het item kleurt grijs). Later kun je dit met Enable weer inschakelen. Kies Uninstall alleen als je zeker weet dat de software niet nodig is, want hiermee verwijder je deze. De optie Delete gebruik je beter niet, omdat dit enkel het item uit de lijst verwijdert terwijl het proces toch kan blijven opstarten.

Je kunt services ook rechtstreeks beheren in Windows via de ingebouwde app Services. Selecteer een service, klik met rechts en kies Eigenschappen. Op het tabblad Algemeen stel je het Opstarttype in op Handmatig of eventueel op Automatisch (vertraagd starten), zodat de service geen impact heeft tijdens de eigenlijke opstartfase. Bevestig met OK.

Services kun je uitschakelen vanuit Boot Optimizer, maar ook vanuit de Services-module.

Autoruns

Vanuit Taakbeheer en met tools als BootRacer, Boot Optimizer en Services kun je de meeste automatisch startende apps en services beheren. Wil je echt alle autostartpunten van Windows zien, gebruik dan het gratis AutoRuns (https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns), bij voorkeur als administrator. Op het tabblad Everything zie je alle opstartpunten in één overzicht en beheer je ze via het contextmenu. Met Jump to Entry spring je direct naar de locatie vanwaar ze worden gestart en met Delete verwijder je de opstartverwijzing uit Windows. Houd er rekening mee dat dit niet eenvoudig terug te draaien is, tenzij je de koppeling handmatig herstelt.

Autoruns lijst letterlijk elk mogelijk opstartpunt van Windows op.

Opstartuitstel

Je hebt de totale opstarttijd waarschijnlijk al flink teruggebracht, maar er zijn nog extra ingrepen mogelijk. Mogelijk zag je in BootRacer een melding over een ‘Explorer start-up Delay’ van 10 seconden voorbij komen. Windows bouwt deze vertraging namelijk standaard in, zodat essentiële systeemdiensten rustig kunnen starten, maar op een modern en snel systeem is dit meestal niet nodig. In BootRacer kun je dit alleen met de betaalde Pro-versie uitschakelen, maar via het register kan het ook gratis.

Druk op Windows-toets+R, voer regedit uit en navigeer naar HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer. Klik met rechts en kies Nieuw / Sleutel, geef deze de naam Serialize. Klik met rechts op deze nieuwe sleutel en kies Nieuw / DWORD (32-bits)-waarde. Noem deze StartupDelayInMSec en laat de waarde 0 staan. Sluit Regedit en herstart je pc.

Met een registeringreep kun je nog eens tot tien seconden besparen.

Auto-doorstart

Wanneer je in BootRacer de totale opstartfase bekijkt, zie je mogelijk ook een ‘Password timeout’, de tijd dat Windows wacht tot je je wachtwoord hebt ingevoerd. Zonde van de verloren tijd, maar als je de enige gebruiker van de pc bent, kun je Windows ook automatisch laten doorstarten.

Druk op Windows-toets+R, typ netplwiz en klik op OK. Verwijder het vinkje bij Gebruikers moeten een gebruikersnaam en wachtwoord opgeven […]. Bevestig met OK en vul het wachtwoord in van het gewenste account.

Zie je deze optie niet, dan gebruik je waarschijnlijk een Microsoft-account. Wil je geen lokaal account aanmaken, dan omzeil je dit als volgt. Ga opnieuw naar Uitvoeren en voer regedit uit. Navigeer naar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device. Dubbelklik in het rechterdeelvenster op DevicePasswordLessBuildVersion en zet de waarde op 0 (in plaats van 2). Na een herstart van je pc zou de optie alsnog zichtbaar moeten zijn.

Als enige gebruiker kun je wellicht ook zonder aanmeldwachtwoord leven. 

UEFI/BIOS

Hoewel tools (zoals BootRacer) de opstarttijd van het UEFI/BIOS niet kunnen meten, kan deze fase toch ook enige tijd kosten. Hier controleert de firmware van je moederbord de hardware en start zij het verdere proces. Met enkele instellingen kun je de opstarttijd wellicht iets verkorten.

Om in het UEFI/BIOS te komen, druk je direct na het aanzetten van de pc op een toets als F10, F2 of Del (zie je systeemhandleiding). Zoek daar naar opties als Fast Boot, Quick Boot of Quick Power on Self Test en schakel deze in om bepaalde zelftesten of wachttijden over te slaan. Controleer ook de bootvolgorde: je stelt de Windows-schijf bij voorkeur in als eerste boot device. Vaak kun je ook ongebruikte hardware, zoals bepaalde poorten, uitschakelen, wat soms wat extra tijdwinst oplevert bij de initialisatie.

Je checkt ook even enkele instellingen in het UEFI/BIOS, zoals Fast boot.

▼ Volgende artikel
Resident Evil Village en meer titels komen naar PlayStation Plus-gamecatalogus
Huis

Resident Evil Village en meer titels komen naar PlayStation Plus-gamecatalogus

Sony heeft bekendgemaakt welke spellen deze maand aan de gamecatalogus voor PlayStation Plus Extra- en Premium-leden worden toegevoegd, en Resident Evil Village is er een van.

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.

Het lijkt geen toeval dat de game naar de catalogus komt, want eerder bleek al dat Village deze maand ook op Xbox Game Pass verschijnt. Daarbij zal eind februari het negende deel in de reeks, Resident Evil Requiem, uitkomen, dus dit is het ideale moment om nog even het geheugen op te frissen met Village, dat het achtste deel in de horrorfranchise betreft.

Deze games komen op 20 januari naar PS Plus Extra en Premium:

Andere spellen die vanaf 20 januari worden toegevoegd, zijn onder andere Like a Dragon: Infinite Wealth, A Quiet Place; The Road Ahead, de oorspronkelijke Ridge Racer en Art of Rally. Voor de duidelijkheid: de moderne spellen op onderstaande lijst zijn speelbaar voor alle PlayStation Plus Extra- en Premium-leden, de klassieke game is alleen voor Premium-leden bestemd.

  •        Resident Evil Village (PS5 / PS4)

  •        Like a Dragon: Infinite Wealth (PS5 / PS4)

  •        Expeditions: A MudRunner Game (PS5 / PS4)

  •        A Quiet Place: The Road Ahead (PS5 / PS4)

  •        Darkest Dungeon 2 (PS5 / PS4)

  •        The Exit 8 (PS5 / PS4)

  •        Art of Rally (PS5 / PS4)

  •        A Little to the Left (PS5 / PS4)

Deze game komt op 20 januari naar PS Plus Premium:

  • Ridge Racer

Meer informatie over deze games valt te vinden op PlayStation Blog.

View post on X