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 dette utstyret fra vitensentrene. 

 

Illustrasjon

Kjør på veien gjennom hele byen

Kjør på veien gjennom hele byen

Bilde av elever og lærere som programmerer

Skal du prøve deg på denne utfordringen, bør du ha klart å kjøre BitBot fra START til MÅL i SmartByen. 

I denne oppgaven skal du nå skal du se om du klarer å kjøre en hel runde, og stoppe der du startet.

For å gjøre dette skal du bruke ei LØKKE.

Hva skjer når du legger kjørekoden din inn  i en slik LØKKE ?

Må du gjøre noen endringer i koden din eller legge til noe på slutten for å få bilen til å kjøre gjennom hele byen (på veien) og ende opp der du startet?

Bilde av superbitmatten med en markering av kjørevei

Styr trafikken med trafikklys

Styr trafikken med trafikklys

Bilde av trafikklys

Mål

Trafikklysene i byen virker ikke som de skal! Kan dere hjelpe til med å fikse lysstyringsprogrammet?

Utstyr:

Trafikklys koblet til micro:bit

Oppgave:

Under ser du programmet for trafikklyset. Det er en feil i programmet. Kan du rette det?

Tips:

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. 

Programkoden finner du også her.

 

 

Se byggeinstruksjoner for trafikklys her:

Bokmål

Nynorsk      

Hvordan kan dere legge til flere blokker og forandre koden for å få lysstyringsprogrammet til å styre lyset i rett sekvens?

Hva synes dere er passelige pauser?
Bør det være like lenge hver gang?

Bilde av trafikklys

Lag en robotgressklipper som unngår hindringer

Lag en robotgressklipper som unngår hindringer

Bilde av BitBot som stopper for fotgjenger

Mål:

Smartbyen har noen robotgressklippere som skal kjøre rundt i parkene og klippe gresset. Hjelp til med å lage et program sånn at de ikke kolliderer med ting og tang ved å bruke ultralydsensoren til å måle avstanden til hindringer. 

Utstyr:

  • BitBot
  • Ultralydsensor (den som ser ut som øyne og kan settes fremst på BitBoten)

En ultralydsensor, eller sonar som det også kalles, bruker lyd til å måle avstand. Den sender ut lydsignaler og måler tiden det tar før lyden reflekterer tilbake fra omgivelsene. Desto lengre tid det tar før lyden kommer tilbake, desto lengre unna er hindringen. Sonarer brukes på alt fra ryggesensorer til ubåter. 

Bilde av ultralydsensor

Oppgave:

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?

De to boksene som ligger løst under gjenta for alltid-blokka, er forslag til blokker fra BitBot-menyendere kan bruke. Her er det mange måter å løse oppgavene på, så prøv dere fram og se hva dere synes fungerer best. Prøv å forandre litt på avstanden eller legg inn pauser i programmet hvis ting skurrer.

Programkoden finner du også her.

Lag en selvkjørende bil

Lag en selvkjørende bil

Bilde av bitbot

Mål:

I SmartByen er det tegnet opp svarte linjer på veiene som skal hjelpe selvkjørende biler med å holde seg på veien. Programmer BitBoten til å bruke linjesensorene til å kjøre på linjen.

Steg 1: Utstyr 

  • BitBot
  • SmartBy-matten (alternativt kan du bruke sort elektrikertape og tape på gulvet)

BitBoten har to linjesensorer. Hver av dem har en liten sender og mottaker som sender ut og mottar usynlig infrarødt lys. Dersom lyset treffer den svarte streken, så absorberes den, noe mottakeren registrer ved at linjesensoren sender tallet 1. Dersom lyset treffer den lyse delen av matta sender linjesensoren tallet 0.

På undersiden av BitBoten på hver side av forhjulet finnes to linjesensorer.

Steg 2: Programmering

Vi vil at BitBotten skal fungere på denne måten:

  • Når linjen er midt mellom de to sensoren skal roboten kjøre rett frem.
  • Når roboten kommer til en venstresving, dekker streken for lyset til venstre sensor. Da vil vi at roboten skal kjøre mot venstre.
  • Når roboten kommer til en høyresving, dekker streken for lyset til høyre sensor. Da vil vi at roboten skal kjøre mot høyre.

 Klarer du pusle sammen blokkene så BitBotten følger linjen?

Programkoden finner du også her.

 

Tips: Om roboten kjører ut av banen, er det kanskje verd å endre litt på farten?

