A. Voer de volgende code in. 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, 2, 3 of 4 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 of losgelaten 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 If toestand = 2 Then If waarde = 0 Then lamp = "aan" toestand = 3 LCD.Clear() LCD.Write(10, 40, "Waarde = " + waarde) LCD.Write(10, 60, "Toestand = " + toestand) LCD.Write(10, 80, "Lamp = " + lamp) EndIf EndIf If toestand = 3 Then If waarde = 100 Then lamp = "uit" toestand = 4 LCD.Clear() LCD.Write(10, 40, "Waarde = " + waarde) LCD.Write(10, 60, "Toestand = " + toestand) LCD.Write(10, 80, "Lamp = " + lamp) EndIf EndIf If toestand = 4 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. Maak gebruik van je eerder subroutine.