Her er Danmarks fem bedste CIO’er lige nu:Se de fem nominerede til prisen som Årets CIO 2024

Artikel top billede

(Foto: Computerworld)

Her får du dine børn i gang med sjov programmering

Programmering er en sjov og kreativ oplevelse. Det kan det også blive for dine børn eller børnebørn, hvis du giver dem et BBC micro:bit V2-kort med tilbehør – det er supernemt, og det koster blot 200 kroner at komme i gang.

Af Michell Cronberg, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Som læser af AOD er der ret stor sandsynlighed for, at du har samme interesse for it som denne artikels skribent. Du er måske også den person, man ringer til, hvis et eller andet computer-relateret kikser. Derfor vil det også give god mening, hvis det er dig, som prøver at give stafetten videre til børn i familie- eller vennekredsen og måske inspirerer et barn til en fremtid i it-branchen.

Så til næste fødselsdag, jul eller ”bare fordi” du skal have den perfekte inspirationskilde med som gave, lyder opfordringen herfra: Du skal give barnet en helt bestemt gave, nemlig en BBC micro:bit version 2. Det vil koste dig nogle få hundrede kroner og lidt konsulenttid.

En micro:bit er en lillebitte controller på størrelse med et halvt kreditkort, ja faktisk er det et kort uden egentligt kabinet. Med denne enhed kan man, uden erfaring eller viden om programmering, skabe mange forskellige spændende og sjove projekter for på den måde at blive lidt klogere på både programmering og elektronik. Med lidt held kender barnet allerede til micro:bit fra skolen, hvor den første version af kortet blev distribueret til alle fjerdeklasser for nogle år siden.

På kortet sidder en 64 MHz ARM Cortex-M4 fra Nordic med 512 kB flash og 128 kB ram. På fronten findes 25 små lysdioder, der kan bruges som visuelt output, to knapper samt en touchknap. På bagsiden findes et stik til tilslutning af USB og batteri, mikrofon, temperatur- og bevægelsessensor, Bluetooth- og radio-forbindelser samt en lille højttaler. I bunden af kortet findes 19 GPIO-porte, som kan bruges til flere typer af digital input og output samt analogt input.

Nem at programmere

I modsætning til andre kendte microcontrollere, for eksempel Arduino, er det tydeligt, at micro:bit er rettet mod skolebørn. Den er supernem at programmere, og man kan lige så nemt efterfølgende overføre den kompilerede kode til enheden. 

De helt unge kan foretage en nem og simpel visuel programmering ved hjælp af Microsoft MakeCode direkte i en browser.

De første projekter

Det er en intuitiv og effektiv brugerflade, som giver mulighed for brug af træk og slip-blokke til at skabe et program. Den kommer oprindelig fra Googles Blocky-projekt, som også bruges mange andre steder. Samtlige elementer relateret til programmering, sensorer og porte er tilgængelige som blokke, og det er nemt eksempelvis at vise den aktuelle temperatur på LED-displayet, når der klikkes på en knap. 

MakeCode og de indbyggede sensorer er klart det, som adskiller micro:bit fra andre lignende controllere. Det er så nemt, at selv små børn kan kode en avanceret funktionalitet, samt flashe den kompilerede version af koden til kortet – enten fra en computer via USB eller en mobiltelefon via Bluetooth. Børnene behøver ikke have nogen viden om kode eller kompilering, men alligevel lærer de om iterative og procedurale elementer som brug af variabler, betingelser, løkker og funktioner. 

Abstraktionsniveauet neden under MakeCode er decideret kode, og her er også mange muligheder. Direkte supporteret er TypeScript, JavaScript og Python, som enten kan editeres direkte i browseren eller ved hjælp af en separat editor. Skridtet fra visuel programmering til ”rigtig” programmering er dermed meget simpelt og logisk.

Som nævnt bør der følge noget konsulenthjælp med gaven for lige at få barnet sat i gang, og den bedste måde er at udvikle et par ”Hello world”-projekter sammen. Enheden er så billig, at du kan købe to og lege med den ene selv, inden du giver den anden væk.

Der er inspiration at hente på microbit.org, men prøv eksempelvis et projekt, som blot handler om at få enheden til at sige en lyd, når der klikkes på den ene knap, og vise et ikon, når der klikkes på den anden knap. Du kan vælge at skabe koden i en browser eller på mobiltelefonen – sidstnævnte med en micro:bit-app. 

