A. Sluit de touchsensor aan op poort 1 van de EV3. Voer de volgende code in. De die beginnen met een aanhalingsteken (') zijn commentaar en hoeven niet te worden ingevoerd. Test het programma en let op de werking ervan. Lees het commentaar en probeer de code te begrijpen.
'De touchsensor wordt gekoppeld aan poort 1. De modus is 0. 'Modus 0 betekent dat na aanraking het percentage weer 0 wordt. Sensor.SetMode(1,0) 'lamp kan aan of uit zijn lamp = "uit" 'toestand geeft aan in welke toestand het systeem zit: 1 of 2 toestand = 1 'waarde 100 geeft aan dat de sensor ingedrukt is en bij waarde 0 is deze niet ingedrukt waarde = 0 'De regels om het scherm te verversen moeten direct, na wijzigen van de toestand, worden uitgevoerd i.v.m. de leesbaarheid LCD.Clear() LCD.Write(10, 40, "Waarde = " + waarde) LCD.Write(10, 60, "Toestand = " + toestand) LCD.Write(10, 80, "Lamp = " + lamp) 'De While-lus wordt continu doorlopen While "true" 'Lees de waarde die de touchsensor aangeeft en ken deze toe aan de variabele 'waarde' waarde = Sensor.ReadPercent(1) 'Controleer of de sensor is ingedrukt If toestand = 1 Then If waarde = 100 Then lamp = "aan" toestand = 2 LCD.Clear() LCD.Write(10, 40, "Waarde = " + waarde) LCD.Write(10, 60, "Toestand = " + toestand) LCD.Write(10, 80, "Lamp = " + lamp) EndIf EndIf 'Controleer of de sensor is losgelaten If toestand = 2 Then If waarde = 0 Then lamp = "uit" toestand = 1 LCD.Clear() LCD.Write(10, 40, "Waarde = " + waarde) LCD.Write(10, 60, "Toestand = " + toestand) LCD.Write(10, 80, "Lamp = " + lamp) EndIf EndIf EndWhile
B. Maak het toestandsdiagram, dat bij deze code past.
C. De vier regels voor het schrijven naar het scherm worden vaak herhaald. Dit kan worden opgelost, door een subroutine te schrijven waardoor de totale code compacter wordt. Schrijf zo’n subroutine.