User Tools

Site Tools


programmere_microbit

Hvordan programmere micro:bit

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:

Start-eksempel

Slik gjør du det:

  1. Koble micro:bit til datamaskinen din via USB-kabel
  2. Åpne en nettleser og gå til https://makecode.microbit.org/#
  3. Dersom du vil endre språk gjør du det ved å trykke på tannhjulet øverst i høyre hjørne og endrer språk der
  4. Dersom det kommer opp gamle prosjekter på nettsiden lager du et nytt prosjekt ved å velge Prosjekter→Nytt prosjekt.
  5. Gi prosjektet ditt et navn (se navnefelt merket 5 i bildet over)
  6. Finn programmeringsblokkene du vil bruke i felt 2. Klikk på blokken du vil bruke og trekk det over i felt 3. I eksemplet over brukes 4 blokker:
    • ved start: innholdet i denne blokken kjøres én gang hver gang du slår på strømmen på micro:biten
    • gjenta for alltid: innholdet i denne blokken gjentas gang etter gang etter gang
    • når knapp A trykkes: innholdet i denne blokken gjentas hver gang du trykker på knapp A
    • når knapp B trykkes: innholdet i denne blokken gjentas hver gang du trykker på knapp B
    • Hver blokk inneholder kommandoer som enten oppretter et tall, endrer på tallet eller viser tallet på skjermen. Til sammen vil disse fire blokkene lage en variabel (kalt tall) og ved start blir denne satt til null. Tallets verdi vil gang etter gang bli skrevet på skjermen. Når du trykker på knapp A eller B vil variabelen tall bli endret, og skjermen vil oppdatere seg.
  7. Mens du programmerer kan du bruke knappene i felt 6 til å angre endringer eller zoome ut og inn.
  8. Mens du programmerer kan du teste koden din i simulatoren 1. Her kan du trykke på knappene og se at tallet på skjermen endrer seg.
  9. I felt 7 kan du velge om du vil programmere med blokker eller om du vil programmere direkte med javaskript. Du kan også bruke dette feltet til å se hvilket javaskript som blir generert av dine blokker. Når du endrer på blokkene vil javaskriptet endre seg tilsvarende
  10. Når du er ferdig med å programmere kan du laste ned programmet ditt ved å trykke på “Last ned”-knappen (4)
  11. Finn tak i den nedlastede filen. Denne havner vanligvis i den mappen som heter “Nedlastinger” eller “Downloads”, men den kan også havne andre steder avhengig av hvordan du har satt opp datamaskinen din
  12. Bruk windows utforsker til å trekke filen over til micro:biten. Programmet vil nå bli overført.

Introduksjonsoppgaver til micro:bit

Oppdrag 1. Lage en animasjon på skjermen

Du skal lage en animasjon på minst tre bilder som beveger seg over skjermen.

Tips 1:

Tips 1:

Under basis-menyen finner du funksjoner for å styre skjermen

Tips 2:

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.

Tips 3 (for avanserte brukere):

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

Løsningsforslag 1:

Løsningsforslag 1:

Løsningsforslag 2:

Løsningsforslag 2:

Ekstraoppdrag for avanserte brukere:

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.

Løsningsforslag

Løsningsforslag

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.


Oppdrag 2. Bruk av variabel

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”.


Oppdrag 2a. Bruk av variabel

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.

Tips 1:

Tips 1:

Ved oppstart kan variabelen “knappetrykk” settes til 0. Du finner funksjoner for å opprette og endre på variabler i menyen kalt Variabler.

Tips 2:

Tips 2:

I basis-menyen finner du funksjonene du trenger for å vise tallet på skjermen.

Tips 3:

Tips 3:

I menyen for Inndata finner du måter å håndtere input på. Input kan f.eks. være knappetrykk.

Løsningsforslag:

Løsningsforslag:


Oppdrag 2b. Videre bruk av variabel

