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
Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde
© ID.nl
Zekerheid & gemak

Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde

De digitale wereld verandert in een razendsnel tempo. Oplichters gaan dankzij AI steeds overtuigender te werk, waardoor valse berichten en nepwebsites nauwelijks nog van echte te onderscheiden zijn. Tegelijkertijd groeit het aantal accounts en apps dat je dagelijks gebruikt, wat de kans op beveiligingslekken vergroot. Het is daarom belangrijker dan ooit om je online aanwezigheid (nóg) actiever te beschermen. In dit artikel lees je welke aanpassingen je zelf direct kunt doorvoeren en welke extra beschermingslagen jou helpen je digitale veiligheid te versterken.

Partnerbijdrage - in samenwerking met Bitdefender

Waarom cyberhygiëne juist nu belangrijk is

In een modern huishouden volgen de digitale vernieuwingen elkaar razendsnel op. Van schoolapps en games tot werken op afstand; jij en je familie verzamelen ongemerkt een enorme berg online accounts. Tegelijkertijd worden digitale dreigingen steeds lastiger te herkennen.

Vroeger pikte je een nepbericht er zo uit door de kromme zinnen of spelfouten, maar die tijd is echt voorbij. Dankzij de inzet van slimme AI-technieken zien phishingberichten er tegenwoordig ontzettend professioneel uit. Ook foto's, filmpjes en zelfs stemmen kunnen digitaal zo nagemaakt worden dat je niet meer ziet of hoort met wie je echt te maken hebt. Het wordt daardoor steeds moeilijker om de risico's te zien. Hoog tijd dus om je digitale huishouding belangrijker op orde te brengen.

Beginnen bij het begin: een digitale schoonmaak

Veel mensen hebben meer oude accounts dan ze denken. Door die op te ruimen, sluit je meteen een aantal achterdeuren die je gemakkelijk over het hoofd ziet. De volgende onmisbare stap is het gebruik van sterke, unieke wachtwoorden. Zie het als een sleutelbos: wanneer je overal hetzelfde wachtwoord (of een variatie daarop) gebruikt, geef je criminelen met één enkele sleutel direct toegang tot al je accounts. Met unieke wachtwoorden zorg je ervoor dat een lek bij de ene dienst niet automatisch leidt tot een inbraak bij de andere. Een wachtwoordmanager neemt al dat denkwerk van je over. Het geeft je de rust dat je niet langer tientallen ingewikkelde codes zelf hoeft te onthouden. Handig: in een beveiligingspakket als Bitdefender Premium Security zit zo'n Password Manager bijvoorbeeld standaard inbegrepen. Zie tweestapsverificatie vervolgens als een extra slot op de deur; deze laag houdt kwaadwillenden buiten, zelfs als je wachtwoord onverhoopt toch op straat komt te liggen.

Vergeet daarnaast de updates van je apparaten niet. Deze software-updates dichten beveiligingslekken voordat criminelen er misbruik van kunnen maken. Dit is niet alleen belangrijk voor je smartphone, maar juist ook voor apparaten waar je minder vaak bij stilstaat. Denk aan de router in de meterkast of de tablets die de kinderen dagelijks gebruiken.

©Queenmoonlite Studio - stock.adobe.com

De dreigingen van nu vragen om extra hulp

Zelf alert blijven is de basis, maar het speelveld verandert razendsnel. Oplichting wordt steeds geraffineerder door in te spelen op situaties uit je dagelijkse leven. Je krijgt bijvoorbeeld precies op het juiste moment een bericht over een pakket dat vertraagd is, of een dringende waarschuwing die van je bank lijkt te komen. Omdat de grens tussen echt en nep zo vervaagt, is het prettig om een hulpmiddel achter de hand te hebben voor die momenten van twijfel.

Scamio is zo'n hulpmiddel. Deze gratis online tool van Bitdefender controleert binnen een paar seconden of een link of screenshot verdacht is. Je hoeft alleen de inhoud te plakken of de afbeelding te uploaden. Scamio analyseert de informatie en vertelt je direct hoe betrouwbaar het bericht is. Het is alsof er even een expert met je meekijkt voordat je besluit om ergens op te klikken. 

View post on TikTok

Een veilige basis voor het hele gezin

Goede cyberhygiëne draait om slimme gewoonten, maar ook om bescherming die meebeweegt met de dagelijkse werkelijkheid. Bitdefender Premium Security biedt die extra laag voor het hele huishouden. Omdat moderne gezinnen allerlei verschillende apparaten gebruiken, is het omslachtig om alles apart te beveiligen. Door al deze apparaten onder één pakket te brengen, creëer je direct overzicht en rust.

