Lärarsida
Nyheter i MakeCode Editor juni 2020
Läs om nyheterna i detta häfte
På den här sidan har vi samlat en genomgång av de olika elevuppdragen. För att komma direkt till valt uppdrag kan du klicka på uppdragets namn nedan.
1 Animering
2 Fyra Räknesätt
3 Räkna steg och sträcka
4 Multiplikation
5 Tärning
6 Kompass
7 Ljusnivå
8 Radio
För att bekanta sig med programmeringsmiljön och blockens olika funktioner finns ett dokument som beskriver hur blockens form visar vad respektive block används till.
Det finns ett dokument där vi samlat några Tips och Trix
I programmeringsmiljön: Om du vill veta mer om ett block kan du högerklicka på blocket och välja hjälp. Om du arbetar med iPad kan du hålla fingret på blocket och välja hjälp.
Micro.bit 1 Animering
I micro:bit för mellanstadiet har vi samlat ett antal uppdrag. Elever kan arbeta i par och alternera mellan att läsa på uppdragssidan och programmera i editorn som finns på https://makecode.microbit.org/#editor . Om ni arbetar med iPad behövs även en app för att kunna programmera micro:bit. I app-store ser loggan för appen ut så här:

För en introduktion till micro:bit kan du läsa dokumentet ”Kom igång med Micro:bit och JavaScripts Blocks Editor” som finns på under fliken 7-9 Micro.bit på denna webbplats.
Där hittar du också dokumentet om hur man laddar ner program till micro:bit från dator eller iPad.
Du kan också hitta länkar till fler resurser gällande micro:bit där.
På den här sidan beskriver vi elevuppdragen och vilka ord som speciellt lyfts i uppdraget.
Programmeringsbegrepp:
En Algoritm är en beskrivning av hur man stegvis utför en beräkning eller löser en uppgift. Algoritmen består av tydliga instruktioner för hur något ska göras.
En Sekvens är i vilken följd stegen i algoritmen utförs. Stegen utförs en i taget i den ordning de skrivits. Varje steg utförs exakt en gång .
En Variabel är en namngiven lagringsplats med ett värde som kan ändras.
Matematik
I uppgift 1:1 används tidsenheten millisekunder.
I uppgift 1:2 nämns Ascii-teckenkoder. Läs mer om maskinkod/binär kod och Ascii här
I uppgift 1:3 används begreppet offset för en förskjutning i x-led
Begreppet animering har betydelsen ”ge liv till” och är en process där man skapar illusion av rörelse på livlösa saker, teckningar och modeller.
För att animera en bild på micro:bit används tekniken att tända och släcka led lampor med paus mellan samt att förskjuta vilka lampor som är tända respektive släckta .
Led lampor används i många informationstavlor där text och bild visas. De trafikljus som finns i vägkorsningar består också av många små ledlampor vilka ger en signal till trafikanter om det är fritt att gå/köra eller stanna.
Övning 1:1
I övning 1:1 används block från blockkategorin Grundläggande.
Följande block används för att skapa animationen
Övning 1:2
Här används blocket visa sträng för att få text att scrolla över displayen. Texten scrollar åt vänster OM text består av fler tecken än som kan visas på displayen. Sträng (string på engelska) är en sekvens av tecken. För mikro: bit stöds ASCII-teckenkoder 32 till 126; bokstäver, siffror, skiljetecken och några symboler. Alla andra teckenkoder visas som ett tomrum på led-displayen.
Övning 1:3
I övningen används block som finns under Avancerat – Bilder
Den bild som ska användas skapas först som en variabel. Variabeln kan namnges med vilket namn som helst men det kan vara bra att försöka komma på ett namn som beskriver vad variabeln används till. Koden blir då lättare att läsa både för den som programmerat och andra.
När bild ska placeras i variabeln kan det vara svårt att se hur den ska placeras.

Bilden är väldigt stor och den ska placeras i det röda blocket där siffran 0 står. När man drar bilden över det röda blocket kommer en gul ram att synas runt där siffran noll står. Då kan man släppa bilden och det röda blocket expanderas.

Bilden ska sen visas med en viss offset. Offset beräknas från vänster sida på led displayen. Om offset 2 används kommer bilden att förflyttas två steg åt vänster.
De som på den här bilden är på vänster sida av röda strecket kommer alltså inte att synas på led displayen.
För att skapa en animation som scrollar bilden över displayen för alltid ser koden ut enligt nedan.

