Micro:bit-orientering
Sender = orienteringspost
Klikk her for kode til sender. Slik fungerer den:
Ved startes settes nummeret til den enkelte posten og radiogruppen alle signal skal sendes på. I tillegg settes sendereffekten til ganske lavt (1 på skala 0–7) slik at signalene kun bærer til de som står rett ved posten.
Trykk på A for å sende radiosignal med tall som tilsvarer nummeret til orienteringsposten.
Trykk på B for å vise nummeret til orienteringsposten.
Postene kan ha følgende nummer: 0–4, 10–14, 20–24, 30–34 eller 40–44.
Alternativt kan man ha en post som sender tall med jevne mellomrom, f.eks. hvert 5. sekund, slik at man kan gjemme posten. Trykk på pila for å se den koden, eller klikk her.
Én post funnet = ett bestemt LED-lys på mottaker tennes
Micro:bit-ene har 5x5 LED-lys som kan tennes ett og ett. Disse angis med et koordinat-system der origo (x=0; y=0) er oppe til venstre.
OBS! x = kolonne; y = rad
OBS! Datamaskiner begynner å telle på 0, så kolonnen helt til venstre er kolonne nr. 0 (x=0), og øverste rad er rad nr. 0 (y=0)
Se på bildet hvor lysene koordinater (x=2; y=2) og (x=1, y=3) er.
Orienteringspostene får dermed hvert sitt nummer som svarer til ett bestemt lys der tierne er x-koordinatet og enerne er y-koordinatet.
Eks.: Når man er på post nr. 42 skal lyset med koordinat (x=4; y=2) tennes.
Hvordan bruke matematikk til å oversette et tosiffret tall til et koordinat
Vi må mottakeren til å tenne riktig lys uansett hvilket nummer micro:bit-posten sender. En måte å hente ut tierplassen på er illustrert under:
I Python ville man skrevet det slikt: tier = floor( receivedNumber / 10 )
OBS! I MakeCode må man bruke flere matematikkblokker inni hverandre og passe på hvilken blokk som går inni hvilken.
For å få ut enerplassen er det to muligheter, som i Python kan se slik ut:
ener = receivedNumber – (tier * 10), der tier er verdien til tierplassen.
ener = receivedNumber % 10, der %-tegnet betyr "rest etter divisjon".
I MakeCode ser disse alternativene slik ut:
Til slutt bruker man tenn-blokka for å tenne akkurat riktig lys med x-verdi tier og y verdi ener.
Husk å, ved start, sette samme radiogruppe som postene sender på!
Videre kan man utvide programmet til mottakeren til å bli litt mer brukervennlig ved å f.eks.:
teste at alle lysene funker ved start (for å unngå at man står ved en post og venter på at lys skal tennes, men så funker ikke det lyset).
tenne ett lys ved start (som ikke er en del av løypa) så man kan se forskjell på "batteripakken funker ikke" og "jeg har ikke mottatt noen signaler ennå".
når signal mottas, la riktig lys blinke noen ganger før det forblir tent, så er det lettere å se når man mottar signalet.
Trykk på pila for løsningsforslag til fullt program, eller klikk her.
OBS! Dersom man mister strømtilførselen underveis i orienteringa, eller kommer borti reset-knappen, mister man all informasjon. Dette er det dessverre ingen måte å unngå på annet enn å passe at batteripakken er godt kobla til micro:bit-en.