Etterarbeid

Her finner du flere morsomme og utfordrende programmeringsoppgaver som er smart å gjøre kort tid etter super:bit-oppdraget for å få best mulig utbytte. Vi anbefaler at alle gjør oppfriskningsoppgave med kjøring av Bit:bot, samt at dere i tillegg velger minst to andre oppgaver fra listen under.  

 

Oppgavene kan gjennomføres i klasserommet, og alt utstyr som trengs følger i super:bit klassesettet. Unntaket er for enkelte oppgaver litt papp, penner osv.

Hvis dere velger trafikklys-oppgaven: Her er det en fordel å ha bygget to-tre trafikklys på forhånd, da dette kan ta litt tid. Gjør gjerne dette sammen med elevene. 

Illustrasjon

Oppfrisking av kjøring med Bit:Bot

Oppfrisking av kjøring med Bit:Bot

Elever med Bit:Bot.

Mål med øvelsen:

Vi kjører Bit:Bot på smartby-matta. Dette blir en repetisjon av øvelsen dere gjorde sammen med vitensenteret. 

 

Utstyr / ressurser:

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

 

Kjøring med Bit:Bot:

Gi eleven et start- og et sluttpunkt på smartby-matta, og la dem programmere en rute til målet. I eksempelet her vil LED 0 på Bit:Bot tennes Bit:Boten kjører en løype, og lyset roterer. 

Kodeblokk

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 når løypa er overvunnet??

Kodeblokk 2

Vanskelighetsgrad:

Middels

Tid:

15-20 minutter

Hvis du vil skrive ut:

Her finner du oppgaven som pdf  (bokmål)

(Nynorsk versjon foreløpig ikke tilgjengelig)

Kompetansemål fra lærerplanene:

Hovedområder og kompetansemål fra læreplanene. 

Bit:Bot
Elever med Bit:Bot.

Tilbake til start - kjør på veien gjennom hele byen

Tilbake til start - kjør på veien gjennom hele byen

Bilde av elever som programmerer bitbot

Mål med øvelsen/introduksjon: 

Skal elevene prøve seg på denne utfordringen, bør de ha klart å kjøre BitBoten frå START til MÅL i SmartByen. 

I denne oppgaven skal de jobbe videre med programmet/koden de brukte til å kjøre løypa, men nå skal de kjøre en hel runde, og stoppe der de startet.

For å gjøre dette skal de bruke ei LØKKE. Legger de kjørekoden sin inn i denne løkka vil den gjøre det samme to ganger. Så for å få bitboten helt tilbake til start må de i tillegg få den til å kjøre den ekstra strekningen fra mål til neste start.

Vanskelighetsgrad:

Enkel

Tid:

10-20 minutter

Kompetansemål fra læreplanene:

Hovedområder og kompetansemål fra læreplanene.

Trafikklys - styr trafikken med trafikklys

Trafikklys - styr trafikken med trafikklys

Bilde av trafikklys

Trafikklysene i byen virker ikke som de skal!

Kan dere hjelpe til med å fikse lysstyringsprogrammet?

 

Du trenger:  Trafikklys koblet til micro:bit.
                                   

Slik er programmet til å begynne med.

Digital verdi (1) betyr strøm .
Digital verdi (0) betyr strøm AV.

P0 (pin null) styrer RØDT LYS.
P1 (pin en) styrer GULT LYS.
P2 (pin to) styrer GRØNT LYS.

Det gule lyset går på/av hvert 2. sekund.

Her må elevene legge til flere blokker for å få flere ting til å skje med lysene. I tillegg bør de justere pausene så det ser greit ut.

 

Her er et løsningsforslag til programmeringen:

Lærer hjelper barn med koding

Vanskelighetsgrad:

Middels

Tid:

15-30 minutter

Bilde av trafikklys-koding

Robotgressklipper (ultrasensor) - lag en robotgressklipper som unngår hindringer

Robotgressklipper (ultrasensor) - lag en robotgressklipper som unngår hindringer

Barn programmerer

 

 

SmartByen har noen robotgressklippere som skal kjøre rundt i parkene og klippe gresset. Hjelp til med å lage et program slik at de ikke kolliderer med ting og tang.

 

Du trenger:  BitBot med ultralydsensor.

 

Startkoden bruker VILKÅR, som ligger under LOGIKK.

Her starter programmet med å sjekke om ultralydsensoren (sonaren) måler en avstand på under 10 cm.

 

Hva synes dere bør skje hvis avstanden er under 10 cm?
Og hva skal skje ellers, dersom avstanden er over 10 cm?

 

 

Vanskelighetsgrad:

Enkel

Tid:

10-20 minutter

Kodeblokk

De to boksene som ligger løst under gjenta for alltid-blokka er forslag til blokker fra BitBot-menyenelevene kan bruke. Her er poenget at hvis avstanden er mindre enn 10 cm skal bitboten snu, og hvis ikke, skal den kjøre rett fram.

Kodeblokk gjenta for alltid

Robotgressklipper (linje) - lag en robotgressklipper som holder seg på gressmatta

