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 betaalbare pc-monitors van 32 inch of groter
© Stocks Marketing
Huis

Waar voor je geld: 5 betaalbare pc-monitors van 32 inch of groter

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Ben je op zoek naar een groot computerscherm? Vandaag hebben we vijf interessante modellen voor je gespot.

Iiyama ProLite XCB3494WQSN-B5

In plaats van twee schermen kun je natuurlijk ook gewoon één grote pc-monitor aansluiten. Met een riante beelddiagonaal van 34 inch open je op de Iiyama ProLite XCB3494WQSN-B5 moeiteloos twee programmavensters naast elkaar. Het licht gebogen scherm telt 3440 × 1440 pixels, zodat je in een hoge resolutie video's kunt streamen. Bovendien leent dit model zich wegens de snelle reactietijd van slechts 0,4 milliseconde goed voor games. Dankzij ondersteuning voor FreeSync werkt de monitor naadloos met de betere videokaarten samen.

Er is een zogeheten KVM-switch ingebakken. Hierdoor schakel je soepel tussen verschillende aangesloten pc's. Net zoals de meeste hedendaagse monitors heeft dit exemplaar een DisplayPort-, HDMI- en usb-c-ingang. Via de drie reguliere usb-poorten sluit je eventueel diverse randapparaten aan. Daarnaast is er een ethernetpoort beschikbaar. Kortom, de ProLite XCB3494WQSN-B5 is in feite een volwaardig dockingstation waarop je een laptop met een enkele kabel kunt aansluiten. De fabrikant besteedt ook aandacht aan een goede ergonomie, want het scherm is in hoogte verstelbaar.

LG 34WQ75C-B

Zoek je een betaalbare pc-monitor met een gebogen ips-paneel, dan is de LG 34WQ75C-B een goede keuze. Dit paneeltype staat garant voor levendige kleuren en goede kijkhoeken. Het 34inch-scherm heeft 3440 × 1440 pixels en is dus ideaal voor videostreaming. De ondersteuning voor HDR10 komt hierbij goed van pas. Films en series van de betere streamingdiensten hebben hierdoor een realistischer kleurverloop. Zet deze LG-monitor gerust in een (thuis)kantoor met veel licht, want het scherm heeft een anti-reflecterende coating.

Aan aansluitopties geen gebrek! Zo kies je voor de beeldoverdracht tussen usb-c, DisplayPort en tweemaal HDMI. Daarnaast zijn er ook nog eens vier usb-poorten en een ethernetaansluiting voorhanden. Nuttig voor wie zijn of haar laptop snel op de monitor inclusief alle randapparaten wil aansluiten. Denk onder meer aan een muis, toetsenbord en externe harde schijf. Via een enkele usb-c-kabel bereiken data en stroom de laptop, terwijl het beeldsignaal in tegengestelde richting naar het scherm wordt verzonden. Overige pluspunten zijn de geïntegreerde speakers en in hoogte verstelbare standaard.

Samsung LC32R500FHPXEN

De Samsung LC32R500FHPXEN is op het moment van schrijven een van de goedkoopste pc-monitors van 32 inch die je kunt kopen. Net zoals veel andere schermen van dit formaat heeft ook dit model een lichte kromming van 1500R. Het gebogen scherm verhoogt het kijkcomfort. De maximale resolutie bedraagt 1920 × 1080 pixels, zodat je films, series en/of tv-programma's in Full-HD-kwaliteit kunt streamen. Ondanks de relatief lage prijs heeft de LC32R500FHPXEN zeer dunne schermranden.

Een voordeel is dat je via de zogeheten Eye Saver Mode het blauwe licht kunt minimaliseren. Zo verklein je de kans op vermoeide ogen. Voor liefhebbers van videospellen is er een gamemodus ingebakken. Sluit via de HDMI-ingang dus gerust een game-pc aan. Bij aanwezigheid van een videokaart met FreeSync-ondersteuning wordt de vernieuwingsfrequentie geoptimaliseerd. Dat voorkomt haperende beelden. Je kunt na aanschaf van deze monitor trouwens meteen aan de slag, want er is een HDMI-kabel inbegrepen.

Lees ook: 🖥️ Nieuwe monitor kopen? 5 fouten die je niet moet maken

Samsung Odyssey G5 LC34G55TWWPXEN