Micro:bit 2 Fyra Räknesätt
I det här programmet kommer elev att skapa en miniräknare. Micro:bit ska användas till att räkna de fyra räknesätten genom att används olika INPUT
Elev ska ladda ner programmet till micro:bit i den här övningen.
Programmeringsbegrepp:
Input (indata) är data som ges till programmet från användaren.Det kan till exempel vara en knapp som trycks ner eller en sensor som aktiveras. I programmet finns sen kod för vad som ska göras när input ges.
Matematik
I uppgiften används de fyra räknesätten.
Vid division kommer elev att titta närmare på decimaltal och hur de avrundas i micro:bit
I stället för , (kommatecken) används i programmering . (punkt) för decimaltal.
Först skapas två variabler som ska innehålla de siffror som ska beräknas. I exemplet har variablerna namnet Nummer A och Nummer B. I uppgiften visas hur variablerna sätts till värde 0 när programmet startas.

Därefter används block från blockkategorin Input till att ändra variablernas värden när knapp A resp Knapp B trycks.

Värdet på variablerna ändras för varje knapptryckning och det nya värdet visas på displayen.
För att sen kunna Addera de två termerna (variablerna) används ett block som finns i blockkategorin Matematik. Summan av de två talen kommer att visas på displayen när knapp A + B trycks in. Observera att på simulatorn kommer det att synas en ny knapp när input-blocket för knapp A + B används. Denna knapp finns inte på micro:bit men kommer fram på simulatorn då det inte går att trycka på två knappar samtidigt med musen på datorn. Om programmet laddas ner till micro:bit ska alltså båda knapparna tryckas ned samtidigt för att summan ska visas.
Koden för summa ser ut enligt nedan:

Det lila blocket som finns under blockkategorin Matematik kan ändras, genom att man klickar på den vita nedåt pilen bredvid plustecknet. Där finns olika räknesätt att välja på. Där finns även ** (två asterisker) vilket betyder Exponent (**).
Elev ombeds att skapa 3 nya input för de övriga tre räknesätten. Fler input finns att välja på om man drar ut blocket vid skaka (on shake) och klickar på den vita nedåt pilen.
När division används kommer du att se att micro:bit också använder decimaler. Istället för kommatecken ( , ) används punkt ( . )
Eleven uppmanas att skapa en division med oändligt många decimaler EX 1/3 eller 1/6 för att se hur många decimaler micro:bit anger i svar efter avrundning.
Micro:bit 3 Räkna steg och sträcka
För uppgiften behövs ett måttband eller annat att mäta med.
I det här programmet kommer elev att skapa en stegräknare som också beräknar hur lång sträcka användaren har gått beroende av antal steg och ett antagande att varje steg är 0.6 meter långt.
För att testa programmet behöver elev ladda ner programmet till en micro:bit
Programmeringsbegrepp:
Loop betyder att kod repeteras. Det kan finnas villkor för hur många gånger loopen ska köras.
Matematik
I uppgiften används längdenheter och begreppet genomsnitt
Inför det här uppdraget kan man prata om alla de appar som finns för att hålla koll på hur långt man gått, var man är och så vidare. Det kan vara lämpligt att diskutera smarta prylar med eleverna när man pratar om dessa appar. Som lärare kan man läsa mer om smarta prylar på Internetstiftelsen
Först skapas en variabel med namnet AntalSteg. Variabeln sätts till värdet noll vid start. Varje gång micro:bit skakas ska variabeln AntalSteg ökas med 1.

När användaren nu springer runt kommer variabel AntalSteg att öka med ett för varje steg. För att visa hur många steg som tagits används här när knapp A trycks och för att visa sträckan används när knapp B trycks. Båda dessa block finns i blockkategorin Input.
För att antal steg och sträcka ska visas fler än en gång kommer en loop att användas. i blockkategorin Loopar finns flera olika loopar. Den som används här är den första där man kan ange hur många gånger koden ska upprepas. För AntalSteg visas den 2 gånger

När knapp B trycks kommer koden att 4 gånger visa antal steg följt av texten meter. Siffran som visas skapas genom att en multiplikation görs med termerna AntalSteg och 0.6 meter.

