- Per Sigbjørn
- Tilstandsmaskin
- Treff: 6830
Tilstandsmaskin
En tilstandsmaskin er en måte å skrive et program på som lar oss kontrollere flyten basert på hendelser og forskjellige moduser.
Tilstandsmaskiner kan brukes i veldig mange typer programmer. Et godt eksempel kan være et menysystem med flere nivåer, hvor du bruker knapper til å endre nivå eller tilstand, mens du hele tiden har en eller annen form for display som viser hvor i menyen du er.
Vi skal starte med å lage en veldig enkel tilstandsmaskin med bare en knapp og en lysdiode. Hendelsen vi skal endre tilstand på er da selvsagt når knappen blir trykt inn. De to forskjellige modusene for lysdioden er da naturlig nok AV eller PÅ, eller LEDOFF og LEDON som vi kaller det i programmet. Jeg skal ikke forklare koden nærmere her, men prøver å kommentere godt slik at koden blir lesbar og forståelig.
I eksempel to utvider vi dette med en ekstra tilstand hvor lysdioden blinker.
Enkelt eksempel
/* |
Eksempel 2
Et litt mer mer avansert eksempel: /*
|
Oppgaver:
1: Start på et nytt prosjekt. Lag en tilstandsmaskin med 4 tilstander. Hver tilstand skal lyse opp eller blinke hver sin lysdiode, gjerne med hver sin farge. Tilstand skal endres med et knappetrykk. Skriv tilstandene underveis serieporten (Serial Monitor) 2: Bruk teknikken du har lært til å realisere et enkelt trafikklys med 3 lysdioder.
|
Løsningsforslag:
Oppgave 1: Kommer |