Opgave 8

Spis chokolade i smug

Hvordan ved køleskabet, at det skal tænde lyset, når du åbner lågen?

Og kan man programmere det til at lukke døren automatisk, hvis man glemmer det? I denne opgave bruger du crash sensoren og servomotoren fra dit ultra:bit Smart Home Kit til at lave automatiske lys- og lukkefunktioner i en æske pålægschokolade. Så kan du smug-spise i mørke, når resten af familien er gået i seng. Du kan også tømme chokoladeæsken og putte noget andet hemmeligt i den.

Der er faktisk masser af muligheder for at gøre alle mulige slags skabe i et hus intelligente. Det kan både spare strøm – og gøre det nemmere at holde orden, når man kan se, hvad der er bagest på hylderne. I opgavehæftet til dit Smart Home Kit bruger vi et eksempel med et klædeskab til denne øvelse. Du kan sikkert selv finde på mange flere ting at bruge det til.

Trin 1

Sådan kobler du
komponenterne sammen

Sensor:bit
P1: Regnbue LED
P2: Crash Sensor
P7: Servomotor

Øvrige tilslutninger:
Batteriholder

Trin 2

Opstart

2.1

Indsæt “ved start”
fra Grundlæggende menuen.

2.3

Indsæt “servo skriv pin”
fra Pins menuen. Sæt P7 (kun skrivning) til 180.

2.2

Indsæt ”sæt pull pin til” under mere fra Pins menuen. Sæt P2 til op.

2.4

Opret en variabel kaldet “Dør” under variabler menuen. Vælg herefter “sæt dør til” fra variabler menuen og sæt til -1.

Trin 3

Indstil komponenterne

Indsæt “for altid”
fra Grundlæggende menuen.

Indsæt “0=0“ under comparisons fra Logik menuen i stedet for <sand>.

Indsæt “sæt dør til” fra Pins menuen og erstat “0” med ”0x0” fra matematik menuen.

Indsæt en ny “hvis <sand> så / Ellers” fra Logik menuen INDE i den eksisterende.

Erstat første “0” med “dør” fra variablemenuen og sæt andet “0” til “1”.

Træk ”sæt range til strip range from 0 with 4 leds” fra Neopixel menuen ind ved siden af din kode. Du skal KUN bruge den blå del. Den skal du trække ud og sætte ind i stedet for ”strip” – før ”show color red” (slet resten af “sæt range til”)

Træk ”sæt strip2 til Neopixel at pin P0 with 24 leds as PGB (GRP format)” fra Neopixel menuen ind ved siden af din kode. Du skal igen KUN bruge den blå del.

Indsæt ”servo skriv pin” fra Pins menuen, og vælg ”P7 (kun skrivning)” og ”0”.

Kopiér “Neopixel at pin”, ”servo skriv pin” og ”pause” kommandoerne fra før, og sæt dem ind som vist på billedet. De kopierede kommandoer skal placeres under “ellers” og “show color” ændres til “black”

Indsæt “hvis <sand> så / Ellers”
fra Logik menuen.

Erstat første “0” i “0=0” med “digital læs pin” fra Pins menuen og sæt til P2.

Erstat første “0” i det indsatte matematik komponent, med “dør” fra variabel menuen. Sæt andet nul til “-1”

Indsæt “0=0“ under comparisons fra Logik menuen I stedet for <sand>.

Indsæt “strip show color” fra Neopixel menuen. Sæt til “white”, så du får hvidt lys i garderoben.

Nu skulle strengen foreløbig se sådan her ud.

Markér KUN den blå del, og træk den ind i din kode i stedet for ”strip”. Sæt til “P1” with “1” leds, og “range from 0 with 1 leds”. (slet resten af “sæt strip2 til”).

Indsæt ”pause” fra Grundlæggende menuen, og indstil til 2000 ms.

Nu er du klar til at teste din kode

Den endelige kode ser sådan ud:

Er der noget, der driller?

Er der noget, der driller? Tjek, om du har husket det hele, og prøv igen. Eller download den færdige kode her.

Flere forsøg med lys-, åbne- og lukkefunktion

Kan du komme i tanker om andre ting i dit mini-hus eller på dit værelse, hvor du kan bruge lys- og lukkefunktionerne?
Kan du få den til at afspille en lyd, når lyset tændes eller døren lukkes?

Flere billeder af forsøget