Introduktion
Når du er færdig med lektionen:
- Har du lært om milli og mikro sekunder.
- Ved du hvad tilfældighed er og hvordan du kan bruge det.
- Kender du din reaktionstid.
- Kan du bruge kodeblokke som "pause", "variabler" og "vent".
Klik her, her for at få hjælp til at finde kodeblokke.
Få startet godt op
Først skal micro:bitten og computeren forbindes (paires)
For at gøre det, kan du vælge mellem at følge vores step by step guide, eller se videoen nederst:
Step 1
Forbind din micro:bit til din computer med USB-kablet.
Step 2
Åben Google Chrome browseren, for at være sikker på, at det hele virker som i denne guide.
Gå ind på https://makecode.microbit.org/beta
Tryk "nyt projekt" og kald dit projekt "Reaktionstid".
Step 3
Slet kodeblokken "for altid", så du kun har "når programmet starter". Det gøres ved at trække den ud til venstre.
Step 4
Indsæt "vis LED'er" og vælg dit eget ikon som vist på billedet.
Step 5
Overfør programmet til din micro:bit ved at trykke på knappen med de 3 prikker:
Tryk derefter "par enhed" 2 gange.
Nu vil din micro:bit blive vist, som på følgende billede. Du skal nu connecte din micro:bit. Det gøres ved at trykke på BBC micro:bit og trykke connect.
Tryk på den micro:bit der skal connectes og tryk derefter "connect".
Step 6
Hent nu din kode ved at trykke "Hent".
Step 7
Nu bør du kunne se dit ikon på din micro:bit. Hvis den ikke er der, eller du ikke kunne connecte din micro:bit, så spørg en sidemakker og eller din lærer om hjælp.
Nu har du sat din micro:bit op, følg den næste guide for at lave dit reaktionstidspil.
Lav et spil med reaktionstid
Introduktion
I denne guide skal du læse "læs" stykkerne og selv lave det der står under "step".
Du skal i denne step by step guide lave dit eget spil. Spillet handler om at være den første til at trykke på sin knap ("A" eller "B"), når et kryds bliver vist på micro:bitten.
- Så f.eks. har Anne knap "A" og Peter har knap "B".
- Når krydset bliver vist, trykker de begge så hurtigt de kan.
- Den der er hurtigst til at trykke, får et point. Point tæller man selv på et stykke papir.
LÆS: Pause funktion med millisekunder og mikrosekunder
I dette forløb skal du bruge en funktion, der laver en pause og en ventetid. Tiden i pausefunktionen er ikke angivet i sekunder, men i millisekunder(ms), som vist på billedet.
Når der f.eks. står, at det er en pause på 1000 millisekunder(ms), så betyder det, at der er en pause på 1 sekund. 2000 millisekunder(ms) ville så være 2 sekunder osv. Du skal altså gange den tid du vil holde pause i sekunder med 1000, for at få tiden i millisekunder.
Step 1
Vi skal lave et program, der når micro:bitten starter, først pauser koden i mellem 1-10 sekunder (tilfældigt), hvorefter et ikon (eks. et v) vises på micro:bitton.
LÆS: Tilfældig værdi
Da vi skal lave et spil, hvor vi skal se hvem, der har den bedste reaktionstid, så skal det være tilfældigt, hvornår krydset vises, så man ikke kan forudse, hvornår man skal trykke på knappen.
Derfor bruger vi en funktion fra MakeCode, der tager en tilfældig værdi i millisekunder fra 0-10000. Det svarer til en tilfældig tid på 0-10 sekunder.
Her kan du læse mere om tilfældighed
Step 2
Når der trykkes på knap “A”, så skal LED’erne vise et 1-tal, når der trykkes på knap “B”, så skal LED’erne vise et 2-tal.
Step 3
Sæt en “vent” funktion ind efter 1-tallet eller 2-tallet er blevet vist med LED’erne. Ventetiden skal være på 3 sekunder:
LÆS: Vent funktionen
Denne gang skal du bruge "vent" og ikke "pause":
Det er dog ikke længere målt i millisekunder, men i mikrosekunder. Her vil 1 millisekund svare til 1000 mikrosekunder og 1 sekund ville derfor svare til 1.000.000 mikrosekunder, altså én million mikrosekunder.
Funktionerne bruges for at have kontrol over, hvor lange pauser man holder i sit program. F.eks. hvis man vil have noget til at tage et bestemt stykke tid, såsom at få en lysdiode til at lyse i 3 sekunder.
Step 4
Hvorfor skal der bruges vent og ikke pause?
Det er nu din opgave at teste hvorfor der skal bruges vent og ikke pause. Undersøg dette ved at bruge pause i stedet for vent og se hvad forskellen er, når du bruger programmet.
Step 5
Du har nu lavet et program, hvor du kan dyste imod en af dine venner i hvem, der har den hurtigste reaktionstid.
Find en ven og spil imod bedst af 5, så du kan finde ud af, hvem der har den bedste reaktionstid
Step 6 - Ekstraopgave
Hvis du har tid til det, så prøv at lav denne opgave
Brug en sensor på micro:bit’en til at genstarte programmet i stedet for, at du selv skal genstarte programmet hver gang.
Step 7 - Færdig
Nu skal du programmere dit eget program til at måle din reaktionstid, løs nedenstående opgaver.
Der er 2 forskellige niveauer. Start med opgave 1 og lav derefter opgave 2.
Opgave
Har du en hurtigere reaktionstid end gennemsnittet?
Den gennemsnitlige reaktionstid for et menneske er på mellem 150-250 ms, hvor hurtig er du?
Lav opgaven og test din reaktionstid - det er en god ide at lave opgaven i et nyt projekt.
Lav en timer:
a) Du skal lave en kode, så når man trykker på “A”-knappen, er der først en kort pause på 1-10 sekunder (tilfældigt - se billedet nedenfor).
b) Efter pausen skal et ikon (eks. et kryds) vises på skærmen. Ikonet viser hvornår reaktionstiden begynder at blive målt.
c) Begynd at mål reaktionstiden.
Lav nu en ny variabel og kald den “start”. I variablen vil vi gemme den tid der er gået, siden micro:bitten blev tændt og indtil nu. Den tid kaldes "køretid" (se billedet nedenfor).
*Hint, læs dette leksikon om variabler, for at finde ud af hvad det betyder.
Find din reaktionstid:
d) Lav en kode, så når man trykker på “B”-knappen, bliver tiden der er gået fra micro:bitten blev tændt og til vi trykkede på "B" knappen, gemt i en variabel vi kalder "slut"
e) Du skal nu finde ud af hvor lang tid der er gået fra at ikonet bliver vist og til du trykkede på "B" knappen, husk at:
- I variablen "start" har vi gemt hvor lang tid der var gået fra micro:bitten blev tændt og til ikonet blev vist (eks. 5 sekunder).
- I variablen "slut", har vi gemt hvor lang tid der var gået fra micro:bitten blev tændt og til vi trykkede på "B" knappen (eks. 7 sekunder).
Ved at trække "start" tiden (eks. 5 sekunder), fra "slut" tiden (eks. 7 sekunder), finder vi den tid der er gået mellem dem, dvs. reaktionstiden, eks.:
- "slut" (7 sekunder) - "start" (5 sekunder) = reaktionstid (2 sekunder).
Den tid kan vi gemme i en variabel vi kalder "reaktionstid".
f) Tilføj en "vis nummer" blok til koden, og få reaktionstiden vist på micro:bitten.
Få reaktionstiden vist i sekunder:
g) Din reaktionstid bliver lige nu vist i millisekunder (ms), hvordan kan vi vise det i sekunder?
Husk at der går 1000 millisekunder, på 1 sekund.
Lav dine egne udvidelser:
h) Lav din egen udvidelse til programmet og få en klassekammerat til at læse koden og gætte hvad programmet gør.
Brug din egen knap:
a) Nu skal du stort set genbruge koden fra step by step guiden eller fra opgave 2 og så lave det med hardware. Tag din micro:bit og put den i firefly’en og sæt den ned i et breadboard.
b) Sæt derefter en knap til pin 0, som vist på billedet.
c) Gør det samme for pin 1, med en anden knap et andet sted på breadboardet.
d) Genbrug koden fra opgave 1 eller opgave 2 og i stedet for når man trykker på knap “A” og/eller “B”, så brug p0 og p1, som vist på billedet.