Microbit kasse

Solsikke

clock 240 min
user 7. - 9. klasse
Middel
I dette forløb skal du bygge og programmere en solsikke med en Micro:bit, 2 LDR og en servomotor. Solsikken vil dreje i den retning hvor der er mest lys.
Materialeliste
Det skal du bruge:

Introduktion

Når du er færdig med lektionen:

  • Kan du tilkoble en Micro:bit til DragonTail
  • Kan du gennem kode få en servomotor til at køre
  • Kan du bygge en solsikke som bevæger sig ud fra en lys kilde 
  • Kan du programmere en hændelse der skal ske når værdier ændrer sig

 

Når man ser solsikker i naturen, kan man observere at blomsten følger solen fra øst til vest.  Jagten efter solen øger solskikkens vækst.

Solsikke hovedet vokser i takt med en talrække kaldet Fibonacci. Denne talrække kan også findes mange andre steder i naturen.

Fibonacci talrækken er bygget op som her: 0, 1, 1, 2, 3, 5, 8 osv.

Tallene i rækken, er summen af de to foregående tal plusset sammen, som så giver det næste tal i rækken fx: 2 + 3 = 5 eller 3 + 5 = 8. 

Hardware

Du skal nu bygge to forskellige dele, et kredsløb og en solsikke som til sidst skal sættes sammen for lave en solsikke der kan bevæge sig i lysets retning.

 

Byg solsikken

De materialer der er vist på billedet behøver ikke være ens i farve eller størrelse, så længe det er muligt at bygge noget der minder om en solsikke.

 

Step 1

Her er et eksempel på materialer der kan bruges til at lave en look-a-like solsikke.

Tuscher i fx. sort og grøn, hvidt papir, brun karton, orange eller gule post-it notes, tape og en saks.

(LEGO skal bruges til at bygge en fod til servomotoren senere)

IMG 3191 scaled

 

Step 2

Først, tag et stykke hvidt papir og rul det stramt på den korte led, så det bliver en cylinderform og tape kanten så den holder formen.

Roll the paper

 

Step 3

Farvelæg det rullede papir med en grøn farve, så det ligner en blomster stilk.

farvet rulle

 

Step 4

Tag nu et nyt stykke hvidt papir og klip en firkant der er ca. 10 x 10 cm.

papir maal 10x10 1

 

For at bestemme antallet af blomsterblade solsikken skal have, skal du finde det næste tal i Fibonacci talrækken: 0, 1, 1, 2, 3, 5, 8,  ?,

Hvad er ?

 

Klip nu det antal blade du har udregnet, ved at klippe strimler i en post-it note (step 1-2).

Den side med klister på, skal placeres på den hvide firkant så det til sidst ligner en blomst (step 3-4).

post it notes solsikke

 

Step 5

Tag nu et stykke brunt eller sort karton og marker med en blyant en lang oval formet figur på ca. 14 x 8 cm (step 1).

Klip figuren ud (step 2).

Fold figuren på midten (step 3).

For at få noget der ligner (step 4-5) kan du bukke hver af de runde ender op til den foldede midte så den danner en solsikkekerne.

maal bean

Tape solsikkekernen på blomster bladene så den høje kant på kernen er placeret i midten af solsikken, så det ligner et blomster hoved (som vist på billedet).

IMG 3213 scaled

 

Step 6

Nu skal blomsterhovedet sættes fast på stilken.

Fold et stykke tape og placer blomsterhovedet i den ene ende af stilken, som vist på billedet. Det er vigtigt at "skillevæg" på solsikkekernen er lodret ligesom stilken.

done flower

Du har nu bygget en solsikke og er klar til at bygge hardware kredsløbet.

 

Byg Kredsløbet

Step 1

  1. Opsæt kredsløbet som på billedet nedenfor
  2. Sæt Micro:bit i DragonTail så LED skærmen på Micro:bit'en vender opad 
  3. Dernæst lav en tilpas lang sammenkobling af ledninger der skal bruges til LDRen (du kan brug han/hun og hun/hun)
  4. Den ene ledning skal gå fra LDRen og ned i P0 på DragonTail (den blå ledning)
  5. Den anden ledning til VCC

one LDR

 

Step 2

  1. Gentag og kopier step 1 som vist på billedet nedenfor 
  2. Den anden LDR skal sættes i P2 på DragonTailen (den blå ledning)

(Den ene LDR opfanger lys på højre side af solsikken, og den anden LDR opfanger lys på venstre side)

JAr jar

 

 

Step 3

Nu skal du sætte en servomotor til kredsløbet, den sorte ledning skal til minus “-”, den orange/røde skal til 3V og den gule til P1 som vist på billedet. 

Hele hardwareopsætningen ses herunder:

full curcuit

 

 

 

Hele opsætningen

Nu har du de to dele af opsætningen: kredsløbet og solsikken, og disse skal nu sættes sammen for at lave det færdige setup.