Deze 34inch-monitor van Samsung is uitermate geschikt voor fanatieke gamers. Zo presteert het paneel op een maximale vernieuwingsfrequentie van 165 hertz. Hierdoor ervaar je uiterst vloeiende gameplay. Als je een pc met een geschikte grafische kaart aansluit, wordt de vernieuwingsfrequentie continu geoptimaliseerd. Dat werkt via de techniek FreeSync. Voor het spelen van multiplayergames is de rappe reactietijd van één milliseconde een groot voordeel. Zo reageer je razendsnel op (online) tegenstanders. Met een resolutie van 3440 × 1440 pixels verschijnen de animatiebeelden ook nog eens scherp in beeld.

Deze luxe monitor kan uit de voeten met HDR10, waardoor de beelden van games, films en series zeer realistisch ogen. Je sluit een computer of laptop op twee manieren aan, namelijk via DisplayPort of HDMI. Dankzij de lichte kromming neem je moeiteloos pal voor het scherm plaats. Het beeld sluit goed aan bij je gezichtsveld, waardoor je de monitor ook voor regulier kantoorwerk kunt gebruiken. Daarnaast leent de Odyssey G5 LC34G55TWWPXEN zich goed voor beeldbewerking. Het scherm is trouwens niet in hoogte verstelbaar; er is alleen een kantelfunctie beschikbaar.

Philips Evnia 34M2C6500/00

Voor oled-begrippen valt de vraagprijs van de Philips Evnia 34M2C6500/00 alleszins mee. Dit model bevat om precies te zijn een hoogwaardig qd-oled-paneel. Deze schermtechniek staat bekend om zijn inktzwarte contrasten, hoge helderheid en natuurgetrouwe kleuren. Aangezien iedere pixel individueel wordt aangestuurd, zie je volop details. Deze pc-monitor is geschikt voor wie games, video's en foto's in een hoge kwaliteit wil bewonderen. Voor nog fraaiere beelden schakel je tussen verschillende HDRI-modi. Je sluit met behulp van DisplayPort en HDMI (2×) één of meerdere computers aan. Verder telt de onderzijde van het scherm twee usb-poorten.

De Evnia 34M2C6500/00 ondersteunt een respectabele resolutie van 3440 × 1440 pixels. Daarnaast valt de riante vernieuwingsfrequentie van 175 hertz op. Snel bewegende beelden verschijnen dus scherp op het qd-oled-paneel. Dankzij het gebogen ontwerp volg je vanuit jouw zitpositie  alle activiteiten op het scherm. Gamers slaan hun persoonlijke voorkeuren optioneel in eigen profielen op. Switch zo bij ieder spel naar de juiste beeldinstellingen. Voor schiet-, race- en strategiegames zijn er overigens voorgekauwde instellingen beschikbaar. Tot slot heeft Philips ook aan een goede ergonomie gedacht. Je kunt de Evnia 34M2C6500/00 kantelen, zwenken én in hoogte verstellen.

▼ Volgende artikel
Klaar met Twitter/X? Dit zijn de populairste alternatieven
© gguy - stock.adobe.com
Huis

Klaar met Twitter/X? Dit zijn de populairste alternatieven

Steeds meer mensen verlaten het socialemediaplatform X, veelal uit onvrede over de koers van eigenaar Elon Musk. In Nederland zijn er vorig jaar bijna een half miljoen gebruikers vertrokken. Veel van hen ruilen het voormalige Twitter daarom in voor een soortgelijk alternatief. In dit artikel bespreken we de drie populairste X-concurrenten.

De drie populairste X-alternatieven zijn Threads, Bluesky en Mastodon. Alle drie doen in de basis hetzelfde, maar zijn natuurlijk niet identiek. In dit artikel gaan we specifiek in op de verschillen tussen deze drie platformen en X.

Lees ook: Van Facebook tot TikTok: welk van deze acht diensten past bij jou?

Threads

Threads is momenteel het populairste X-alternatief, met dagelijks meer dan 100 miljoen actieve gebruikers, iets wat Bluesky en Mastodon verre van halen. Met naar schatting meer dan 1 miljoen Nederlandse gebruikers (waarvan 500.000 dagelijks actief) is het platform hier ook aardig populair. Overigens is X met zijn circa 240 miljoen dagelijkse gebruikers (waarvan 1,4 miljoen Nederlands) nog steeds groter dan alle concurrenten bij elkaar.

Deze populariteit heeft Threads hoogstwaarschijnlijk te danken aan de lage instapdrempel, mits je al gebruikmaakt van Instagram. Beide platformen zijn onderdeel van moederbedrijf Meta en diep met elkaar verbonden. Door met je Instagram-account in te loggen op de X-concurrent heb je meteen een Threads-account (inclusief je Instagram-profielfoto en -bio) en volg je automatisch dezelfde accounts als op de foto-app. Zo heb je al meteen een goedgevulde tijdlijn.