Robotgressklipper (linje) - lag en robotgressklipper som holder seg på gressmatta

Bilde av to jenter som programmerer

 

 SmartByen har rammet inn et parkområde med en svart strek, og vil at en BitBot-robotgressklipper skal kjøre fram og tilbake innenfor dette området og klippe gresset. Her kan dere for eksempel forlenge de svarte strekene på super:bit-matten med tape slik at det blir en lukket løype, eller bruke tape rett på gulvet.

 

Du trenger:  BitBot

 

Startkoden bruker VILKÅR, som ligg under LOGIKK.

 

Når venstre linjesensor = 1, betyr det at den venstre linjesensoren ser noe mørkt.

 

 

Vanskelighetsgrad:

Middels

Tid:

15-30 minutter

De to boksene som ligger løst under gjenta for alltid-blokka er forslag til blokker fra BitBot-menyenelevene kan bruke, men her er det mange måter å løse oppgaven på, så la dem få prøve seg fram før de eventuelt får se en mulig løsning:

Selvkjørende bit:bot (linjesensor) - programmér roboten til å bli selvkjørende

Selvkjørende bit:bot (linjesensor) - programmér roboten til å bli selvkjørende

bitbot

I SmartByen er det tegnet opp svarte linjer på veiene som skal hjelpe selvkjørende biler med å holde seg på veien. Her skal elevene få bitboten til å følge linjen.

 

Du trenger:  BitBot

 

Startkoden bruker VILKÅR, som ligger under LOGIKK.

 

Linjesensoren sender:
1 = svart.
0 = lyst.

 

Kodeblokk

Hvilke fire alternativer kan roboten treffe på når den får informasjon fra venstre og høyre linjesensor? To av alternativene ligger der allerede. Elevene må da kopiere to til (venstre=1, høyre=0 og venstre=0, høyre=1). Så må de vurdere hva som er lurt å gjøre i de forskjellige tilfellene.

 

Her er et løsningsforslag (det kan godt hende farten i de forskjellige tilfellene bør justeres):

Kodeblokk

Vanskelighetsgrad:

Vrien

Tid:

15-30 minutter

Radiostyrt bit:bot - lag en radiostyrt robot

Radiostyrt bit:bot - lag en radiostyrt robot

Bilde av bitbot

Her er det to micro:biter som skal programmeres. En gruppe programmerer BitBoten, den andre fjernkontrollen.

 

Gruppe 1:     micro:bit med batteripakke og Oppgave 2F-1.

Gruppe 2:     BitBot og Oppgave 2F-2.

Vanskelighetsgrad:

Vrien

Tid:

15-30 minutter

Begge programmene starter med å melde begge micro:bitene inn i en radiogruppe. Her må de bruke et tall mellom 1 og 255, men pass på at de bruker den samme radiogruppa og at det er forskjellig fra eventuelle andre prosjekt som bruker radio.

Gruppe 1:

Denne micro:biten skal sende signal (tall) til BitBoten, og de forskjellige tallene får den til å kjøre, svinge og stoppe. Startkoden (Oppgave 2F-1) har to forslag til blokker liggende klar. Den første sender tall når du klikker på A, B eller A+B. Den andre bruker akselerometeret (bevegelser). Alt etter hvor avansert elevene vil lage det kan de legge til flere bevegelser.

Gruppe 2:

Dette programmet skal få BitBoten til å kjøre, svinge og stoppe når den mottar ulike signal (tall) fra den andre gruppen sin micro:bit.

 

Startkoden (Oppgave 2F-2) inneholder en viktig blokk som de kan jobbe videre med.

 

Blokken blir aktivert når micro:biten i BitBoten mottar et tall via radio. Deretter bruker denVILKÅR (hvis-logikk) for å sjekke om BitBoten skal kjøre, svinge eller stoppe, avhengig av tallet den mottok.

 

De kan legge til flere vilkår (ellers hvis), ved å klikke på pluss-tegnet (+) nederst i blokka. De må ha like mange vilkår her som antall forskjellige tall den andre micro:biten sender.

 

NB!     Det er lurt at begge gruppene har kontroll på både sitt eget program og den andre gruppen sitt program. Da kan de bli enige om hvilket tall som skal gjøre hva, og ikke minst hjelpe hverandre med å finne eventuelle feil.

Løsningsforslag sender:

Løsningsforslag mottaker:

Gatelys - lag et gatelys som skrus på når det blir mørkt

Gatelys - lag et gatelys som skrus på når det blir mørkt

Bilde av lærer som viser elever programmering

 

En smart by trenger selvsagt automatiske gatelys som slår seg av og på av seg selv. Micro:biten har innebygget lyssensor, så den kan merke om det er lyst eller mørt, og dette skal vi bruke til å styre gatelysene.

 

Utstyr

Du trenger: micro:bit, LED (lysdiode), to ledninger med krokodilleklemmer, sugerør e.l.

Vanskelighetsgrad:

Middels

Tid:

20-40 minutter

Kobling

Det lange beinet til LEDen skal kobles til for eksempel P0 på micro:bit. Det korte beinet skal kobles til GND (jord). (se bilde under)

 

