3.7.2 Aansluiten aanraaksensor deel 2

Wordt het al wat duidelijker? Vooral het tekenen van het toestandsdiagram is erg belangrijk. Op die manier wordt het schrijven van het programma eigenlijk relatief makkelijk. En dat kunnen we wel gebruiken als de opdrachten ingewikkelder worden.

Bij de volgende opdracht proberen we het programma dusdanig te wijzigen dat het ledje bij de eerste keer aanraken aangaat en bij een volgende keer aanraken weer uit gaat. Uiteraard beginnen we met het toestandsdiagram.

Dit is wat lastiger want het gaat niet alleen om het aanraken maar ook om het loslaten.  Want als je de sensor aanraakt, moet het ledje aangaan. En als je dan de sensor weer loslaat moet hij aanblijven. De volgende oplossing werkt niet. Kun je zien waarom?

Als je het knopje indrukt zou het programma heen en weer schieten tussen toestand 1 en 2. En zou het lampje dus gaan knipperen. We hebben een uitgebreider toestandsdiagram nodig, met vier toestanden:

  1. Het lampje is uit bij start
  2. Het lampje gaat aan na een aanraking
  3. Het lampje blijft aan na het weer loslaten
  4. Het lampje gaat uit na een aanraking

Het toestandsdiagram ziet er dan als volgt uit:

Afbeelding: een toestandsdiagram voor een toggle functie met een aanraakschakelaar

Kun je hem volgen? Nu de kunst om hiervan code te maken. Onthoud: iedere pijl is een if in de betreffende toestand.

3.7.2.1 Opdracht: Micro:Bit programma verder aanpassen

3.7.2.2 Eindopdracht voor dit hoofdstuk: hotelschakeling in Micro:Bit

3.7.2.3 Extra opdracht Micro:bit hotelschakeling