Når programmet med blokke er skabt (se figur 1) kan koden kompileres og overføres til enheden. Hvis du har skabt koden i en browser (hvilket jeg vil anbefale), så kan koden flashes til enheden ved blot at klikke på en Hent-knap og gemme den kompilerede kode på det drev, som micro:bit har gjort tilgængeligt gennem USB. Fra telefon eller tablet sker det via Bluetooth, hvilket efter min erfaring er en lidt ustabil metode. 

Under alle omstændigheder: Prøv det hjemmefra, så du er sikker på, at du kan få det til at virke. En af de største pædagogiske katastrofer er at skulle udbryde ”Det burde altså virke” – især over for en 10-årig. 

Så kan legen begynde! Micro:bit er i al sin enkelhed blot et kort – her ser du begge sider.

Flere projekter

Det næste projekt kunne være en simpel terning, der viser en værdi mellem et og seks som et tal, når enheden bliver rystet. Se figur 3, hvor programmet er kodet visuelt, og figur 2, hvor samme applikation er kodet i Python.

Afhængigt af barnets alder og erfaring kunne projektet måske udvides med at vise værdien af terningen som billede i stedet for et tal (brug af betingelser), at vise værdien af to terninger (løkker) eller give mulighed for at ”snyde” ved at klikke på en knap, inden der rystes (variabler og betingelser).

En rigtig god gave kunne være selve enheden, en simpel ”Hello world”-session samt otte ugentlige udfordringer med tilhørende løsning og support. Så hjælper man også barnets forældre, som ellers hænger på support. Det tager ikke så lang tid at udvikle simple udfordringer, og det er faktisk ret sjovt at tosse rundt med en micro:bit som voksen. Der er naturligvis masser af inspiration at finde på nettet. Udfordringerne kunne eventuelt lægge sig op ad DR’s ultra:bit, som er en samling udsendelser rettet til børn om micro:bit. Se boksen med links. 

Det gode ved micro:bit er, at der kan skrues op for niveauet af nørderi, og det kan trækkes så langt, at de færreste kan følge med.

Man kan vælge at skifte fra visuel programmering eller Python til det langt mere avancerede C eller C++, men der er også store projekter relateret til brug af Rust og ADA. I andre mere eller mindre obskure open source-projekter kan sprog som Go, Pascal, C# og F# også bruges. Rå assembler er naturligvis også en mulighed, da der jo i sidste ende er tale om en ARM-processor.

Mulighed for udvidelser

Selve enheden kan også udvides gennem de mange GPIO-porte, og det giver mulighed for at lege med alle mulige former for sensorer, step-motorer og displays. Yderligere kan den bruges til at få en forståelse for basal elektronik uden brug af loddekolbe ved at skabe elektroniske kredsløb med dioder, transistorer, modstande, kondensatorer eller andre microcontrollere og kontrollere disse gennem en micro:bit. Igen er der masser af inspiration at hente på nettet (se links).

Der kan naturligvis også købes en masse tilbehør til en micro:bit – fra ekstra display og sensorer til deciderede robotter. Hvis man bevæger sig ud i leg med eksterne komponenter, vil jeg kraftigt anbefale et såkaldt ”breakout board”, som gør det nemmere at arbejde med de mange GPIO-porte.

En micro:bit er gaven til barnet, der har alt, men husk at købe en til dig selv også. Du vil blive overrasket over, hvor nemt og underholdende det er, og måske er det også din vej ind i en verden af microcontrollere. 

3 forslag til micro:bit-programmer

Figur 1: Et simpelt ”Hello world”-program lavet i Microsoft MakeCode.

Figur 2: En micro:bit-terning – denne gang kodet i sproget Python.

Figur 3: En micro:bit-terning programmeret i Microsoft MakeCode.

Så meget koster den

BBC micro:bit V2 kan købes mange steder til en pris på cirka 140 kroner for kortet alene. Men som gave anbefaler vi et Starter Kit til omkring 200 kroner. Det indeholder også batteri og USB-kabel.

Skabt til britiske skolebørn

Oprindelig var micro:bit et BBC-projekt, der var skabt for at introducere britiske skolebørn til it. Den første version af micro:bit blev lanceret i 2016 og var baseret på en 16 MHz ARM-processor. I 2021 blev kortet opdateret med bedre hardware samt indbygget touch-sensor, mikrofon og højttaler. Projektet er i dag drevet af et konsortium med BBC, universiteter samt virksomheder som ARM og Microsoft. 

Gode links til inspiration:

https://microbit.org – Det officielle website med masser af information om micro:bit.

https://github.com/carlosperate/awesome-microbit  – En af de bedste lister med links til alle mulige micro:bit-ressourcer.

https://www.dr.dk/skole/ultrabit – DR Ultra har lavet en fin serie om micro:bit.