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
Waar voor je geld: 5 smartphones met eSim onder de 400 euro
Huis

Waar voor je geld: 5 smartphones met eSim onder de 400 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Op zoek naar een betaalbare smartphone, maar dan wel eentje met een virtuele simkaart? De redactie van ID.nl is voor je op zoek gegaan naar smartphones met een prijskaartje van onder de 400 euro.

Met een eSim ben je niet meer afhankelijk van een fysiek simkaartje en heb je geen gepriegel meer met het plaatsen van je sim in de telefoon. Je kunt daardoor snel van provider wisselen zonder gedoe. Ideaal als je veel op reis bent, omdat je op deze manier eenvoudig internationale abonnementen kunt activeren. Daarnaast kun je op die manier ook gebruik maken van meerdere telefoonnummers op een enkel toestel, bijvoorbeeld eentje voor werk en prive. De mooiste toestellen met eSim en onder de 400 euro vind je hier.

Sony Xperia 10 VI

De Sony Xperia 10 VI is een compacte smartphone met een focus op multimedia. Het 6,1-inch FHD+ OLED-scherm met een 21:9 beeldverhouding is ideaal voor het bekijken van films. Aangedreven door de Snapdragon 6 Gen 1-chipset en uitgerust met 8 GB RAM, biedt het toestel soepele prestaties.

De 48 MP hoofdcamera legt gedetailleerde foto's vast, terwijl de 5000 mAh batterij zorgt voor langdurig gebruik. Met IP68-certificering is het toestel bestand tegen water en stof.

Samsung Galaxy A26 5G

De Galaxy A26 5G combineert een slank ontwerp met krachtige prestaties. Het 6,7-inch FHD+ Super AMOLED-display biedt levendige kleuren en vloeiende beelden dankzij de 120 Hz verversingssnelheid. Onder de motorkap bevindt zich de Exynos 1380-chipset, ondersteund door 4 tot 8 GB RAM, wat zorgt voor soepele multitasking.

De 50 MP hoofdcamera met optische beeldstabilisatie legt scherpe foto's vast, zelfs bij weinig licht. Met een batterijcapaciteit van 5000 mAh en IP67-certificering is dit toestel zowel duurzaam als betrouwbaar. Bovendien belooft Samsung tot zes jaar beveiligingsupdates, wat de levensduur van het apparaat verlengt.

Motorola Edge 60 Fusion 

De Motorola Edge 60 Fusion is een elegant middelklasse-smartphone die indruk maakt met zijn moderne design en degelijke prestaties. Hij beschikt over een indrukwekkend 6,67‑inch pOLED‑scherm met Super‑HD-resolutie (1 220 × 2 712 pixels), 120 Hz ververssnelheid en HDR10+, beschermd door Gorilla Glass 7i — en dat op alle vier de schermranden. De 50 MP hoofdcamera met optische beeldstabilisatie (OIS) en 13 MP ultragroothoeklens leveren scherpe beelden, terwijl de 32 MP frontcamera mooie selfies maakt.

Motorola Moto G35 5G

De Motorola Moto G35 5G biedt solide prestaties voor een betaalbare prijs. Het 6,72-inch LCD-scherm met een verversingssnelheid van 120 Hz zorgt voor vloeiende beelden. De 50 MP Quad Pixel-camera levert scherpe foto's, zelfs bij weinig licht.

Met een batterijcapaciteit van 5000 mAh en ondersteuning voor 5G-connectiviteit blijf je de hele dag verbonden. Hoewel de Unisoc T760-processor niet de snelste is, biedt het toestel voldoende kracht voor dagelijks gebruik.

Samsung Galaxy A35 5G

De Galaxy A35 5G biedt premium functies in een betaalbaar jasje. Het 6,6-inch FHD+ Super AMOLED-display met een verversingssnelheid van 120 Hz zorgt voor heldere en vloeiende beelden. De 50 MP hoofdcamera met optische beeldstabilisatie legt scherpe foto's vast, terwijl de 13 MP selfiecamera zorgt voor duidelijke zelfportretten.

Aangedreven door de Exynos 1380-chipset en beschikbaar met tot 12 GB RAM, biedt het toestel krachtige prestaties. De 5000 mAh batterij ondersteunt 25W snelladen, en Samsung belooft tot vijf jaar beveiligingsupdates.

