Byg en slikalarm med micro:bit – spøgelset fniser, når låget åbnes
Læg en micro:bit i din slikæske. Når nogen åbner låget, kommer der lys ind, og et spøgelse dukker op og fniser. Bagefter kan du se, hvor mange gange æsken er blevet åbnet.

Har du fået slik til Halloween? Så byg en alarm, der holder øje med det. micro:bittens LED-skærm kan nemlig også måle lys. Inde i en lukket æske er der mørkt. Når nogen åbner låget, kommer der lys ind – og så viser micro:bitten et spøgelse og fniser. Med knap A kan du se, hvor mange gange æsken er blevet åbnet, mens du ikke kiggede.
Før du starter
Du skal bruge en micro:bit V2, fordi lyden kommer fra den indbyggede højttaler. V2 har en lille højttaler på bagsiden. Har du en micro:bit V1, kan du stadig lave alarmen: fjern bare blokken med lyden, så viser spøgelset sig uden at fnise.
MakeCode viser blokkene på dansk, hvis din browser er sat til dansk. Her står det engelske navn først og det danske i parentes.
Sådan gør du
- Åbn MakeCode, og lav et nyt projekt, der hedder Slikalarm.
- Klik på Variables (Variabler), og lav fire variabler: taerskel, aaben, antal og lys. Skriv dem uden æ, ø og å, ligesom i koden.
- Sæt “set taerskel to 30” (“sæt taerskel til 30”) ind i “on start” (“når programmet starter”). taerskel er grænsen mellem mørkt og lyst. Du finder det rigtige tal i trin 7.
- Byg resten, så det ligner oversigten “Blokkene” herunder. Du skal bruge “forever” (“for altid”), “light level” (“lysniveau”), “show icon” (“vis ikon”) med spøgelset, “play … until done” med lyden “giggle” (“fnis”), “pause (ms)”, “clear screen” (“ryd skærmen”), “on button A pressed” (“når der trykkes på knappen A”) og “show number” (“vis nummer”). Brug søgefeltet over kategorierne, hvis du ikke kan finde en blok.
- Fra Logic (Logik) skal du bruge “if … then … else” (“hvis … så … ellers”), “and” (“og”), “not” (“ikke”), “true” og “false” (“sand” og “falsk”) og sammenligningerne < og >. Tryk på ⊕ nederst på hvis-blokken, indtil den har en række med “else if” (“ellers hvis”). En tom “else” gør ikke noget.
- Klik på Download (Hent), og læg koden over på micro:bitten. Sæt batteripakken til.
- Find det rigtige tal til taerskel: hold micro:bitten op i rummet, og tryk på B. Skærmen viser, hvor lyst der er. Læg så hånden helt over LED-skærmen, og tryk på B igen. micro:bitten måler, i det øjeblik du trykker, så du kan godt fjerne hånden for at se tallet. Vælg et tal midt imellem de to målinger, skriv det i “set taerskel to”, og download igen. Fniser spøgelset, mens du måler, er det helt i orden.
- Byg slikæsken: find en æske med låg, fx en skotøjsæske, og pynt den som et græskar eller et spøgelseshus. Læg micro:bitten og batteripakken i bunden med LED-skærmen opad, og læg slikket ved siden af.
- Luk låget, vent et øjeblik, og åbn det igen. Fniser spøgelset? Tryk på A for at se, hvor mange gange æsken er blevet åbnet. Tallet starter forfra, hvis micro:bitten bliver slukket.
Blokkene
on start
set taerskel to 30
forever
set lys to (light level)
if <not aaben> and <lys > taerskel> then
set aaben to true
change antal by 1
show icon (ghost)
play (giggle) until done
pause (ms) 1000
clear screen
else if <aaben> and <lys < taerskel> then
set aaben to false
pause (ms) 100
on button A pressed
show number (antal)
on button B pressed
show number (light level)Samme program i MakeCode Python
Skift fra Blocks (Blokke) til Python øverst i MakeCode for at se koden. Du kan også gøre det omvendt: skriv Python-koden, og skift til Blocks – så bygger MakeCode blokkene for dig.
# SLIKALARMEN: micro:bitten ligger i æsken med LED-skærmen opad
taerskel = 30 # skift tallet, når du har målt lyset med knap B
aaben = False # er låget åbent lige nu?
antal = 0 # hvor mange gange er æsken blevet åbnet?
def on_button_pressed_a():
basic.show_number(antal)
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
basic.show_number(input.light_level())
input.on_button_pressed(Button.B, on_button_pressed_b)
def on_forever():
global aaben, antal
lys = input.light_level()
if not aaben and lys > taerskel:
aaben = True # låget er lige blevet åbnet
antal += 1
basic.show_icon(IconNames.GHOST)
music.play(music.builtin_playable_sound_effect(soundExpression.giggle), music.PlaybackMode.UNTIL_DONE)
basic.pause(1000)
basic.clear_screen()
elif aaben and lys < taerskel:
aaben = False # låget er lukket igen
basic.pause(100)
basic.forever(on_forever)Sådan virker det
- “light level” giver et tal fra 0 (helt mørkt) til 255 (meget lyst). Den første måling efter start er 0, fordi lyssensoren lige skal tænde. Det gør ikke noget her, for 0 betyder bare “lukket”.
- Variablen
aabenhusker, om låget allerede er åbent. Uden den ville spøgelset fnise igen og igen, så længe låget står åbent. Nu fniser det kun én gang, hver gang låget bliver åbnet. - Når lyset kommer under
taerskeligen, er låget lukket, ogaabenbliver falsk. Så er alarmen klar igen. antaltæller op, hver gang låget bliver åbnet, og knap A viser tallet.
💡 Har du ikke din micro:bit ved hånden? Prøv koden i simulatoren til venstre i MakeCode. Når koden bruger “light level”, kommer der en gul og sort cirkel øverst på simulatoren. Træk i den for at gøre der mørkt eller lyst.
💡 Til forældre: Læg gerne micro:bitten i en lille, gennemsigtig pose, så den ikke bliver klistret – lyset kan stadig komme igennem. Har I ingen micro:bit, så spørg på skolen eller biblioteket, om I kan låne en.
Vil du lave mere med micro:bittens sensorer? Byg en lampe, der reagerer på lyd, eller tag forløbet micro:bit – fra første blink til robot.
🧠 Udfordring – prøv selv
Lav en hemmelig kode: når du trykker på A og B på samme tid ("on button A+B pressed"), skal alarmen slå fra én gang, så du selv kan tage et stykke slik. Tip: lav en variabel, der hedder "hemmelig", og tjek den, før spøgelset fniser.
Fluebenet gemmes kun i din browser og samler stempler i dit kodepas.
👩🏫 Til læreren – brug projektet i undervisningen
- Fag
- Natur/teknologi, Matematik, Fysik/kemi
- Klassetrin
- 4.–7. klasse
- Tid
- 2 lektioner à 45 min
- Teknologiforståelse
- Teknologisk handleevne, Computationel tankegang, Digital myndiggørelse
Læringsmål
- Eleverne kan bruge micro:bittens LED-skærm som lyssensor og vælge en grænseværdi (tærskel) ud fra deres egne målinger.
- Eleverne kan bruge en variabel, der husker, om låget er åbent, så alarmen kun reagerer én gang, hver gang låget åbnes.
- Eleverne kan tælle hændelser med en variabel og vise resultatet.
- Eleverne kan teste alarmen i æsken og forklare, hvorfor den kan reagere forkert.
Forberedelse og materialer
- Pr. makkerpar: micro:bit V2, batteripakke med 2 AAA-batterier og USB-kabel. Lyden kræver V2. På en V1 fjernes lydblokken, så virker resten.
- En æske med låg pr. gruppe, fx en skotøjsæske, og papir, farver og tape til at pynte den.
- Test MakeCode og download på skolens computere. Uden micro:bits kan eleverne bruge simulatoren, hvor man trækker i lysniveauet.
- Har skolen regler om slik, så læg noget andet i æsken, fx viskelædere eller klistermærker.
Forslag til forløb
- Intro (10 min): Hvordan kan en micro:bit "se", at et låg bliver åbnet? Vis lysniveauet med knap B, og hold hånden over skærmen.
- Byg programmet (30 min): Eleverne laver de fire variabler og bygger blokkene eller Python-koden.
- Find tærsklen (15 min): Eleverne måler lyst og mørkt med knap B, vælger et tal midt imellem og downloader igen.
- Byg og test æsken (25 min): Grupperne pynter æsken, lægger micro:bitten i og tester: fniser spøgelset én gang pr. åbning, og tæller knap A rigtigt?
- Opsamling (10 min): Hvorfor er variablen aaben nødvendig? Hvad skete der, når lyset i lokalet ændrede sig?
Differentiering
- Hvis det går hurtigt: Eleverne laver en hemmelig kode med A+B, der slår alarmen fra én gang (projektets udfordring).
- Hvis det driller: Start uden variablen aaben, så spøgelset vises, når lyset er over tærsklen. Lad eleverne opdage, at det bliver ved med at fnise, og tilføj variablen sammen med dem.
Spørgsmål til samtale
- Alarmen holder øje med æsken, også når I ikke er der. Hvornår er det i orden at overvåge noget, og hvornår er det ikke?
- Rigtige alarmer kan også give falsk alarm. Hvad kan få jeres slikalarm til at tage fejl, og hvad betyder det, når en rigtig alarm gør det?
- Hvor i hverdagen sidder der sensorer, der reagerer på lys, fx i lamper, telefoner eller døre?
Lærerarket er vejledende og skrevet af CodingKids. Se også EMU's materialer om teknologiforståelse.