Snelstartgids Atom Lite en dingdata.nl (zelfstudie)

Variabelen instellen en gebruiken

Een programmeertaal maakt onderscheid tussen ‘vaste waarden’ en ‘variabelen’. Voorbeelden van vaste waarden zijn “knipselbak” en 123, voorbeelden van variabelen zijn winst en knipselbak. Een groot verschil tussen vaste waarden en variabele waarden zijn de mogelijkheden binnen de programmeertaal om de waarden ervan te veranderen. Een vaste waarde verandert niet, een variabele kan eenvoudig langer, korter, groter of kleiner worden gemaakt gedurende de uitvoering van het programma.

In UIFlow vind je de onderdelen voor vaste waarden bij Math en bij Text. In het eerste geval is de vaste waarde een getal, zoals 1 of 0.5, in het tweede geval een tekst zoals “a1b2c3”. De vaste waarden worden altijd in combinatie met andere onderdelen gebruikt, zoals bij het toekennen van een waarde aan een variabele. Variabelen worden aangemaakt bij Variables. Je maakt hier een nieuwe variabele aan met Create variable… en kunt verder kiezen uit set (variabele) to en change (variabele) by (1). Ook de eerder aangemaakte variabelen worden hier getoond.

Om het werken met variabelen te demonstreren stellen we de helderheid van de RGB-led in met de variabele helderheid. Het idee is, dat we de helderheid in alle delen van een programma met deze variabele kunnen instellen en mochten we later eens besluiten om de helderheid overal groter of minder groot te maken, we dat slechts op één plaats hoeven te doen. Ook zouden we later kunnen bedenken om de helderheid automatisch aan de hoeveelheid daglicht aan te passen: iets ‘doen’ met de variabele zou dan voldoende zijn.

Maak een variabele helderheid aan met Create variable… uit het onderdeel Variables in het gereedschappaneel. Plaats het onderdeel set (helderheid) to onder Setup. Haal uit Math een (0) en klik deze aan set (helderheid) to vast. Haal uit RGB de Set RGB brightness (10) en vervang de vaste waarde (10) door de variabele helderheid uit Variables. Maak het programma af met een Set RGB Bar color (wit). Draai het programma en stel vast dat de RGB-led op de ondertussen bekende manier oplicht.

Om het gebruik van variabelen verder toe te lichten maken we een ‘slaaplicht’ dat we wel kennen van laptops die in slaapstand staan: een controlelampje lijkt dan als het ware een lichte ademhaling te duiden. We maken hier gebruik van een lus zoals we die in de vorige les ook zagen, maar in dit geval eentje die instelbaar is op het aantal herhalingen. Haal eerst het onderdeel Loop uit Event en plaats deze onder de set (helderheid) to (10). Verander de waarde 10 in 0. Haal nu het onderdeel repeat (10) times uit Loops , plaats deze in Loop en stel het aantal herhalingen in op 100. Verplaats het onderdeel Set RGB brightness (helderheid) naar binnen de repeat (100) times. Plaats Set RGB Bar color (wit) daaronder. Voeg een Wait (1) ms in vanuit Timer en wijzig de wachttijd in 20. Voeg nu een change (helderheid) by 1 toe vanuit Variables. Controleer of het resultaat overeenkomt met de afbeelding en start het programma. Stel vast dat de led in ongeveer 2 seconden van ‘uit’ naar ‘maximaal aan’ gaat.

Klik nu met de rechter muisknop op de repeat (100) times en kies Duplicate. Plaats de gedupliceerde repeat (100) times onder het origineel en verander de Wait (20) ms van de tweede repeat naar 10. Verander change (helderheid) by 1 naar change (helderheid) by -1.

Start nu het programma en stel vast, dat de RGB-led van de Atom Lite in 2 seconden van ‘uit’ naar ‘maximaal’ gaat, en in 1 seconde weer terug van ‘maximaal’ naar ‘uit’. Het effect is iets van een slapende Atom Lite. Experimenteer met de wachttijden om het effect wat langer of juist korter te laten duren.

Het is niet nodig om iedere keer de RGB-led in te stellen als de helderheid wordt veranderd. In plaats daarvan is het beter om de ledkleur éénmalig in te stellen en dit meer te herhalen zoals dat nu gebeurt. Verplaats hiertoe de Set RGB Bar color (wit) van de bovenste repeat (100) times naar onder de set (helderheid) to (0) en verwijder de tweede Set RGB Bar color (wit). Start het programma opnieuw en stel vast dat er niets aan de werking van het programma is veranderd.

We hebben hiermee de werking van variabelen gezien, waarbij een variabele een beginwaarde krijgt toegekend (in het voorbeeld 0) en waarbij gedurende het programma de waarde van de variabele wordt veranderd: in de eerste repeat steeds met 1 verhoogd tot de maximale waarde 100, in de tweede repeat precies de andere kant op tot 0.

Naast de mogelijkheid om de waarde gedurende de loop van het programma te veranderen worden variabelen ook gebruikt om de werking van het programma te verduidelijkingen. Zo heeft een variabele met de naam winst meer betekenis dan de contextloze waarde 1100.43. Met variabelen worden de leesbaarheid en de onderhoudbaarheid van een programma beter.

Geef een reactie