Step 1

Byg en LEGO platform med en bred bund som kan holde servomotoren fast. (Der kan bruges noget foldet papir eller lignende til at sætte motoren i spænd hvis LEGO'et ikke er nok)

byg Lego platform

 

Step 2

Tape nu to (han/hun eller hun/hun) ledninger på hver side af den høje kant i solsikkehovedet som vist på billedet (Step 1).

Sæt en LDR ned i de to ledninger (Step 2).

solsikke LDR tape

 

Step 3

Sæt nu solsikken på servomotoren (fx. med tape, clips eller lignende) som er tilkoblet hardware kredsløbet og tilslut din Micro:bit til din komputer via hvide lille kabel.

full hardware setup

 

Software

Introduktion

Du skal i denne step by step guide programmere en solsikke som bevæger sig i lysets retning. 

Programmeringen foregår i Makecode.

 

Tilkobling af Micro:bit

Før du kan begynde at programmere din solsikke, skal du have sat din Micro:bit op til at modtage din kode fra komputeren

Step 1

Åben en internet browser og gå ind på MakeCode: https://makecode.microbit.org/# 

Klik “Nyt projekt ” og giv projektet et navn fx. “Solsikke”.

Klik derefter på “Opret”.

nyt projekt button

 

Step 2

For at connecte din Micro:bit, skal du klikke på de tre prikker og klik “Connect device”.

connect m

 

Step 3

Forbind din Micro:bit til din komputer med USB-stik og klik "Næste".

connect m naeste 1

 

Step 4

Nu vil din Micro:bit blive vist, som på følgende billede.

Du skal nu connecte din Micro:bit.

Skaermbillede 2022 10 28 134051

Vælg “BBC micro:bit CMSIS-DAP” og klik “Opret forbindelse”.

Skaermbillede 2022 10 28 134413

 

Step 5

Din Micro:bit er nu forbundet til din komputer, og du kan klikke “Færdig” .

forbundet faerdig

Du kan nu påbegynde næste step som er programmeringen af solsikken.

 

 

Programmering af Solsikken

Programmeringen af solsikken er delt op i to dele.

Første del er programmering af "når programmet starter" blokken og den anden del er programmering af "for altid" blokken.

Programmering af “når programmet starter” blokken

Step 1

Når programmet åbnes så ser det sådan ud, og du er nu klar til at programmere.

Program start

 

Step 2

I kodemenuen skal du nu klikke på “Variabler” og oprette en ny variabel.

opret var

 

Step 3

Kald variablen “Grænseværdi” og klik “Ok”.

var name graesevaerdi

 

Step 4

Du kan nu se din oprettede variabel "Grænseværdi" under “Variabler”.

var i menu

 

Step 5

Træk blokken med “sæt Grænseværdi til 0” over i kodeområdet i “når programmet starter” blokken.

Ændrer grænseværdi fra 0 til 35.

NY NY graensevaerdi 35

 

Step 6

Opret endnu en variabel i "Variabler".

Kald den “Motorværdi” og klik ”Ok”.

var Motorvaerdi

 

Step 7

Træk nu blokken med “sæt Motorværdi til 0” over i kodeområdet i “når programmet starter” blokken.

Ændrer Motorværdi fra 0 til 75.

Motorvaerdi 76

 

Step 8

I kodemenuen skal du nu finde “Avanceret” og udvid den ved at klikke på den.

Advanced udvid

 

Step 9

Klik nu på “Pins” og træk blokken “servo skriv pin” over i kodeområdet nederst i “når programmet starter” blokken.

Ændrer P0 til P1 i “servo skriv pin” blokken.

Step 9

 

Step 10

Find igen “Motorværdi” i Variabler og indsæt den i stedet for “0” i “servo skriv pin” blokken.

Step 10

Vi er nu færdige med "når programmet starter" blokken og fortsætter videre til "for altid" blokken.

 

Programmering af “for altid" blokken

Step 1

Klik på “Logik” i kodemenuen, og træk “hvis” blokken over i “for altid” blokken i kodeområdet.

2.1

 

Step 2

Åben “Logik” igen, og træk den viste blok fra sammenligning over i “hvis” blokken og erstat “sand” blokken.

2.2

 

Step 3

Åben avanceret i kodemenuen og find “Pins”.

Under “Pins” træk “analog læs pin” over i kodeområdet så det erstatter de to “0” i “hvis” blokken.

Du skal også huske at sætte den første pin til “P0” og den sidste pin til “P2”.

2.3

 

Step 4

Lav en ny variabel i “Variabler”

Kald variablen “Udregning” og klik “Ok”.

2.4

 

Step 5

Træk “sæt Udregning til 0” over i “hvis” blokken i kodeområdet.

2.5

 

Step 6

Klik nu på “Matematik” i kodemenuen og træk “0 - 0” blokken over i “sæt Udregning til” blokken.

2.6

 

Step 7

Klik på “Pins” i kodemenuen og træk “analog læs pin” over i “sæt Udregning til” blokken i kodeområdet så de erstatter “0”.

Du skal huske at sætte den første “analog læs pin” til “P2” og den sidste pin til “P0”.

2.7

Step 8

Klik på “Logik” i kodemenuen og træk en ny “hvis” blok over i kodeområdet under “sæt Udregning til” blokken.

2.8

 

Step 9

Åben “Logik” igen, og træk den viste blok fra sammenligning over i “hvis” blokken, så den erstatter “sand” blokken.

2.9

 

Step 10

Find variablerne “Grænseværdi” og “Udregning” i Variabler og erstat “0” som vist på billedet.

2.10

 

Step 11

Gå i “Variabler” i kodemenuen og træk “sæt Udregning til” blokken over i nederste “hvis” blok.

11 NY

Du skal også ændre “Udregning” til “Motorværdi” i “sæt Udregning til” blokken ved at klikke på den lille pil ved siden af udregning.

2.11

 

Step 12

Klik på “Matematik” i kodemenuen og træk “0 + 0” blokken over i “sæt Motorværdi til” blokken.

step 12 NEW

 

Step 13

I “sæt Motorværdi til” blokken skal du nu indsætte variablen “Motorværdi” i "Matematik" blokken og ændre det sidste “0” til “5” som vist på billedet.

2.13

 

Step 14

Klik på “Pins” i kodemenuen og træk blokken “servo skriv pin” ind under “sæt Motorværdi til” blokken.

Ændrer pin værdien fra P0 til P1

2.14

 

Step 15

I samme blok erstat “180” med variablen “Motorværdi”.

2.15

 

Step 16

Du har nu programmeret den ventre side af solsikken og nu skal den højre side progammeres.

For at lave den venstre side, skal du nu klikke på den yderste “hvis” blok, så den er markeret med gul farve.

Højreklik på den med din mus og “Dupliker” blokken.

2.16

 

Step 17

Indsæt den duplikerede blok under den anden “hvis” blok, som vist på billedet.

2.17 2.17.5

 

Step 18

Lav nu en ny variabel i “Variabler”

Kald den “Udregning2” og klik “Ok”.

2.18

 

Step 19

Indsæt “Udregning2” på “Udregning” pladserne i den duplikerede “hvis” blok.

2.19

 

Step 20

I den duplikerede “hvis” blok skal du ændre + til - ved at klikke på den lille pil i “Sæt Motorværdi til” blokken.

2.20

 

Step 21

Du skal nu ændre de første 4 “analog læs pin” værdier i den duplikerede “hvis” blok som vist på billedet.

(De skal være omvendt i rækkefølge i forhold til  den øverste blok)

2.21

 

Step 22

Find “pause (ms)” blokken under “Grundlæggende” i kodemenuen, og indsæt den under  og udenfor “hvis” blokkene.

Husk at ændre værdien i blokken fra 100 til 200.

2.22

 

Step 23

Du er nu færdig med at programmere solsikken! ヾ(⌐■_■)ノ♪

(Dit program skal nu se sådan her ud)

2.23

Der er nu to store blokke som minder om hinanden, da vi har 2 LDR.

Den ene blok er til den venstre LDR og den anden til den højre LDR.

2.24

 

Step 24

Klik på "Hent", for at downloade din kode til Micro:bit'en.

Du er nu klar til at prøve din færdige Solsikke.

Hent NY

Brug Solsikken

Introduktion

Når du har bygget og programmeret din solsikke er den klar til brug.

Find en lommelygte eller lommelygten på din telefon frem og lys på skift på de 2 LDR for at få den til at følge din lyskilde og dreje til højre og venste.

Alternativt kan man holde en finger for den ene LDR og solsikken vil dreje væk fra din hånd da den vil søge derhen hvor der er mest lys.

 

Step 1

Sørg for at have MakeCode åben i browseren og at din Micro:bit er forbundet som i afsnittet Opsætning af Micro:bit.

 

Step 2

Du er nu klar til at prøve dit system med en lyskilde.

 

Ekstra opgaver 

Opgave 1

Prøv at ændre den ene servomotor styrke værdien fra 5 til fx. 10, 15 eller 20, og test hvordan solsikken bevæger sig igen. Reflekterer over servomotor værdien og dens indflydelse på solsikkens bevægelsesmønster.

opgave 1 screenshot servovaerdi

Opgave 2

Forklar kort for hinanden i gruppen, hvordan solsikken opfører sig og hvilke matematisk elementer der er relevante. 

 

Opgave 3

Du har tidligere sat en grænseværdi på 35, og du har en udregning der afhænger af lys inputs fra LDR’erne. Overvej hvornår denne del af koden aktiveres.

opgave 3