Elev uppmanas att beräkna hur långa steg de själva tar genom att mäta längden av 10 steg och därefter ta ett genomsnitt av dessa steg.
Micro:bit 4 Multiplikation
I det här programmet kommer multiplikationstabell att visas på led displayen. Användaren anger vilken tabell den vill se genom att trycka på knapp A antal gånger som motsvarar vald tabell.
När knapp B trycks in kommer multiplikationstabellen att visas.
Visningen börjar med att faktor 0 multiplicerat med vald siffra och pågår upp till 10 gånger vald siffra. Anledning att multiplikationen börjar med 0 är att det loop block som används är konstruerat för att börja på 0. Det går att skapa kod för att komma förbi detta men här undviker vi att krångla till det.
Programmeringsbegrepp:
Loop betyder att kod repeteras. Det kan finnas villkor för hur många gånger loopen ska köras.
Här presenteras två olika loopar
Matematik
I uppgiften används begreppet faktor.
I texten i uppgift 4:1 används symbolen * (asterisk) för multiplikation
I texten för uppgift 4:2 används symbolen x för okänt tal
Elev skapar två variabler med namnen faktor1 och faktor2.
Vid start ska faktor1 ha värdet 0 och en text ska visas på displayen för att visa användaren att micro:bit är redo.
När knapp A trycks in ska faktor1 öka med ett för varje tryckning.

För själva beräkningen används en loop som repeteras från att faktor2 har värdet 0 tills faktor2 har värdet 10. Ökningen av faktor2 sker med med 1 för varje gång loopen körs. En paus på 100(ms) läggs in i loopen.

I övning 4:2 används en annan loop. Eleven ska då göra om koden så att samma resultat visas med annat program.
Hela koden för programmet visas nedan. Lägg märke till att faktor2 sätts till 1 vid start. Om elev väljer att sätta faktor2 till 0 vid start kommer loopen att behöva köras 11 gånger.

Micro:bit 5 Tärning
I det här programmet kommer en micro:bit att användas som en tärning. När micro:bit skakas på ska en slumpmässig siffra mellan 1 och 6 visas på displayen.
Programmet utvecklas sen till att visa antal prickar vilka motsvarar hur en riktig tärning ser ut.
Programmeringsbegrepp:
Villkor, som även kallas if-sats, är en programmeringsterm för att i ett program välja mellan olika alternativ. Det är ett logiskt uttryck för att avgöra om delar av programmet ska köras eller inte. Svaret som ges från ett villkor är antingen sant (true) eller falskt (false).
Koden som står i villkoret körs endast om villkoret är sant.
Matematik
I uppgiften används begreppen slumptal och heltal.
Med programmet kan man sen arbeta med medelvärde (genomsnitt)
Först skapas ett program som visar ett heltaltal, mellan 1 och 6 (inklusive), på displayen när micro:bit skakas.

För att kunna visa prickar på displayen så som tärningar visas behövs en variabel med namnet Siffra där det framskakade värdet lagras. I vid start sätts variabelns värde till noll.

I blocket välj slumpmässigt som finns i blockkategorin Matematik anges två tal. Det första talet anger vilket är det lägsta tal som variabeln kan anta och det andra talet anger vilket som är det högsta talet som variabeln kan anta. Alla heltal mellan dessa två tal ingår i det slumpmässiga urvalet.
I andra programmeringsspråk anger det andra talet att urvalet ska gå upp till, men inte inklusive, detta tal.
För att kunna visa olika bilder beroende av vilket tal variabeln får efter skakning behövs villkor. Villkoren ska säga att OM variabel har värdet 1 ska en prick visas på displayen osv. Välj blocket om sant då, annars som finns under blockkategorin Logik. Det behövs också ett jämförelseblock vilket visas längst ned på bilden ovan.
Blocket om sant kan utökas genom att klicka på plus som finns längst ner på blocket. Då det finns 6 olika tal som kan bli utfall av skakningen behövs 6 olika villkor. 1 Om, 4 annars om och 1 annars

