En sekvensstyring styrer noe som kommer i rekkefølge etter hverandre, for eksempel et program for en vaskemaskin eller et trafikklys. Hvis vi kan få en sekvensstyring til å kjøre, så kan vi få til ganske mye forskjellig.
Her er en første forsøk med å kjøre 3 stk «smily faces» i sekvens:
Button A og buttan B kan brukes til å starte og stanse sekvensen.
Det neste trinn i denne utviklingssekvensen må kanskje bli å styre utganger, slik at vi for eksempel kan styre en vannkran, en motor og et varmeelement i sekvens, eller et trafikklys.
Og slik skulle det også være mulig å styre tre utganger i den sekvens som vi måtte ønske:
Her har vi det siste programmet i JavaScript:
let runstatus = 0
input.onButtonPressed(Button.A, function () {
runstatus = 1
})
input.onButtonPressed(Button.B, function () {
runstatus = 0
})
basic.forever(function () {
if (runstatus) {
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P1, 1)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.pause(2000)
}
})
Noen ganger så er det også behov for at sekvensen skal stanse opp og vente på en «hendelse», for eksempel at temperaturen når opp til et visst nivå. I den neste utgaven av sekvensstyringen så har vi også lagt til en sløyfe eller en pause på 1 sekund som står og kjører intill inngang i0 mottar et høyt signal.
Her har vi det siste eksemplet i form av JavaScript:
input.onButtonPressed(Button.A, function () {
runstatus = 1
})
input.onButtonPressed(Button.B, function () {
runstatus = 0
})
let inngang = 0
let runstatus = 0
runstatus = 0
basic.forever(function () {
if (runstatus) {
pins.digitalWritePin(DigitalPin.P1, 1)
pins.digitalWritePin(DigitalPin.P2, 0)
pins.digitalWritePin(DigitalPin.P3, 0)
basic.pause(2000)
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
pins.digitalWritePin(DigitalPin.P3, 0)
inngang = pins.digitalReadPin(DigitalPin.P0)
while (!(inngang)) {
inngang = pins.digitalReadPin(DigitalPin.P0)
basic.pause(1000)
}
pins.digitalWritePin(DigitalPin.P1, 0)
pins.digitalWritePin(DigitalPin.P2, 0)
pins.digitalWritePin(DigitalPin.P3, 1)
basic.pause(2000)
}
})
Kanskje en litt forbedret kode for det første eksmeplet med grafiske symboler i sekvens:
Og tilhørende kode i JavaScript:
let runstatus = 0
input.onButtonPressed(Button.A, function () {
runstatus = 1
})
input.onButtonPressed(Button.B, function () {
runstatus = 0
})
basic.forever(function () {
if (runstatus) {
basic.showIcon(IconNames.SmallHeart)
basic.pause(2000)
basic.showIcon(IconNames.Heart)
basic.pause(2000)
basic.showIcon(IconNames.Yes)
basic.pause(2000)
}
})