Achter de schermen werken verschillende lagen bescherming nauw samen om je gezin te beveiligen. De software blokkeert malware en ransomware en houdt valse websites tegen nog voordat je ze kunt openen. Scam Copilot kijkt ondertussen met je mee tijdens het browsen en analyseert aanbiedingen en berichten in realtime. Zodra er iets niet klopt, krijg je direct een waarschuwing. Naast deze beveiliging helpt Bitdefender je privacy te bewaken. Denk aan een VPN die je verbinding versleutelt wanneer je onderweg bent, of meldingen wanneer je gegevens onverhoopt opduiken in een datalek.

©Bitdefender

Daarnaast is het goed om te weten dat Bitdefender een Europese partij is met datacenters op eigen bodem. In een tijd waarin je gegevens soms de hele wereld overgaan, is het een prettig idee dat jouw privacy wordt beschermd volgens de strenge regels die we hier in Europa kennen. Je houdt zo simpelweg meer grip op je eigen gegevens.

Samen slim en veilig online

Je digitale veiligheid hoeft geen hoofdpijndossier te zijn. Door kritisch naar je oude accounts te kijken, overal unieke wachtwoorden te gebruiken en updates direct te installeren, zet je zelf al de belangrijkste stappen. Met een totaalpakket als Bitdefender Premium Security voeg je daar een slimme beschermlaag aan toe die de lastige taken van je overneemt. Zo creëer je met een paar simpele aanpassingen een veilige online omgeving voor je hele gezin, waarin je met een gerust hart kunt blijven internetten

▼ Volgende artikel
Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje
Huis

Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje

Dragon Quest is al meer dan drie decennia een icoon binnen de game-industrie. Hoewel de oudere delen al snel gedateerd voelden, zorgde een gestroomlijnde vernieuwing voor een nieuwe aanwas van fans. Toch moest alles nog één keer overboord. Met volle moed en een frisse stijl blijkt Dragon Quest 7 Reimagined een prachtige herinterpretatie van een klassieke rpg voor een nieuwe generatie.

Dragon Quest 7 is een beetje het verloren kindje binnen de reeks. Het was het debuut van de franchise op PlayStation, maar werd berucht door de langzame openingsuren en unieke structuur. Sterker nog: de regisseur van deze remake, Takeshi Ichikawa, biechtte op dat hij als kind nooit verder kwam dan het openingssegment in een recent interview. Er zou dus behoorlijk wat gesneden moeten worden in deze structuur. Bovendien is dit de derde remake van een mainline Dragon Quest-game in twee jaar tijd. Gelukkig onderscheidt Dragon Quest 7 Reimagined zich dit keer wel al vanaf het eerste uur.

©Square Enix

Schuitje Varen, Eilandje Redden

Op het eerste gezicht lijkt Dragon Quest 7 logisch in lijn te vallen met de rest van de serie. Als ‘de Held’ begin je op het enige eiland in de wereld. Samen met prins Keifer en jeugdvriendin Maribel ga je op een groot avontuur wanneer er een portaal opent in de mysterieuze tempel op het eiland. Niet alleen verschijnt er opeens een nieuw eiland in de eindeloze oceaan, maar ook reist de groep terug in de tijd. Ieder nieuw eiland bezoek je zo eerst in het verleden, waarna je acties gevolgen hebben in het heden.

Zo wordt de spelwereld steeds groter. Het ene eiland is compleet verlaten, omdat alle inwoners zijn versteend. Op een ander eiland probeert een groep reizende pelgrims om hun God te helpen terugkeren na zijn verdwijning aan de hand van de Demon King. Onderweg vind je tabletstukken om nieuwe portalen te openen. Ieder eiland heeft zo zijn eigen verhaal en personages die je volgt, wat kan voelen als een televisieserie met allemaal kleine uitstapjes. Het bouwt langzaam op naar een grotere verhaallijn met de terugkeer van de Demon King. Het geeft Dragon Quest 7 een eigen identiteit ten opzichte van andere Dragon Quest-titels, maar vereist wel een langere aandachtsspanne.

Watch on YouTube

Visueel vakmanschap

Gelukkig spat het spel van je scherm. De nieuwe visuele stijl is een hoogtepunt, een fenomenale balans tussen de originele tekeningen en ontwerpen van Akira Toriyama (Dragon Ball) en de 3D-stijl die de games hebben omarmd sinds de PlayStation 2. De hoofdpersonages zien er uit als handgemaakte poppetjes. Steden en kamers worden getoond als kleine diorama's. Het deed mij op meer dan één manier denken aan de uitstekende remake van Zelda: Link’s Awakening op de Nintendo Switch. De nieuwe stijl complementeert de Dragon Quest-serie uitstekend. Wanneer het samenkomt onder begeleiding van de prachtige symfonische muziek, voelt Reimagined als een warme deken voor fans van klassieke rpg’s.