Datorn läser koden uppifrån och ner. Så fort ett villkor är sant kommer den kod som finns efter villkoret att köras och programmet hoppar ut ur hela raden med villkor. Inget av de andra villkoren kommer att prövas. BARA ETT VILLKOR KAN VARA SANT.
I villkoren kontrolleras om variabeln siffra är lika med 1, annars om siffra är lika med 2 och så vidare. Det sista villkoret är annars och där behöver man inte ange vad siffra ska vara lika med då det endast finns siffran 6 kvar så det villkoret gäller alltså för siffran 6.
Programmet kan användas till att utföra ett antal tärningskast och med papper och penna beräkna genomsnittligt utfall.
Hela koden ser ut så här:

Micro:bit 6 Kompass
I det här programmet ska en kompass som visar väderstrecken Norr ( N ), Öster ( E ), Söder ( S ) och Väster ( W ) skapas. Anledningen till att bokstäver som används i engelska språket, för att beteckna väderstreck, används är att det inte går att använda Ö (öster).
Första gången magnetometern används på en micro:bit kan det komma upp ett meddelande, när koden förs över, som säger: TILT TO FILL SCREEN. Det är en kalibrering av magnetometern som ska göras. En led på displayen blinkar. Vinkla micro:bit i olika riktningar så att den led som blinkar flyttar sig och tänder alla andra led på displayen.
Programmeringsbegrepp:
Villkor, som även kallas if-sats, är en programmeringsterm för att i ett program välja mellan olika alternativ. Det är ett logiskt uttryck för att avgöra om delar av programmet ska köras eller inte. Svaret som ges från ett villkor är antingen sant (true) eller falskt (false).
Koden som står i villkoret körs endast om villkoret är sant.
Sekvens är en följd av steg som utförs en i taget i den ordning de skrivits. Varje steg utförs exakt en gång.
Matematik
Grader i vinklar och i ett helt varv.
Större än och mindre än och dess symboler
Kompassens indelning ska vara enligt bilden nedan

För den här koden kommer ett block som finns under blockkategorin input att användas. Blocket heter kompassriktning och kommer alltid att innehålla riktning i grader Celsius.
På baksidan av micro:bit finns ett magnetometer chip som mäter detta beroende av hur micro:bit vänds. När det här blocket används i kod kommer simulatorn i editorn att ändra sig lite så att man kan simulera grader genom att rotera följande figur:
En variabel skapas med namnet grader. I för alltid sätts variabelns värde till kompassriktning

I programmet är det viktigt att koden kommer i rätt ordning, Sekvens.
Först skapas villkoret för Norr ( N ). Bokstaven N ska visas när kompassriktningen är större än 315 grader eller mindre än 45 grader
För att skapa det villkoret används block från kategorin Logik. Följande block behövs för N. Två block som innehåller variabeln grader behövs också.

Sammansatta ser de ut enligt nedan

Eftersom det är fyra olika utfall som koden ska kunna få så behövs villkorsblock för dessa. Om ( if ) block kan utökas det genom att klicka på plustecknet längst ner på blocket. Det behövs ett om två annars om och en annars villkor.

Det finns olika sätt att skriva koden för de andra väderstrecken men här kommer vi att använda det faktum att villkoret ovan körs före och på så sätt ”fångar” upp ett antal grader som vi sen inte behöver ta hänsyn till i nästa villkor. Om grader har ett värde som ligger i det blå partiet på bilden över väderstrecken så kommer bokstaven N visas på displayen och programmet hoppar ut ur villkorssatsen. Endast ett villkor kan vara sant (true) och när det sker kontrolleras ingen av de andra villkoren.
På kompassen ser vi att väderstrecket Öst ( E ) ska vara mindre än 135 grader men större än 45 grader. Eftersom HELA det blå området redan har ”fångats” av första villkoret kan koden för E skrivas som:
annars om grader är mindre än 135 visa sträng E
Nu är hela det blå och det rosa området med i koden. Nästa villkor blir då för väderstrecket Söder ( S ). Här behöver vi bara sätta villkoret till den del av kompassen som är mindre än 225 grader. Det rosa och det blå området har redan ”fångats” av de två villkoren som finns ovanför i koden.
Villkoret för S kan skrivas som:
annars om grader är mindre än 225 visa sträng S
Nu finns bara ett villkor kvar och det är annars.
Eftersom alla områden förutom det gröna området är ”fångade” av koden innan kan man skriva koden för Väst ( W ) som:
annars visa sträng W
Hela koden för kompassen.

