4 December 2024
Vandaag geef ik vanuit BotBerg voor de SPARK Campus in ‘s-Hertogenbosch een training waarin de deelnemers praktisch aan de slag gaan met de basisbeginselen van I/O-programmeren met een Arduino. Ik begin met een uitleg over begrippen als spanning, stroom en weerstand. Om het meteen praktisch te maken, starten we direct met het gebruik van een multimeter. De deelnemers aan dit soort trainingen zijn doorgaans zeer divers, maar hebben allemaal interesse in het leren programmeren en het aansturen van LED’s, schakelaars, sensoren en motoren. Door de basisbeginselen van elektronica te introduceren, wordt een gelijk speelveld gecreëerd, waardoor de deelnemers klaar zijn om praktisch aan de slag te gaan.
Tijdens deze training maak ik gebruik van de Arduino Student Kit. Dit is een officiële trainingsset die, naast de benodigde componenten, ook toegang biedt tot het Arduino online trainingsplatform. Dit platform is goed gestructureerd en behandelt de basisbegrippen van elektronica, de gebruikte componenten en de werking van de meegeleverde multimeter. Het platform bestaat uit negen onderwerpen en twee projecten, goed voor meer dan 16 uur aan leermateriaal. Dat is echter te veel voor één dag. Daarom begeleid ik de deelnemers op een praktische en interactieve manier door de belangrijkste onderdelen van het basisprogrammeren van I/O met een Arduino.
We beginnen met het project Blink, waarin we de aan- en uit-tijd van een knipperende LED aanpassen. Daarna voegen we een tweede LED toe en maken we een politieflitslamp. Vervolgens bouwen we een teller in om het aantal knipperingen real-time uit te lezen. Hierna gebruiken we een fotosensor die we op het breadboard plaatsen. Nadat we de ‘+’ en ‘-‘ hebben aangesloten, zoeken we de juiste pull-up weerstand, controleren deze met de multimeter, en steken hem vervolgens in het breadboard. Daarna schrijven we ons eerste programma om de waarden van de fotosensor real-time uit te lezen. We gebruiken de zaklamp van onze mobiele telefoons om extra licht op de fotosensor te laten schijnen en ik demonstreer hoe je live grafieken kunt plotten in de Arduino IDE.
Na een korte koffiepauze gaan we verder met geluid. We gebruiken een piezo-speaker om de eerste melodieën te programmeren. Met een for (int x = 100; x < 10000; x++)-lus maken we dynamische toonladders. Vervolgens leg ik uit dat er bibliotheken beschikbaar zijn. Ik laat zien hoe je met een paar klikken het Super Mario-thema kunt afspelen op de piezo-speaker, wat eenvoudig om te zetten is in bijvoorbeeld een persoonlijke deurbel.
Daarna behandelen we de servo, een kleine motor met een instelbare as. Met de servo.h-bibliotheek kun je precies bepalen in welke hoek de as moet staan. Ik laat zien hoe je hiermee een automatische slagboom of een raamopener kunt maken. Vervolgens gaan we aan de slag met de temperatuursensor (TMP35), die de temperatuur met grote nauwkeurigheid kan meten. Ik demonstreer hoe je met hulp van ChatGPT snel werkende code kunt schrijven om de sensor uit te lezen. Ten slotte combineren we de temperatuursensor met de servo, waarmee we een raam automatisch kunnen openen en sluiten op basis van de gemeten temperatuur.
In een interactieve sessie van vier uur behandel ik samen met de deelnemers alle basiselementen die nodig zijn om kennis te maken met het aansturen van input en output met de Arduino Uno. Ik zorg ervoor dat iedereen mee kan komen en bied hulp waar nodig, bijvoorbeeld als de draadjes verkeerd zijn aangesloten of de componenten niet goed in het breadboard zijn gestoken. De vragen van de deelnemers tonen hun enthousiasme en vaak zien zij al tijdens de training toepassingen voor de geleerde technieken. Regelmatig vragen ze waar deze trainingskits te koop zijn, wat aangeeft dat de nieuwe kennis na de training actief toegepast zal worden.
Ik vind het erg leuk om dit soort trainingen te geven. De grote diversiteit aan achtergronden van de deelnemers zorgt voor nieuwe invalshoeken, onverwachte vragen en veel interactie. Door de training praktisch te houden, blijven de deelnemers geconcentreerd en zien ze steeds resultaten van hun eigen werk. Terugkijkend zijn ze vaak verrast hoe snel ze vooruitgang hebben geboekt.