Så kan en for eksempel bruke et sugerør med passelig diameter så det ser litt ut som et skikkelig gatelys. Her kan det også brukes papp, kartong eller annet dere har liggende. (se bilde til høyre)

Bilde av kobling mot microbit
Bilde av sugerør

 

 

Når gatelyset skal programmeres trenger vi å sjekke om det er mørkt. Hvis det er det, skal gatelyset slå seg på. Hvis det ikke er mørkt skal lyset gå av. Klarer dere å pusle sammen programmet slik at gatelyset virker som det skal?

Kodeblokk

 

 

 

Tallet 50 her må dere sannsynligvis tilpasse slik at det passer med slik lyset er i klasserommet. Her er et løsningsforlag (se bildet til høyre):

Kodeblokk

Utvidelse: 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? Her er en oppskrift på hvordan dette kan settes opp. Da trenger dere en micro:bit som sender (dette blir lyssensoren) og en eller flere gatelys som mottakere. 

Programmering av senderen

Vi bruker den innebygde lyssensoren til micro:biten, og skal programmere den til å sende et radiosignal hvis det blir for mørkt ute.

Det første vi gjør når vi skal bruke radiofunksjonen til micro:bit er at vi ved start velger hvilken gruppe vi skal bruke, og her kan vi velge fra 0 til 255. Både sender og mottaker må bruke det samme tallet her for at det skal virke.

https://makecode.microbit.org/_YVD7Kb2HhYzY

Her er det satt opp til å sende verdien 1 hvis lysnivået er mindre enn 3, og ellers skal den sende verdien 0. Her må vi prøve oss fram litt til hvilket lysnivå som fungerer.

Vi ser at programmeringen av senderen er ganske lik slik den var når gatelyset stod for seg selv. Forskjellen er at i stedet for å skru et lys av og på, skal den enten sende verdien 1 eller 0 via radio.

I tillegg har den en liten pause så den ikke sender radiosignaler hele tiden. Det trengs ikke kobles noe til denne micro:biten utenom kanskje batteriholder.

Kodeblokk

Programmering av mottakeren

En LED (lysdiode) kobles til med ledninger og krokodilleklemmer, slik som før. Når denne mottar et tall via radio, 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.

Kodeblokk

Bom med servo - kontroller trafikken med en automatisk veibom

Bom med servo - kontrollér trafikken med en automatisk veibom

Bilde av barn som programmerer

 

Det holder ikke med lyssignaler. Vi trenger en bom!

Kan dere bygge en bom som stopper trafikken?

 

Du trenger:

  • En 180° servo
  • en micro:bit
  • en BitBot
  • papp eller annet egnet materiale.
  • en saks
  • lim, tape eller en liten stjernetrekker

Vanskelighetsgrad:

Middels

Tid:

45-60 minutter

Hvis du vil skrive ut:

Her er oppgaven som pdf (bokmål)

Vi har to typer med servo i utstyrskassa, 180° og 360°.

  • 180° servoen kan vi programmere i posisjoner fra 0° til 180°.
  • 360° servoen kan rotere kontinuerlig i begge retninger i.

BitBot-biblioteket inneholder blokker for å kontrollere både 180° og 360°servoene.

Det går fint å kjøre servoer gjennom BitBoten uten å laste ned BitBot-biblioteket, da det er Tilkoblingbiblioteket som brukes. 

Elevene kan bygge en bom, den kan for eksempel se slik ut: 

Kodeblokk 1

 

 

Tips: Hvis bommen er ca. 5cm høy, så vil en BitBot som bruker sonar kunne stoppe automatisk når bommen er nede.

Pass på et du har en passelig åpning til servoen, et rektangel på ca. 22mm 12mm burde være passelig.

Hent blokken «servo skriv til P0 verdi 180» som dere finner i menyen «Tilkobling».

Bruk «når knapp A trykkes» blokken, og bygg en kode som veksler mellom 180° og 90°

Det er viktig at dere velger å P1, eller P2, for det er disse portene dere kan sende servo-signal til gjennom BitBot.

Kodeblokk
Kodeblokk 3

 

 

Koble servoen til BitBot. Husk at den oransje ledningen skal være mot fronten på BitBot. Last ned koden, og styr bommen. Juster bommen slik at den peker rett opp med den ene knappen, og rett til siden med den andre knappen.

Med BitBot kan vi styre to servoer samtidig. Pass på at du sender signalet til riktig port! P1 er innerst, P2 er ytterst.

 

Utfordring 1:

Få bommen til å gå opp og igjen av seg selv.

 

Utfordring 2:

Fjernstyr bommen med en annen micro:bit.

Her er en kode som kontrollerer bommen.

Klarer dere å programmere en sender som fungerer med denne koden?

Kan dere få et trafikklys til å sende et åpne-signal når lyset er grønt, og et lukke-signal når lyset er rødt?

 

 

Kodeblokk 5

Tips og triks:

Det er mulig å få bommen til å åpne og lukke seg med en roligere bevegelse. Her er en kode som får bommen til å bruke ett sekund på å åpne eller lukke seg.

Kodeblokk 6