Aan de andere kant zijn Threads en Instagram misschien wat té verbonden. Je kunt namelijk alléén inloggen op Threads met een Instagram-account, waardoor je de foto-app verplicht moet downloaden. Ook is het niet mogelijk om privéberichten te sturen via Threads – Meta wil dat je daarvoor Instagram blijft gebruiken.

Er zijn nog geen advertenties, maar Meta heeft al wel laten weten die op korte termijn te willen invoeren (in de VS worden reclames al getest). Voor het tonen van gepersonaliseerde advertenties gebruikt het bedrijf zowel je Threads- als Instagram-activiteit.

Een DM sturen om te vragen waar je pakketje blijft is helaas niet mogelijk op Threads.

Bluesky

Bluesky lijkt als twee druppels water op X. Of eigenlijk: X voordat het X heette. De tekenlimiet is met 300 tekens ongeveer gelijk aan de originele limiet van Twitter (voordat dat werd opgehoogd naar 4000 voor betalende gebruikers) en Bluesky heeft ook een soort Tweetdeck. Dat was een populaire functie op het vroegere Twitter, waarmee je meerdere tijdlijnen schermvullend kunt weergeven. Musk heeft Tweetdeck (nu X Pro genoemd) achter een betaalmuur gezet, maar op Bluesky is deze functie nog gratis.

Er zijn wel een paar unieke opties aanwezig, zoals de mogelijkheid om je tijdlijnen naar smaak aan te passen. Als je net nieuw bent, begin je met twee feeds: een met posts van gevolgde accounts en een met aanbevolen posts op basis van je activiteit op het platform, zoals de berichten die je liket. Je kunt ze echter vervangen door tijdlijnen die door andere gebruikers zijn samengesteld, zoals een trendingfeed, een tijdlijn met alleen maar kattenfoto's of een met louter Nederlandstalige berichten. Een andere onderscheidende functie is Starter Packs. Daarmee kun je met één klik groepen gebruikers volgen die aansluiten bij je interesses, zoals Nederlandse politici, techjournalisten of voetbalvolgers.

Tegelijkertijd ontbreken er nog verschillende functies die al enige tijd een vaste waarde zijn op X. Zo kun je je accounts en posts niet op privé zetten, kun je maar één afbeelding of video aan een post toevoegen en is het ook niet mogelijk om groeps-chats te organiseren. Ook advertenties ontbreken, maar die zul je vast niet missen. Het platform werkt wel aan een betaald abonnement om de gemiste reclame-inkomsten op te vangen.

Op Bluesky kun je je eigen feeds samenstellen.

Mastodon

Mastodon is eigenlijk geen opzichzelfstaand platform. Het bestaat namelijk uit allerlei losstaande servers, die je een beetje kunt zien als losse e-maildiensten (zoals Gmail en Outlook). Je kunt zelf een server opstellen, maar je kunt je ook aansluiten bij een bestaande open server, waarvan mastodon.social het populairst is. Voor de meeste gebruikers maakt het weinig uit welke server je kiest. Je kunt namelijk ook posts zien en reacties ontvangen van gebruikers op andere servers. Wel is er een aparte tijdlijn waarop je alleen berichten ziet van gebruikers die op dezelfde server zitten. Goed om te weten: als je je account om welke reden dan ook naar een andere server wilt verhuizen, worden je posts níét overgedragen.

Voor een socialmediaplatform is de opzet vrij complex. Het is dan ook niet verrassend dat Mastodon van de drie X-alternatieven het minst populair is. In Nederland zijn er 'slechts' naar schatting 200.000 gebruikers actief.

Toch zitten er ook voordelen aan zo'n open, decentrale aanpak. Er is daardoor bijvoorbeeld niet één bedrijf of miljardair 'de baas' die kan bepalen wat er met het platform gebeurt en gegevens van gebruikers kan verzamelen voor zaken als gepersonaliseerde advertenties (sterker nog: er is helemaal geen algoritme aanwezig om posts aan te raden op basis van je activiteiten). Voor mensen die met lede ogen hebben aangezien hoe Elon Musk Twitter eigenhandig een richting op stuurde waar ze het stellig mee oneens waren, is dat een geruststellende gedachte.

Mastodon heeft geen aanbevelingsalgoritme; de feeds geven enkel de recentste posts weer.

Helemaal klaar met social media?

Je kunt mensen ook in het echt ontmoeten