▼ Volgende artikel
Nieuwe Fairphones standaard geleverd met 'digitaal rijbewijs' voor jongeren
© insta_photos
Huis

Nieuwe Fairphones standaard geleverd met 'digitaal rijbewijs' voor jongeren

Fairphone gaat vanaf deze maand elk nieuw toestel in Europa standaard leveren met ChatLicense, een app die jongeren en ouders helpt verantwoord om te gaan met de eerste smartphone. De samenwerking moet bijdragen aan meer digitale weerbaarheid en sluit aan bij Fairphones missie om technologie niet alleen duurzaam te produceren, maar ook bewust te gebruiken.

ChatLicense is bedoeld voor gezinnen die hun kind een eerste smartphone geven. De app neemt kinderen mee in een leertraject met korte video's, animaties en quizvragen over onderwerpen als sociale media, chat-apps en online veiligheid. Bij elke stap verdienen ze een stukje van hun 'digitale rijbewijs'. Voor ouders is er een begeleidende gids met gespreksstarters en uitleg, zodat het gesprek thuis vanzelf op gang komt. De methode is gebaseerd op onderzoek van de Erasmus Universiteit Rotterdam en legt de nadruk op leren en weerbaarheid, in plaats van alleen beperken en controleren.

Lees hier onze review van de Fairphone 6

Fairphone Moments

Voor Fairphone sluit de samenwerking aan op eerdere stappen richting bewuster gebruik. Bij de introductie van de Fairphone 6 kwam ook Fairphone Moments, een fysieke knop waarmee gebruikers hun toestel direct in een minimalistische modus kunnen zetten. In die stand worden meldingen en apps sterk teruggebracht, zodat schermtijd vanzelf afneemt. Dat blijkt niet alleen handig voor jongeren, maar ook voor volwassenen die wat meer rust zoeken. Met ChatLicense komt daar nu een educatieve laag bovenop, die vooral gezinnen met jonge kinderen helpt bij de eerste kennismaking met een smartphone.

©Fairphone

Zorgen over schermtijd

De timing is niet helemaal toevallig. Steeds meer ouders maken zich zorgen over hoeveel tijd hun kinderen online doorbrengen en of ze wel voldoende zijn voorbereid op risico's als cyberpesten of misleidende informatie. Uit onderzoek blijkt dat kinderen vaak al rond hun tiende of elfde verjaardag een eigen toestel krijgen, terwijl duidelijke afspraken thuis niet altijd aanwezig zijn. Scholen en gemeenten proberen die digitale opvoeding wel te ondersteunen, maar het gesprek blijft in gezinnen vaak lastig. Door ChatLicense standaard mee te leveren bij elk toestel, hoopt Fairphone een praktische drempel weg te nemen en gezinnen direct iets in handen te geven.

Wat is ChatLicense?

ChatLicense werd eind 2023 in Nederland gelanceerd en heeft zich sindsdien uitgebreid naar meerdere Europese landen. De app kreeg goede beoordelingen in de appstores, onder meer door de speelse insteek en het ontbreken van advertenties of dataverzameling voor commerciële doeleinden. Voor veel ouders is dat een geruststelling, omdat juist die afhankelijkheid van techbedrijven vaak een punt van zorg is. De makers benadrukken dat de inhoud in samenwerking met wetenschappers en pedagogen wordt ontwikkeld, zodat kinderen niet alleen technische kennis opdoen, maar ook vaardigheden om bewust en kritisch online te zijn.

©Fairphone

Een bredere standaard

Met de bundeling van ChatLicense en Fairphone krijgen kinderen die hun eerste smartphone ontvangen voortaan dus niet alleen een mooie nieuwe telefoon, maar ook een digitale opleiding. Daarmee gaat Fairphone verder dan alleen het maken van duurzame hardware; het bedrijf wil immers ook bijdragen aan bewuster gebruik van zo'n toestel. Of het daadwerkelijk leidt tot een nieuwe standaard in de industrie, zal de komende jaren moeten blijken. Maar hé, een stukje bewustwording kan natuurlijk sowieso geen kwaad.