Snelstartgids Atom Lite en dingdata.nl (zelfstudie)

Stappen herhalen met een lus

In de vorige les hebben we gezien hoe we de Atom Lite RGB-led kunnen besturen en hoe we een wachttijd tussen de uitvoering van de verschillende onderdelen kunnen invoegen. Het programma dat we in die les maakten was echter snel afgelopen, omdat er geen herhaling of reactie plaatsvond.

UIFlow voorziet in het reageren op gebeurtenissen en doen van herhalingen. Een voorbeeld van een gebeurtenis is dat de knop van de Atom Lite waar de RGB-led in gemonteerd is wordt ingedrukt. Een andere gebeurtenis doet zich voor als deze knop weer wordt losgelaten. Klik het gereedschappaneel in het midden van de UIFlow programmeeromgeving open en kies het onderdeel Event. Er worden acht verschillende onderdelen getoond, waarmee andere onderdelen kunnen worden herhaald of waarmee op een gebeurtenis kan worden gereageerd. Kies om te beginnen het onderdeel Button (A) (wasPressed). Stel vast dat dit onderdeel niet aan Setup kan worden bevestigd, maar dat het een zelfstandig onderdeel vormt waar andere onderdelen ín geplaatst kunnen worden. De omsloten onderdelen worden uitgevoerd als zich de gebeurtenis voordoet die in dit onderdeel is ingesteld, zoals het ingedrukt worden van de knop op de Atom Lite.

Plaats een Set RGB Bar color (rood) in de gebeurtenis Button (A) (wasPressed) en start het programma. Druk op de knop aan de bovenkant van de Atom Lite en stel vast dat de ingebouwde RGB-led rood oplicht. De led blijft branden, omdat er geen instructie is geweest om de led weer uit te zetten. Het reageren op gebeurtenissen, in dit geval het reageren op het ingedrukt worden van de knop bovenop de Atom Lite, is een handige manier om programma’s te maken die iets moeten doen als de gebruiker dit aangeeft.

Om de led weer uit te laten gaan hebben we verschillende opties tot onze beschikking. We kunnen een wachttijd toevoegen en na afloop hiervan de led weer uitzetten. Plaats hiervoor een Wait (3) s na de Set RGB Bar color (rood) en plaats hierna een Set RGB Bar color (zwart). Start het programma en stel vast dat na het indrukken van de knop de led aangaat en na drie seconden weer uitgaat.

Een andere manier is om te reageren op het losgelaten worden van de knop door een nieuwe gebeurtenis toe te voegen. Kies nog een onderdeel Button (A) (wasPressed) en stel deze in op Button (A) (wasReleased). Verwijder de Wait (3) s en verplaats de Set RGB Bar color (zwart) van het onderdeel Button (A) (wasPressed) naar het onderdeel Button (A) (wasReleased). Start het programma en stel vast dat de led aangaat als de knop wordt ingedrukt en pas weer uitgaat als de knop weer wordt losgelaten.

Om onderdelen te blijven herhalen, ook als er geen gebeurtenis is opgetreden, gebruiken we het onderdeel Loop, dat ook te vinden is in Event. Voeg dit onderdeel toe aan het codegebied en plaats dit onder Setup. Verplaats de Set RGB Bar color (rood) binnen de Loop en zet hier een Wait (1) s onder. Plaats de Set RGB Bar color (zwart) onder de Wait (1) s en zet hier nog een extra Wait (0.5) s onder. Start het programma en stel vast dat de led nu met tussenpauzes van een halve seconde oplicht.

De lengte van de pauzes tussen ‘aan’ en ‘uit’ zijn van belang om de urgentie van het signaal naar de gebruiker toe te variëren. Verander de ingestelde tijden van 1 seconde aan en 0.5 s uit maar eens naar 0.1 seconde aan en vervolgens 1 seconde uit. Je zult zien dat het door deze veranderingen lijkt alsof het lichtsignaal iets belangrijkers wil vertellen dan in de vorige situatie.

Je kunt experimenteren met de verschillende tijden om te zien of je de betekenis van het lichtsignaal nog meer kunt beïnvloeden. Ook is het de moeite waard om met de verschillende kleuren zoals we in de vorige les gezien hebben te experimenteren. Omdat de Atom Lite maar weinig mogelijkheden heeft om informatie naar de gebruiker toe over te brengen, is het kunnen benutten van iedere vorm van communicatie van belang.

Geef een reactie