Bilde av elever som ser på en bitbot kjøre
To jenter viser en microbit

Lag en radiostyrt bil

Lag en radiostyrt bil

Bilde av en bitbot

Mål:

Målet med oppgaven er å fjernstyre BitBoten ved bruk av radiostyring. Ved å bruke den ene micro:biten som sender kan du styre BitBoten med den andre micro:biten. 

For å gjøre det skal du bruke knappene og det innebygde akselerometeret i micro:bittn.

Senderen skal styre BitBoten på denne måten:

  • Når man trykker på knapp A skal BitBoten kjøre fremover.
  • Når man trykker på knapp B skal BitBoten stoppe.
  • Når micro:biten vendes til venstre, skal BitBoten svinge til venstre.
  • Når micro:biten vendes til høyre, skal BitBoten svinge til høyre.

Steg 1: Utstyr

  • en BitBot
  • to micro:bit, en til BitBotten og en som skal brukes som senderenhet
  • en batteripakke til senderenheten

Steg 2: Programmering av senderen

  • For at de to micro:bitene skal kunne kommunisere må de bruke samme radiogruppe. Det finnes opptil 255 radiogrupper, så her har vi valgt gruppe 1.
  • micro:biten skal sende kommandoer i form at tall til BitBoten. Vi bruker blokken "radio send tall" i fra "Radio" til å sende kommandoene til den andre micro:biten i BitBoten. 
    • Når man trykker på knapp A skal tallet 1 sendes
    • Når man trykker på knapp B skal tallet 2 sendes
    • Når micro:biten vendes til venstre skal tallet 3 sendes
    • Når micro:biten vendes til høyre skal tallet 4 sendes

Klarer du å pusle sammen blokkene og legge til flere blokker så det blir riktig?

Programkoden finner du også her.

Steg 3: Programmering av mottaker

  1. Micro:biten som fungerer som mottaker, skal lytte på radiogruppe 1. 
  2. Når den mottar tall, skal den sjekke om visse vilkår er oppfylt for å sjekke om BitBoten skal kjøre, svinge eller stoppe.
    • Når den mottar tallet 1 skal den kjøre fremover.
    • Når den mottar tallet 2 skal den stoppe.
    • Når den mottar tallet 3 skal den svinge til venstre.
    • Når den mottar tallet 4 skal den svinge til høyre.

Klarer du pusle sammen klossene og legge til flere blokker så programmet fungerer?

Programkoden finner du også her.

Utfordring 1: skjerm med symboler

Kan du få micro:bitten som fungerer som sender til å vise et symbol på skjermen når du trykker på knappene eller når du heller den til sidene? Kanskje noe som viser retningen?

Utfordring 2: BitBot battle

Kan du arrangere en BitBot-battle der alle får ballonger og blomsterpinner på robotene og målet er å "overleve lengst mulig" med usprukken ballong?

Bygg gatelys som skrus på når det blir mørkt

Bygg gatelys som skrus på når det blir mørkt

Bilde av by med gatelys

Mål: 

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

Steg 1: Utstyr du trenger

  • micro:bit
  • lysdiode(LED)
  • ledninger med krokodilleklemmer, gjerne sort og rød 
  • sugerør eller noe annet som fungerer som stolpe for gatelyset
  • papp, tape eller ispinne til fundament

Steg 2: Bygg gatelyset

  1. Fest sugerøret sammen med pappbiten/ispinnen eller det du måtte bruke som fundament for gatelykten.
  2. Fest fundamentet til underlaget f.eks med tape.
  3. Trekk beina til lysdiodene fra hverandre for å unngå kortslutning.
  4. Koble på ledningene med krokodilleklemmer. på lysdioden og microbiten på denne måten. Tar du feil vil ikke lysdioden lyse.
    • Den sort ledning skal kobles på det korte beinet på lysdioden og skal kobles på GND på micro:bitten.
    • Den røde ledningen skal kobles på det lange beinet på lysdioden og skal kobles på P0 på micro:bitten.
    • Tips: Krokodilleklypene sitter best om de griper om hullet og kanten av micro:bitten.
  5. Fest lysdioden til sugerøreret. Er du heldig har den riktig diameter til å passe inni sugerøret.
Kobling av micro:bit og lysdiode

Tilkobling av micro:bit og lysdiode. Rød ledning til P0 og langt bein på lysdiode. Sort ledning til GND og kort bein på lysdiode.

Steg 3: Programmer  gatelyset