Endre programmet ditt slik at variabelen “knappetrykk” avtar når du trykker på knapp B.

Løsningsforslag:

Løsningsforslag:


Oppdrag 2c. Videre bruk av variabel

Endre programmet ditt slik at variabelen “knappetrykk” blir nullstilt (verdien blir 0) når du trykker på A og B samtidig.

Løsningsforslag:

Løsningsforslag:


Oppdrag 3. Lage navneskilt

På skjermen kan vi også vise tekst.


Oppdrag 3a. Lage enkelt navneskilt

Lag et program som viser navnet til den yngste av dere på skjermen.

Løsningsforslag:

Løsningsforslag:


Oppdrag 3b. Lage navneskilt med flere navn

Lag et program som viser navnene til alle deltakerne i tur og orden.

Løsningsforslag:

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:


Oppdrag 3c. Lage urettferdig navneskilt

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.

Tips:

Tips:

I menyen Løkker finner du funksjoner for å gjenta noe flere ganger

Løsningsforslag:

Løsningsforslag:


Oppdrag 3d. Lage navneskilt med valg

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.

Løsningsforslag:

Løsningsforslag:

Ekstra utfordring for avanserte brukere:

Ekstra utfordring for avanserte brukere:

Hvordan kan vi utvide programmet vårt slik at vi kan velge mellom flere enn to navn?


Oppdrag 3e. Lage tilfeldig navneskilt

Dette er et oppdrag for avanserte brukere. Lag et program som viser alle navnene til hele gruppa di i tilfeldig rekkefølge.

Tips 1:

Tips 1:

I menyen Matematikk finnes en funksjon som velger tilfeldige tall.

Tips 2:

Tips 2:

For at et tilfeldig tall skal kunne velge ett av flere navn kan navnene legges i en liste.

Løsningsforslag:

Løsningsforslag:


Oppdrag 4. Bruke akselerometer

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.

akselerometer1.jpg

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.

Oppdrag 4a. Måle krefter i x-, y- og z-retning

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.

Tips 1:

Tips 1:

I Inndata-menyen finner du funksjoner for å måle med akselerometer.

Tips 2:

Tips 2:

Du kan bruke knappene til å velge hvilken retning du vil vise på skjermen.

Løsningsforslag:

Løsningsforslag:

Merk: Du trenger ikke kunne måle alle retningene, det er tilstrekkelig med én.


Oppdrag 4b. Bruke akselermeteret som input

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.

Tips 1:

Tips 1:

Her kan det lønne seg å bruke hvis-setninger til å bestemme hvilket navn som skal vises. Disse finner du under Logikk-menyen.

Tips 2:

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.

Tips 3:

Tips 3:

Hvis du trykker på den blå knappen med tannhjulet i hvis-blokken kan du velge flere alternativer til å bestemme tekst.

Løsningsforslag:

Løsningsforslag:


Oppdrag 5. Lage kompass

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.

Tips 1:

Tips 1:

I Inndata-menyen finner du funksjoner for å måle med magnetometeret.

Tips 2:

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.

Tips 3:

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.

Løsningsforslag:

Løsningsforslag:

Ekstra utfordring til avanserte brukere:

Ekstra utfordring til avanserte brukere:

Greier du å bruke skjermen til å lage en slags pil som peker mot nord?


Oppdrag 6. Lage lysteremin

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.

Tips 1:

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.

Tips 2:

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.

Tips 3:

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.

Løsningsforslag:

Løsningsforslag:

Ekstra utfordring til avanserte brukere:

Ekstra utfordring til avanserte brukere:

Greier du å lage en av- og påknapp slik at du kan stoppe tonen når du vil?

Tips til ekstra oppdrag:

Tips til ekstra oppdrag:

Du kan bruke musikk-kommandoen “Rest” til å stoppe tonen.

Løsningsforslag til ekstra oppdrag:

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.

programmere_microbit.txt · Last modified: 2018/06/28 12:28 by royeven