Micro:bit 7 Ljusnivå
Med micro:bit kan man mäta hur starkt det omgivande ljuset är. Micro:bit har inte en speciell ljussensor men använder led lampor som finns på displayen för att mäta nivån på ljuset.
Nivån anges i en skala från 0 till 255 där 0 är mörker och 255 starkt ljus.
Att intervallet ligger mellan 0 och 255 kan tyckas konstigt men det har att göra med det binära talsystemet. För att få eleverna att förstå detta kan man arbeta med binära tal inför den här övningen.
I dokumentet Att räkna med binära tal finns förklaring på hur du kan räkna med binära tal och skriva bokstäver med dem. Det finns en PDF med bilder att hänga på tavlan vid genomgång.
Om man använder 8 st ettor och nollor (en byte) kan man skriva tal från 0 till 255.
Om man använder 10 st ettor och nollor kan man skriva tal från 0 till 1023 vilket är ett annat vanligt intervall som används inom programmering.
För att mäta ljusnivå används ett block som finns i blockkategorin Input
Block med den här formen innehåller ett värde. I det här fallet kommer blocket alltid att innehålla senast avlästa värde på ljusnivån.
När blocket ljusnivå används i koden kommer ett nytt reglage att visas på simulatorn där man kan simulera olika ljusnivåer.
I programmet ska ljusnivån visas med en siffra när knapp A trycks in. När knapp B trycks in ska antal led som tänds på displayen öka ju högre ljusnivå som micro:bit mäter. Det mörklila blocket finns i blockkategorin Led. Det blocket gör att fler led tänds på displayen när det är ljusare. Grafen som ritas är inte direkt proportionell till mätvärde och antal led. När man har mätvärdet 128 så tänds 15 st led vilket borde vara 12-13 led.
Koden för programmet

Elev uppmanas att mäta ljusnivåer på platser med olika ljus.
Elev testar sen att byta input från ljusnivå till temperatur.
Temperaturen på micro:bit mäts av en termometer som finns i micro:bits processor. Processorn är datorns ”hjärna” och termometern finns för att kunna kontrollera så att processorn inte blir för varm, för då går saker i den sönder. Om elev håller fingret på processorn på baksidan av micro:bit kommer temperaturen att kunna bli missvisande. Du hittar var processorn sitter genom att titta på baksidan av micro:bit och följa strecket som går från texten processor.
Micro:bit 8 Radio
I det här programmet kommer elev att använda radio för att sända meddelanden mellan micro:bits. Om du vill veta mer om hur detta fungerar finns en video från MakeCode (på engelska).
I blockkategorin Radio finns de block som används till att sända mellan micro:bit. Först behöver man välja en grupp ( kanal ) som koden ska sändas över. De micro:bit som har samma grupp kommer att sända till varandra. Grupp väljs som ett nummer mellan 0 och 255.

Knapparna A och B ska användas för att sända meddelanden. I det här programmet kommer två olika meddelande att sändas. Ett nummer och en text. Texten som sänds ska visas på mottagarens display och när ett nummer sänds ska en ikon visas hos mottagaren. Blocket Rensa skärmen finns i blockkategorin grundläggande. När man klickat på kategorin syns more i kategorifältet. Där finns Rensa skärm.
Rensa skärm används här för att sändaren inte ska ha text eller bild på sin micro:bit. Om bild som tidigare mottagits ligger kvar kan man inte se när ny bild kommer.

Val av text som sänds kan elev välja själv. På uppgift sidan står att text ”får inte vara elak eller spydig! ”
Nummer som sänds kan vara vilket nummer som helst. Block för när text mottagits eller när nummer mottagits finns i kategorin radio.
Dra ut blocken när radio mottages recievedString och när radio mottages recievedNumber i programmeringsfältet. Blocket recievedString används för att tala om vad som ska ske när micro:bit tagit emot en text och recievedNumber används för att tala om vad som ska ske när micro:bit tagit emot ett nummer.

När text tas emot ska den texten visas på micro:bit. Visa sträng finns i kategorin grundläggande. För att få tag på blocket som innehåller texten kan du klicka på den röda delen av det lila blocket och dra ner en recievedString och placera den i visa sträng.
När micro:bit tar emot ett nummer ska vi visa en ikon. Här är ankan vald.

Om programmet nu laddas ner på två eller fler micro:bit kan meddelanden sändas från en till de andra.
Hela Programmet:
