Micro:bit er et kretskort som inneholder en liten programmerbar datamaskin. Du bestemmer hva datamaskinen skal programmeres til å gjøre. Du kan gi input til datamaskinen via knapper (på bildet merket A og B), via radio fra en annen micro:bit eller via kontaktene (se nederst på bildet under). Du kan til og med pare den med mobiltelefonen din via bluetooth og gi den input fra telefonen din.
I midten på bildet ser du en led-matrise (et rutenett av LEDs) på 5×5 punkter. Denne kan brukes til å vise tekst og animasjoner (som en skjerm) eller diodene kan også fungere som lyssensorer (detektere hvor kraftig lys som treffer dem).
Kantkontaktene (nederst på bildet) er for å koble til bl.a. motorer, sensorer og batterier.
Programmering av micro:bit gjøres via en nettleser, hvor du bygger opp programmet ditt ved hjelp av enkle programmeringsblokker. Forsøk å lage eksemplet under:
Slik gjør du det:
Du skal lage en animasjon på minst tre bilder som beveger seg over skjermen.
<hidden Tips 1:>Under basis-menyen finner du funksjoner for å styre skjermen</hidden>
<hidden Tips 2:>Hvis animasjonen skal vises én gang kan du bruke «ved start»-blokken, eller hvis animasjonen skal vises hele tiden kan du bruke «gjenta for alltid»-blokken.</hidden>
<hidden Tips 3 (for avanserte brukere):>Hvis du trykker på Avansert-menyen kommer det fram flere funksjoner, bl.a. en for å lage bilder, vise bilder og scrolle bilder</hidden>
<hidden Løsningsforslag 1:>
</hidden>
<hidden Løsningsforslag 2:>
</hidden>
<hidden Ekstraoppdrag for avanserte brukere:>Dette oppdraget er beregnet på avanserte brukere. Ta utgangspunkt i løsningsforslag 2 ovenfor. Det største bildet du kan lage er 10×5 punkter. Skift visning til {} JavaScript og modifiser på bildet der slik at du kan få det større eller mindre.
I JavaScript-visningen kan du legge til så mange kolonner med bildepunkter du vil. # betyr at bildepunktet vil lyse og . betyr at bildepunktet ikke vil lyse. </hidden> </hidden>
En variabel kan «lagre» noe, f.eks. et tall, en tekst, et bilde, slik at du kan bruke verdien av variabelen senere i programmet ditt.
I eksemplet over blir det ved oppstart av programmet laget en variabel som heter «tall», og variabelen får verdien «30».
Lag et program som oppretter en variabel kalt «knappetrykk» og som hele tiden skal vise hvor mange ganger knappen A har blitt trykket siden programmet ble startet. Verdien av variabelen skal vises på skjermen.
<hidden Tips 1:>Ved oppstart kan variabelen «knappetrykk» settes til 0. Du finner funksjoner for å opprette og endre på variabler i menyen kalt Variabler.</hidden>
<hidden Tips 2:>I basis-menyen finner du funksjonene du trenger for å vise tallet på skjermen.</hidden>
<hidden Tips 3:>I menyen for Inndata finner du måter å håndtere input på. Input kan f.eks. være knappetrykk.</hidden>
<hidden Løsningsforslag:>
</hidden>
Endre programmet ditt slik at variabelen «knappetrykk» avtar når du trykker på knapp B.
<hidden Løsningsforslag:>
</hidden>
Endre programmet ditt slik at variabelen «knappetrykk» blir nullstilt (verdien blir 0) når du trykker på A og B samtidig.
<hidden Løsningsforslag:>
</hidden>
På skjermen kan vi også vise tekst.
Lag et program som viser navnet til den yngste av dere på skjermen.
<hidden Løsningsforslag:>
</hidden>
Lag et program som viser navnene til alle deltakerne i tur og orden.
<hidden Løsningsforslag:>Et program vil starte med den kommandoen som står på toppen, og når denne er utført vil den neste bli utført:
</hidden>
Lag et program som viser navnene på alle deltakerne i tur og orden. Ett av navnene skal vises to ganger etter hverandre, men du får ikke lov til å skrive deltakernes navn mer enn én gang i programmet ditt.
<hidden Tips:>I menyen Løkker finner du funksjoner for å gjenta noe flere ganger</hidden>
<hidden Løsningsforslag:>
</hidden>
Lag et program som lar deg bruke knappene A og B til å velge hvilket navn som skal vises på skjermen. Det er tilstrekkelig om du kan velge mellom to forskjellige navn.
<hidden Løsningsforslag:>
</hidden>
<hidden Ekstra utfordring for avanserte brukere:>Hvordan kan vi utvide programmet vårt slik at vi kan velge mellom flere enn to navn?</hidden>
Dette er et oppdrag for avanserte brukere. Lag et program som viser alle navnene til hele gruppa di i tilfeldig rekkefølge.
<hidden Tips 1:>I menyen Matematikk finnes en funksjon som velger tilfeldige tall.</hidden>
<hidden Tips 2:>For at et tilfeldig tall skal kunne velge ett av flere navn kan navnene legges i en liste.</hidden>
<hidden Løsningsforslag:>
</hidden>
Micro:bit har et innebygd akselerometer slik at vi kan måle hvilke krefter mikro:biten blir utsatt for. Kreftene måles i mG (milli-G). 1024 mG (eller 1 G) tilsvarer den samme kraften som jordens tyngdekraft. Hvis vi i tillegg utsetter mikro:biten for andre krefter (f.eks. hvis vi kaster den eller rister den) vil akselerometeret vise mer enn 1024 mG. Akselerometeret kan maksimalt gå opp til 2048 mG, så uansett hvor store krefter mikro-biten faktisk blir utsatt for kan ikke akserlerometeret måle større krefter enn 2048 mG.
Hvis mikro:biten ligger flatt på bordet vil tyngdekraften virke nedover. Merk at z-aksen, se bilde over til venstre, peker oppover. Hvis vi måler akselerasjonen i z-retning vil akselerometeret da måle -1024 mG. Minustegnet forteller oss at kraften virker motsatt vei av z-aksen (altså nedover) og tallet forteller oss at kraften er like sterk som jordens tyngdekraft.
Hvis vi måler kraften i x-retning vil denne være 0, fordi tyngdekraften ikke trekker micro:biten til høyre eller venstre. Hvis vi måler krafte i y-retning vil denne også være 0, fordi tyngdekraften ikke trekker framover eller bakover.
Lag et program som måler kreftene i en valgfri retning (x-retning, y-retning eller z-retning) og viser målingen på skjermen. Gjør målinger med forskjellig helning på micro:biten og forsøk å forstå hva akselerometeret gjør.
<hidden Tips 1:>I Inndata-menyen finner du funksjoner for å måle med akselerometer.</hidden>
<hidden Tips 2:>Du kan bruke knappene til å velge hvilken retning du vil vise på skjermen.</hidden>
<hidden Løsningsforslag:>Merk: Du trenger ikke kunne måle alle retningene, det er tilstrekkelig med én.
</hidden>
I dette oppdraget skal du lage navneskilt med fire navn, og bruke akselerometeret til å velge hvilket navn som skal vises. Hold micro:biten slik at skjermen peker oppover og kantkontakten er mot deg.
Dersom micro:biten holdes på skrå framover vil kraften i y-retning bli negativ.
Dersom micro:biten holdes på skrå bakover vil kraften i y-retning bli positiv.
Dersom micro:biten holdes på skrå til venstre vil kraften i x-retning bli negativ.
Dersom micro:biten holdes på skrå til høyre vil kraften i x-retning bli positiv.
<hidden Tips 1:>Her kan det lønne seg å bruke hvis-setninger til å bestemme hvilket navn som skal vises. Disse finner du under Logikk-menyen.</hidden>
<hidden Tips 2:>Hvis akselerasjon i y-retning OG akselerasjon i x-retning begge er positive tall (større enn 0) er micro:biten på skrå bakover og til høyre.
</hidden>
<hidden Tips 3:>Hvis du trykker på den blå knappen med tannhjulet i hvis-blokken kan du velge flere alternativer til å bestemme tekst.</hidden>
<hidden Løsningsforslag:>
</hidden>
Micro:bit inneholder et innebygget magnetometer som kan detektere magnetfelt. Jorda er omgitt av et magnetfelt som går fra nord til syd. Lag et program som leser av verdien fra magnetometeret og finn nord.
<hidden Tips 1:>I Inndata-menyen finner du funksjoner for å måle med magnetometeret.</hidden>
<hidden Tips 2:>Magnetometeret registrerer retningen til magnetfeltet og gir deg et tall på hvor langt unna nord du er. Dette tallet kan du vise på skjermen.</hidden>
<hidden Tips 3:>Hold kompasset slik at du kan se skjermen og har kantkontakten på micro:biten mot deg. Når kompasset viser 0° har du nord rett fram.</hidden>
<hidden Løsningsforslag:>
</hidden>
<hidden Ekstra utfordring til avanserte brukere:>Greier du å bruke skjermen til å lage en slags pil som peker mot nord?</hidden>
En teremin er et instrument som endrer volum og tonehøyde ut fra din nærhet til instrumentet. Du skal i dette oppdraget bruke LED-matrisen som lyssensor og lage forskjellige toner ut fra verdien fra lyssensoren.
<hidden Tips 1:>I Inndata-menyen finner du funksjoner for å måle lysnivå. Lyssensoren gir verdien 0 ved helt mørke og 255 ved kraftig lys.</hidden>
<hidden Tips 2:>I musikk-menyen finner du funksjoner for å generere toner. Funksjonen «Ring tone (Hz)» lager en gitt tone og holder denne tonen helt til en ny tone blir gitt.</hidden>
<hidden Tips 3:>Det kan være en fordel å bruke «Regn om»-funksjonen til å forvandle lys-verdien til noe som kan spilles. Denne funksjonen finner du ved å først åpne Avansert-menyen, deretter åpne Tilkobling-funksjonen.</hidden>
<hidden Løsningsforslag:>
</hidden>
<hidden Ekstra utfordring til avanserte brukere:>Greier du å lage en av- og påknapp slik at du kan stoppe tonen når du vil?
<hidden Tips til ekstra oppdrag:>Du kan bruke musikk-kommandoen «Rest» til å stoppe tonen.</hidden>
<hidden Løsningsforslag til ekstra oppdrag:>
I løsningsforslaget er det brukt forskjellige ikoner på skjermen til å indikere om lyden er av eller på. Dette er ikke nødvendig for funksjonaliteten av programmet, men av og til er det nyttig å se statusen til programmet på skjermen.</hidden>
</hidden>