Datalogging

Det å logge data fra micro:biten er forholdsvis enkelt. Man kan logge både interne og eksterne sensorer, samt hente ut data fra variabler og simuleringer.

Datalogging med bar graph (søylediagram)

Under skjerm finner vi en blokk som kan vise et slags søylediagram

Datalogging med Navn og verdi

Her ser vi et lite program som én gang i minuttet sender lysnivået som microbiten måler til PCen, slik at man f.eks. kan måle hvordan lyset som treffer plantene i vinduskarmen endrer seg i løpet av dagen. 

Denne bloggen "merker" også verdien som sendes, slik at den behandles sammen med de andre med samme navn hvis man har flere ulike dataloggingsserier. Meeeget nyttig.

NB! Ikke bruk ÆØÅ i "merkelappen". Da låser ting seg.

Ved å sortere dataene som
x.x , x.y og x.z samles dataene i samme plot.

Hvis vi gir dem hvert sitt navn, får de hvert sitt plot.

Datalogging - Akselerometer

Startkoden til venstre plotter sensordataene fra det innebygde akselerometeret i Micro:biten i de tre retningene og plotter det i samme graf i Simulatoren.

Eksport av data til Google regneark.

Når man har gjennomført en datainnsamling/simulering og har skrevet data med serieporten, kan disse dataene hentes ut for videre bruk/behandling.

1)

Klikk på "Vis konsoll Simulator" hvis du vil hente dataene fra en simulering i MakeCode.

Klikk på "Vis konsoll Enhet" hvis du vil hente dataene fra den tilkoblede micro:biten.

2)

I konsollen kan du se dataene, og øverst til høyre kan du klikke for å eksportere dataene til en kommaseparert regneark-fil (*.csv) eller til en tekstfil (*.txt).

3)

Lagre filen lokalt på maskinen eller i Drive, åpne den og konverter til Google regneark for videre triksing og fiksing. 


Merk at det kan by på problemer at MakeCode spytter ut verdier med punktum som desimaltegn, som gjør at noen datapunkter (hvis de er desinmaltall) kan tolkes som datoer i regnearket. Dette ordner seg som regel når man tar "Søk og erstatt" og erstatter alle punktum med komma i regnearket.

Trådløs overføring av data

Slik ting er nå, er det ingen enkel måte å hente dataene fra en micro:bit som er koblet trådløst til en iPad, da denne overføringen er avhengig av at micro:biten er tilkoblet med USB-kabel. Skal elevene drive datalogging med iPad, må dataene som samles inn sendes trådløst til en micro:bit som er koblet til lærerens PC eller tilsvarende.

På elevenes Micro:bit lager man et program som sender dataene via radio til alle i samme radiogruppe.

Det er viktig at man bruker blokken som gjør at man kan sette en "merkelapp" på målingen, slik at hver måling registreres i hver sin dataserie.

De nederste blokkene sørger for å tenne og slukke en LED på Micro:biten, som viser at Micro:biten sender målingene.

Tekstfeltet i radioblokken kan ikke ha ÆØÅ og kan være maks 8 tegn.

På lærerens Micro:bit lager man et program som logger dataene som kommer inn via radio.

Animasjonen til høyre viser hvordan man drar ned "name" og "value" fra radioblokken.

Eksport av data fra simuleringer

I programmet til venstre simuleres 6000 terningkast med en 6-sidet terning når man trykker på A-knappen. Dette kan gjøres fysisk på en Micro:bit eller rett i MakeCode, men på grunn av det begrensete minnet på micro:biten er det ofte greiest å bare gjøre dette rett i nettleseren.

Verdien på kastet "logges" i ulike Variabler.


Øvelse

Utvid programmet slik at variablene skrives ut med serieport-blokken når man trykker på B-knappen.

Klikk her for å se én mulig løsning.

Bruk av tabeller/arrays for å samle enkeltmålinger

Hvis man ønsker å hente ut enkeltmålingene hver for seg, kan man få programmet til å samle verdiene fra simuleringene i en tabell (et array på engelsk). 

Microbiten har begrenset med minne, men i MakeCode kan man lage store tabeller som kan hentes ut for videre databehandling.


Utfordring

Kan du endre legge til en variabel som heter "Antall terninger" og endre programmet slik at man ved å endre "Antall terninger" kan simulere 1000 kast med X antall terninger.


Hint: Har trenger du nok en løkke inne i løkken som gjentas et visst antall ganger,

Fasit: https://makecode.microbit.org/69836-30545-67112-60024 

Telle forekomster i Google regneark

Når man skal hvor mange ganger en verdi forekommer i Google regneark, er det greit å kunne ANTALL.HVIS-funksjonen.

I eksempelet under har vi hentet inn en tabell med resultatet fra 1000 simulerte terningkast med to terninger.

Formelen i celle B4 teller hvor mange ganger tallet som står i cellen til venstre for formelen (i A4) forekommer i rad 1, der dataene fra simuleringene ligger. Vi bruker dollartegnene $ for å låse cellereferansen slik at vi kan kopiere formelen nedover og telle opp alle mulighetene fra 2 til 12 øyne.

Vi ser også at summen av alle forekomstene blir 1000, så vi vet at vi har fått telt opp alle.

Dette er formelen som ligger i B4, og som kan kopieres nedover =ANTALL.HVIS($1:$1;"="&A4)

Terningkast simulering

Mer moro for de som er interessert:

Hvis du har tilgang på Micro:bit V2 kan du bruke oppskriften i lenken under for å logge dataene og lagre dem midlertidig på Micro:biten.


Versjon 1 har dessverre ikke nok minne til at dette fungerer så godt.