Etter super:bit-oppdraget

Her finner du morsomme og utfordrende kodeoppgaver dere kan gjøre i klassen. Du må ha gjort de to første delene av super:bit-oppdraget før du starter her. OBS: Det trengs noe utstyr for å gjøre oppgavene og skolen får utstyret fra vitensentrene. 

 

Illustrasjon av tallet tre.

Oppgave 1 - Oppfriskning av kjøring med Bit:Bot

Oppgave 1 - Oppfriskning av kjøring med Bit:Bot

Elever programmerer micro:bit.

 

Nå skal vi kjøre Bit:Bot på smartby-matta igjen! Dette blir en repetisjon av øvelsen dere gjorde sammen med vitensenteret. Samtidig flytter vi koden for kjøring over i en annen «start-blokk». Da kan vi senere bruke sensorene samtidig som vi kjører.

 

Utstyr:

  • micro:bit
  • Bit:Bot
  • Smartby-matte

 

Kjøring med Bit:Bot:

Finn en rute som dere vil kjøre, og programmer en rute fram til målet. Det som er annerledes denne gangen er at vi ikke skal putte koden for kjøring inn i «ved start»-blokken, slik dere gjorde da dere kjørte med vitensenteret. Nå skal dere legge koden inn i blokken  «når knapp A trykkes».

Vi gjør det fordi det lar oss bruke sensorene til Bit:Bot samtidig som vi kjører ruta vår. I den neste oppgaven skal dere programmere Bit:Boten til å nødbremse hvis den merker en hindring foran seg, og da er det greit at koden ikke ligger i «ved start»-blokken.

 

Lek med lys:

Bit:Bot har 12 LED-lys som kan programmeres, og dette åpner for en masse muligheter. Hva med å programmere Bit:Boten til å lyse som et utrykningskjøretøy? Eller kanskje det er på sin plass med et lysshow og en liten dans når løypa er overvunnet?

Hva skjer hvis vi bruker blokken «sett LED i regnbue» og samtidig har en «roter LED» blokk inne i en «gjenta for alltid» blokk?

Elev følger med på Bit:Bot
Bit:Bot.
Kodeblokker for kjøring med Bit:Bot.

Kjøring med Bit:Bot: Slik kan koden legges inn.

Kodeblokker for lysshow på Bit:Bot.

Lek med lys: Slik kan koden legges inn.

Oppgave 2 - Kjøring med ultralydsensor / sonar

Oppgave 2 - Kjøring med ultralydsensor / sonar

Elever holder Bit:Bot med sonar.

 

I en smart by må vi ha smarte kjøretøy som unngår å kjøre på hindringer eller andre trafikanter! 

 

Bit:Bot har en ultralydsensor som bruker lydbølger til å oppdage hindringer foran seg. Denne teknologien kalles også for en sonar. Sonaren fungerer ved at den sender ut et ultrasonisk lydsignal, og så måler den hvor lang tid det tar før den hører et ekko. Jo nærmere Bit:Boten er noe, jo kortere tid vil det ta fra lydsignalet sendes ut til mikrofonen fanger opp ekkoet.  

Nå gjenstår det bare å programmere Bit:Bot til å bremse hvis noe kommer i nærheten!

Utstyr:

  • micro:bit
  • Bit:Bot med sonar
  • Smartby-matte (hvis dere har en)

Bruk av sensorer:

Eksempel 1

Når vi bruker sensorer er det lurt å programmet om å lese av sensoren som en egen prosess, altså med en egen kodeblokk.

I eksempel 1 (se bilde av kodeblokker til høyre) har vi puttet sensoren inn i ei løkke som gjentas for alltid. Avlesingen av sensoren skjer inni det vi kan kalle en «hvis-betingelse». 

Hva tror dere skjer om Bit:Bot kjører denne koden?

Dessverre er ikke koden trygg nok! For dersom Bit:Bot allerede kjører en annen blokk, så vil ikke stoppen komme før denne blokka er ferdig. Da har vi kanskje allerede kollidert.

Eksempel 2 

For å unngå dette, må vi bruke variabler til å styre farten til Bit:Bot. Vi starter med å lage to variabler: en vi kaller «fart rett frem» og en som vi kaller «fart sving». Se på eksempel 2 til høyre.

En variabel er en plassholder for verdier og tall. Det gjør det mulig å endre verdier underveis i koden. For eksempel kan vi endre tallet for farten til Bit:Bot. Endringen skal skje ved hjelp av hva sensoren måler.

Eksempel 3

Vi starter med å definere variablene slik at Bit:Boten kjører som normalt når den starter.

Inni blokken med «kjørekode» erstatter vi fartstallet med variabelen («fart rett frem» eller «fart sving»). Se eksempel 3 til høyre.

Eksempel 4

Helt til slutt bruker vi «hvis-betingelsen» til å endre fart hvis den oppdager en hindring nærmere enn 10 cm unna. Variabelen vil endres umiddelbart, og farten vil bli satt ned til 0 selv om Bit:Bot er midt i en «kjøre-blokk». Se eksempel 4!

Smart, ikke sant?! Prøv du også! 

Smartby-matte.
Elever og lærer programmerer.
Eksempel 1 med kodeblokker.

Eksempel 1.

Variabler i makecode. Eksempel 2.

Eksempel 2: Variabler.

Kodeblokker med variabler. Eksempel 3.

Eksempel 3.

Hvis-betingelse. Eksempel 4.

Eksempel 4.