Ik wilde elk hoekje van de wereld verkennen. Elk eiland voelde als een nieuw avontuur. Naarmate de groep avonturiers groter wordt, zwijmel je zo weer weg in de wereld van Dragon Quest. De game heeft zowel Japanse als Engelse stemwerk voor de tussenfilmpjes en belangrijke dialogen, maar ook het schrijfwerk is behoorlijk sterk. Leuke details zoals het gebruik van  ‘Thou’s’ en ‘Thy’s’ bij eilanden in het verleden voelen gepast. Wat minder gepast zijn de plaatsen die stilistische fouten gebruiken om over te komen als ‘Duits’ of ‘Frans’ (‘Wiz’ in plaats van ‘With’, of het weglaten van werkwoorden). Geen pretje om te lezen, maar het brengt wel degelijk het gevoel van een gevarieerde wereld over.

Knokken bouwt karakter

De combat is traditioneel zoals je kan verwachten van Dragon Quest. Elke beurt kies je welke aanval je personage uitvoert. Je maakt gebruik van de zwaktes van vijanden om je aanvallen maximale schade te laten toebrengen. Om in te spelen op de sterke punten van je party kun je ze allemaal een rol geven met het ‘vocation’-systeem. Deze beïnvloedt de statistieken en aanvallen die je kan leren. Na het vrijspelen van de ‘Alltrades abbey’ is het mogelijk om op ieder moment een ander pad te kiezen. Als je specifieke combinaties van vocations leert, krijg je toegang tot speciale rollen. Nadat je de Sailor- en de Thief-vocation beheerst, krijg je de Pirate-vocation, een unieke mix van beide rollen.

Het is een flexibel systeem dat uitnodigt om lekker te experimenteren. Zo maakte ik van Ruff een glazen kanon met een hele hoge kans op critical hits om massale schade uit te delen, terwijl ik Maribel als Sage en Priest gebruikte voor magische aanvallen en genezing. In de beste gevechten van Dragon Quest 7 voelt je party als een goed geoliede machine die compleet kan worden afgestemd op elke situatie. Dankzij de uitgebreide instellingen is het mogelijk om aan te passen hoeveel XP, geld, of levels in vocations je verdient in gevechten. In combinatie met de aangepaste snelheid van gevechten en tactische opties blies ik mij door de gevechten.

©Square Enix

Ideale moderne remake

Al deze kleine verbeteringen maken van Dragon Quest 7 Reimagined de ideale moderne remake. Hoe dol ik ook ben op de 2D-HD-stijl die Square Enix heeft toegepast in de laatste paar Dragon Quest-titels, is de nieuwe stijl in Reimagined een prachtige samensmelting van oud en nieuw. Structureel is de game flink opgepoetst en met de toegankelijkheidsopties hoef je niet eindeloos te grinden voor elke eindbaas. Dit alles komt samen in een heerlijke traditionele en tegelijkertijd modern aanvoelende rpg. Voor de oudgedienden: verwacht geen bergen aan nieuwe missies of verhalen, maar een ‘greatest hits’-album van Dragon Quest 7.

Voor de nieuwkomer is dit niet de eerste Dragon Quest die ik zou aanraden, maar zeker eentje om te ervaren als je nieuwsgierig bent naar andere delen in de serie. Ik kan alleen maar hopen dat dit het startschot is om ook andere delen in de serie op deze manier te ‘reimaginen’. Dragon Quest 9 bijvoorbeeld?

Dragon Quest 7 Reimagined is vanaf 5 februari beschikbaar voor PlayStation 5, PlayStation 4, Xbox Series X en S, pc (via Steam), Nintendo Switch 2en Nintendo Switch. Voor deze review is de game getest op Nintendo Switch 2.

Uitstekend
Conclusie

Dragon Quest 7 Reimagined is een klassieke rpg in een prachtig nieuw jasje. Met een gestroomlijnd verhaal, talloze opties om de ervaring soepeler te maken en een nieuwe visuele stijl is het hopelijk de eerste stap op een nieuwe weg voor Dragon Quest-remakes.

Plus- en minpunten
  • De visuele stijl is fris
  • Gestroomlijnd verhaal
  • Veel toegankelijkheidsopties
  • Klassieke rpg in een nieuw jasje
  • Verhaal komt (nog steeds) langzaam op gang
  • Turn-based combat kan wat eentonig overkomen