Når gatelyset skal programmeres trenger vi å sjekke om det er mørkt. micro:bittens skjerm fungerer også som en lyssensor. Ved å bruke blokken "lysnivå" fra "Inndata" kan vi hente ut verdien på lysnivået fra 0 som er mørkt, til 255 som er lyst. 

Vi må hele tiden sjekke om det er lyst eller mørkt. Derfor bruker vi blokken "gjenta for alltid" og gjør en test. Hvis det er mørkt, dvs lysnivået er lavere enn 50, tenner vi lysdioden ved å bruke "skriv digital til P0 verdi 1". Ellers vet vi at det er lyst og skrur av lyset ved  å bruke "skriv digital til P0 verdi 0".

Tallet 50 her må dere sannsynligvis tilpasse slik at det passer med slik lyset er i klasserommet. 

Klarer du å pusle sammen klossene så programmet fungerer?

Programkoden finner du også her.

Utfordring: radiostyrt gatelys

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. 

Steg 1: 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.
  • For at de to micro:bittene skal kunne kommunisere må de bruke samme radiogruppe. Det finnes opptil 255 radiogrupper, så her har vi valgt gruppe 1.
  • Den ene microbitten, senderen, skal sjekke om lysnivået er lavere enn 50. Om det er det skal den sende tallet 1. Ellers skal den sende tallet 0. 
  • Vi har lagt inn en liten pause, så den ikke sender radiosignaler hele tiden. 

Programkoden finner du også her.

Steg 2: Programmering av mottakeren

  • micro:bitten som er koblet til gatelykten skal fungere som mottaker.
  • micro:bitten er satt til å lytte til radiogruppe 1 dvs den samme som senderen.
  • 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.
  • Programmet kan du laste ned til så mange gatelykter du vil. 

Programkoden finner du også her.

Bilde av sugerør

Lag en automatisk veibom

Lag en automatisk veibom

Bilde av en bom

Mål:

Vi skal bygge en bom som åpner seg når man trykker på knapp A og lukker seg når man trykker på knapp B.

 

Steg 1: Utstyr du trenger

  • 180 grader servo
  • micro:bit
  • BitBot
  • papp eller annet egnet materiale.
  • saks
  • lim og/eller tape
  • en liten stjerneskrutrekker

Steg 2: Bygg bommen

  1. Finn frem servoen som kan rotere 180 grader fra utstyrskassa. 
  2. Klipp ut i papp en bom som kan festes til servoen. 
  3. Lag en støttestruktur i papp som gjør at servoen kan festes til underlaget. Pass på et du har en passelig åpning til servoen, et rektangel på ca. 22mm x 12mm burde være passelig.
  4. Fest servoen til bommen. Enten ved å lime den fast, tape den fast, eller skru den fast. Du kan bruke noen av de hvite servoarmene som kan festes til servoen som gjør dette enklere. 

Bommen kan du klippe ut i papp

Servo med hvit servoarm gjør det enklere å feste til bommen

Servoen kan festes på flere måter. Her er den skrudd fast i bommen.

Steg 3: Koble servoen til BitBoten

Servoen har tre ledninger, oransje, rød og brun. Disse skal kobles til portene på siden av batterikassen. BitBot kan styre to servoer samtidig. Koble på porten P1 og koble slik at den oransje ledningen er mot fronten på BitBoten, rød i midten der det står 5V og brun der det står G.

Riktig tilkobling av servo på BitBoten

Steg 4: Programmer

BitBot-utvidelsen inneholder blokker for å kontrollere både 180° og 360°servoene. Vi bruker blokken "Sett servo P1 til 90 grader" fra "Sensorer og styring" i BitBot-menyen.

Hva skal skje med servoen når du trykker på knapp A?

Hva skal skje når du trykker på knapp B?

Kan du forandre på hvor mye servoen beveger seg opp eller ned?

Tips: Det er viktig at dere velger riktig port dvs P1 da det er den porten servoen er koblet på BitBotten.

Programkoden finner du også her.

Utfordring 1:

Få bommen til å gå opp og igjen av seg selv med en roligere bevegelse. Her er en kode som får bommen til å bruke ett sekund på å åpne eller lukke seg.

Programkoden finner du også her.

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?

Programkoden finner du også her.

Utfordring 3:

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

 

Utfordring 4:

Ved å bruke avstandssensoren (ultralydsensoren), kan du få BitBoten til å stoppe automatisk når bommen går ned og starte å kjøre når den går opp. Tar du utfordringen?