Oppgave 3 - Bygg og programmer et automatisk gatelys

Oppgave 3 - Bygg og programmer et automatisk gatelys

Elever og lærer programmerer.

En smart by trenger automatiske gatelys som slår seg av og på av seg selv! Micro:biten har en innebygd lyssensor, så den kan merke om det er lyst eller mørkt. Den kan vi bruke til å styre gatelysene.

Utstyr:

  • micro:bit med batteriholder
  • LED (en lysdiode)
  • To ledninger med krokodilleklemmer
  • Sugerør e.l.

Kobling:

Start med å kople LED-lyset til micro:biten. Det lange beinet til LED-lyset skal kobles til for eksempel P0 på micro:biten. Det korte beinet skal kobles til GND (som gir jording). 

Så kan du for eksempel sette det inn i et sugerør, så det ser litt ut som et skikkelig gatelys. Du kan også bruke papp eller noe annet dere har liggende som kan bli en gatelykt og slippe ut lys.

Etterpå skal gatelyset programmeres i Makecode. 

Koden må først gi micro:bit beskjed om å sjekke om det er mørkt. Hvis det er mørkt, skal gatelyset slå seg på. Hvis det ikke er mørkt, skal lyset slå seg av. Tips: Dere må sannsynligvis tilpasse tallet for lysnivå (50) slik at det passer med styrken på lyset i klasserommet.

Klarer dere å pusle sammen en kode som gjør at gatelyset virker som det skal? 

Under er et forslag til kode å starte med. Klikk på denne lenka eller på rediger (firkanten med pil) øverst til høyre i kodebildet under for å lage ferdig koden. Den åpner seg i en egen fane.

Slik kopler du.
Sugerør som gatelys.
Elever programmerer.


Ekstraoppgave: Styring ved hjelp av radiosignaler


Hadde det ikke vært stilig om det var en micro:bit som kunne merke om det var mørkt - og så sende et radiosignal til alle gatelysene i byen?

Under er en oppskrift på hvordan dette kan settes opp. Da trenger dere en micro:bit som fungerer som en sender (dette blir lyssensoren) pluss en eller flere micro:biter med gatelys som er mottakere.

 

Programmering av micro:biten som skal sende ut signal

Til denne micro:biten som fungerer som sender trenger vi ikke å kople til noe annet enn en batteriholder.

 

Så skal vi programmere micro:biten til å sende et radiosignal hvis det blir mørkt ute. For å få til dette bruker vi den innebygde lyssensoren på micro:biten. Det første vi gjør i koden, er ved start å velge hvilken kanal vi skal bruke. Her kan vi velge fra 0 til 255. Både sender og mottaker må bruke det samme tallet her for at det skal virke.

 

Så må vi lage kodeblokka for å lese av lysnivå og sende ut ulike signaler. I koden over til høyre er micro:biten satt opp til å sende ut verdien 1 hvis lysnivået er mindre enn 3. Ellers skal den sende ut verdien 0. Her må vi prøve oss litt fram for å finne ut hvilket lysnivå som fungerer i rommet der vi er.

Vi ser at programmeringen av radiosenderen er ganske lik slik den var da vi kun programmerte ett enkelt gatelys. Forskjellen er at i stedet for å skru ett enkelt lys av og på, skal denne koden enten sende ut verdien 1 eller verdien 0 via radiosenderen. I tillegg har den en liten pause så den ikke sender radiosignaler hele tiden.

 

Programmering av micro:biter som skal motta signal

En LED (lysdiode) kobles til med ledninger og krokodilleklemmer, slik som i forrige oppgave.

Når denne mottar et tall via radiomottakeren sin, må vi få den til å sjekke om dette tallet er 1. Hvis det er det, skal lyset gå på. Er tallet noe annet enn 1, skal lyset være av. Se den nederste koden til høyre!

Klarer dere brasene? Lykke til!

Programmering av senderen.

Programmering av senderen.

Programmering av mottakere.

Programmering av mottakere.

Oppgave 4 - Frioppgave: Bygg og programmer det du vil!

Oppgave 4 - Frioppgave: Bygg og programmer det du vil!

Elev har programmert lys-dioder.

 

Nå skal dere få programmere akkurat det dere vil. Bruk det dere har lært så langt og finn på noe som dere kunne tenke dere å programmere.

 

Utstyr:

  • micro:bit
  • Bit:Bot med sonar
  • Papp
  • Sakser
  • Tape
  • LED-pærer
  • Ledninger med krokodilleklemmer
  • Evt. en smartby-matte

 

Organisering:

Gå sammen med en eller flere andre og finn ut hva dere ønsker å lage. Er det vanskelig å finne på noe? Hva med å få Bit:Boten til å lyse som en sykebil? Eller kanskje dere kan fjernstyre noe med en micro:bit?

Kan dere nok til å programmere det dere vil, eller trenger dere å kunne noe mer? Er det noen i klassen som kan hjelpe dere? Husk at det er mange steder på nettet hvor dere kan finne inspirasjon og hjelp. For eksempel har micro:bit ei nettside med mange tips til ting dere kan lage - alt fra spill og musikk til skritt-tellere: https://makecode.microbit.org/

Har dere lagd noe dere ønsker å vise fram? Presenter det dere har lagd for klassen. Forklar hvordan dere tenkte og hvordan dere løste problemene dere møtte.

Bra jobba!

Elever programmerer høyttaler.
Elever holder micro:bit.
Elever med stor micro:bit.