-
Inleiding
In dit deel wordt informatie gegeven over de voor de cursus benodigde zaken. Ook worden hier alle in de cursus gerefereerde bronnen nogmaals samengevat.
-
Atom Lite verbinden met het internet
In dit deel nemen we de Atom Lite in gebruik en verbinden deze met het internet. We downloaden hiervoor het programma m5burner waarmee we onze Atom Lite klaarmaken voor gebruik.
-
Dingdata.nl inrichten voor het ontvangst van sensorgegevens
In dit deel maken we een account aan bij dingdata.nl en zetten we in dingdata.nl een 'knipselbak' klaar voor de ontvangst van sensorgegevens.
-
Atom Lite programmeren met UIFlow om de sensorgegevens te versturen
In dit deel maken we stap voor stap een programma waarmee de meetwaarden van de temperatuur- en luchtdruksensor worden uitgelezen en naar dingdata.nl verzonden.
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.