Knappar

Det finns två knappar på micro:bits framsidan, markerad med A och B. Vad som händer när man trycker på dom (eller båda samtidigt) kan vi bestämma genom att programmera micro:bit.

I kategorin Input finns ett stort block ”När knapp A trycks”. I den kan man lägga andra block, vilka då kommer utföras, i tur och ordning, när A knappen är tryckt och släppt. För att byta till B knappen, eller till ”båda knappar samtidigt”(A+B), klickar man på det ljusare fältet där det står ”A▼”.

Detta exempel visar ett hjärta när A knappen trycks, en glad gubbe när B knappen trycks, och ett spöke när båda A och B trycks samtidigt. I simulatorn ser vi nu en extra knapp som är markerad med ”A+B”. Den finns bara där eftersom man inte kan klicka på A och B samtidigt med din muspekare. Så när man klickar där simulerar man att man trycker på båda knapparna.

input.onButtonPressed(Button.A, () => {
    basic.showIcon(IconNames.Heart)
    basic.clearScreen()
})
input.onButtonPressed(Button.B, () => {
    basic.showIcon(IconNames.Happy)
    basic.clearScreen()
})
input.onButtonPressed(Button.AB, () => {
    basic.showIcon(IconNames.Ghost)
    basic.clearScreen()
})

Länk till koden.

Det finns en knapp till

På baksidan av micro:bit finns en knapp till, men den har en förutbestämd funktion. Det är reset knappen. När man trycker på den startar micro:bit om och ditt program körs igång från början. (Programmet raderas inte.)

Ett annat sätt att använda knapparna

Om vi tittar i Input kategorin hittar vi ett till block som handlar om knapparna. Där står det ”knapp A trycks” på ett block som ser ut som en pusselbit på vänster sidan. Detta block ger ett resultat som är antingen sant(true) eller falskt(false) (Läs mer här), beroende på om knappen är i nertryckt läge just nu(sant) eller inte(falskt). Det kan man till exempel använda när man vill få någonting att hända så länge som en knapp hålls nertryckt.

Följande kod tänder en lampa på koordinaterna (0, 2) så länge som A knappen är nertryckt. På andra om-satsen, som kollar på B knappen, har vi lagt till ett ”inte”-block som gör att sant blir falskt, och falskt blir sant. Så där blir lampan på koordinaterna (4, 2) tänd bara så länge B knappen inte trycks ner.

basic.forever(() => {
    if (input.buttonIsPressed(Button.A)) {
        led.plot(0, 2)
    }
    if (!(input.buttonIsPressed(Button.B))) {
        led.plot(4, 2)
    }
    basic.pause(100)
    basic.clearScreen()
})

Länk till koden.

Senast ändrad 2017-10-31