Klicka på bilden för att se video

Programmera ett dörrlarm

Lektionen handlar om att låta eleverna programmera algoritmer för att de ska lära sig styra tekniska system och öva på programmering i teknik.

Måns Jonasson, Internetstiftelsen, har arbetat fram materialet som en del av Digitala lektioner.

Se lärarinstruktioner

Lektionens syfte

Syftet med lektionen är att låta eleverna programmera algoritmer för att lära sig styra tekniska system och öva på programmering, samt att ge dem förståelse för användningen av algoritmer i tekniska system i vår vardag.

Förkunskapskrav

En förutsättning för att göra denna övning är att eleverna har grundläggande kunskaper i hur blockprogrammeringsverktyget* Scratch fungerar som programmeringsspråk. Här hittar du lektionsserien ”Introduktion till att programmera med Scratch” som passar både lärare och elever som är ovana vid programmering.

Denna lektion förutsätter att eleverna är bekanta med begreppet algoritmer, gärna genom att först ha genomfört lektionen ”Undersök och diskutera algoritmer”.

Förberedelser

Tänk på att det är viktigt att förmedla att programmering handlar om att prova, testa och göra om. Misstag och fel är nödvändiga delar för att kunna lösa problem. Prata gärna om begreppet bugg genom att använda material från lektionen ”Buggar eller fel vid programmering”.

Genomförande

Titta på produktionen i Scratch tillsammans med eleverna och låt dem sedan remixa produktionen för att skapa en algoritm som löser uppgiften. Uppgiften går att lösa med eller utan koppling till fysisk hårdvara i form av Makey Makey.

*Blockprogrammeringsverktyg är ett verktyg där eleverna arbetar med programmering genom att använda block som sammanfattar kodsnuttar i ”vanlig” kod. Scratch är utvecklat av MIT – Massachusetts Institute of Technology.

Se läroplanskoppling

Centralt innehåll i ämnet teknik (årskurs 7-9)

Arbetssätt för utveckling av tekniska lösningar

  • Tekniska lösningar som utnyttjar elektronik och hur de kan programmeras.
  • Teknikutvecklingsarbetets olika faser: identifiering av behov, undersökning, förslag till lösningar, konstruktion och utprövning. Hur faserna i arbetsprocessen samverkar.
  • Hur digitala verktyg kan vara stöd i teknikutvecklingsarbete till exempel för att göra ritningar och simuleringar.
  • Programmering i olika programmeringsmiljöer.
  • Egna konstruktioner där man tillämpar principer för styrning och reglering, bland annat med hjälp av programmering.

Lektionen

Visa i klassrumsläge

1 Lektionsdel 1:

Hur kan algoritmer appliceras i vardagen?

Instruktioner

Diskutera i grupper.

I lektionen ”Undersök och diskutera algoritmer” liknas en algoritm vid ett recept. En serie instruktioner som ska följas, med flera olika vägar till ett eller flera slutresultat.

Diskutera hur algoritmer styr vår vardag. Var finns recepten i datorstyrda objekt i klassrummet? I hemmet? På stan?

Frågor att besvara

  1. Vilka andra sätt att beskriva en algoritm finns utöver liknelsen ”recept”? Fundera på vad av följande som skulle kunna beskrivas som en slags algoritm:
    • En instruktionslapp från IKEA för att montera en möbel.
    • En spännande äventyrsroman.
    • Det senaste avsnittet av en dokusåpa.
  2. Vilka prylar i klassrummet har algoritmer inbyggda? Hur går de att beskriva?
    • Har ni en projektor i klassrummet? Vilka funktioner har den? Är den programmerad?
    • Har ni miniräknare på matematiken ibland? Är de programmerade?
    • Har ni en jordglob i klassrummet? Är den programmerad?
  3. Varför är algoritmer nödvändiga för att ett tjuvlarm ska fungera?
2 Lektionsdel 2:

Diskutera hur ett larm kan behöva programmeras för att fungera

Instruktioner

Diskutera i grupper eller par.

Diskutera

Ett enkelt inbrottslarm kan bestå av en krets som antingen är sluten eller bruten. Om kretsen är sluten är dörren eller fönstret stängt, om kretsen bryts kan vi anta att något har hänt som har gjort att dörren eller fönstret öppnats.

Fundera på varför ett modernt inbrottslarm kan behöva programmering och algoritmer för att fungera.

  • Hur skulle ett ”smart larm” skilja sig från ett ”dumt larm”?
  • Vad händer om en dörr öppnas när någon redan är hemma?
  • Vad mer skulle kunna hända som gör att det behövs programmering av larm?

Fundera på hur ett inbrottslarm kan vara en del i ett större tekniskt system, exempelvis kopplat till ett larmbolag eller liknande.

3 Lektionsdel 3:

Konstruera en elektrisk krets som kan slutas och öppnas med hjälp av aluminiumfolie

Instruktioner

Använd helt vanlig aluminiumfolie för att skapa en krets som kan brytas och slutas. Anslut batterier och en LED-lampa för att testa kretsens funktion.

 

  • Notera att det kan vara svårt att få tillräckligt bra kontakt för att lampan ska lysa konstant.
  • Konstatera att så fort kretsen bryts, slutar lampan att lysa.
  • Testa hur lätt eller svårt det är att få till en stabil krets, till exempel genom att tejpa fast lampans ben mot folien.
4 Lektionsdel 4:

Flytta kretsen till en dörr eller ett fönster

När aluminiumfoliekretsen fungerar och du förstått hur den fungerar kan den monteras på en dörr eller ett fönster, eller något annat som går att öppna och stänga, till exempel en bok. Placera folieblecken på varsin sida om det som öppnas, och slut kretsen på ena sidan med hjälp av LED-lampan.

Målet är att kretsen ska slutas och lampan börja lysa när kretsen är stängd. När boken öppnas bryts kretsen och lampan slutar att lysa.

  • Se om det är svårt eller lätt att skapa en driftsäker krets, utan att lampan flimrar eller blinkar när boken är stängd.
  • Experimentera med olika slags monteringar eller form på folieblecken för att skapa en driftsäkrare montering.
5 Lektionsdel 5:

Anslut kretsen till en Makey Makey för att programmera larmkretsen

Instruktioner

Med hjälp av ett kit från Makey Makey eller någon annan lösning för att simulera ett tangentbord via fysiska anslutningar kan kretsen nu kopplas in till datorn. När kretsen sluts genereras en tangentbordstryckning till datorn, som kan användas i Scratch för att se om dörren är öppen eller stängd. Koppla kretsen så att den trycker på mellanslagstangenten (Space).

Remixa Scratch-projektet för att lösa uppgiften.

OBS: Det går också att lösa denna uppgift utan Makey Makey, använd mellanslagstangenten för att simulera kretsen och fokusera på att lösa programmeringsuppgifterna.

Använd Scratch-projektet ”Programmera ett dörrlarm” som grund för att programmera ett effektivt larmsystem. Så länge mellanslagstangenten på datorn är nedtryckt kommer dörren i projektet att förbli stängd. När kretsen bryts släpps mellanslagstangenten upp, och dörren öppnas så dina bin kan flyga ut.

  1. Förändra koden i projektet så att dörren inte öppnas om kretsen bryts av misstag, på grund av korta glapp.
  2. Bygg en funktion för att låta larmet bli allt mer intensivt ju längre larmet går.
  3. Bygg en funktion för att låta larmet bli allt mer intensivt för varje gång larmet går.

Du kan skapa en variabel för att räkna antalet gånger som larmet gått. Du kan också skapa en annan variabel för att lagra volymen eller tonhöjden på larmtonen, för att kunna förändra den när larmet gått flera gånger.

6 Lektionsdel 6:

Avslutande reflektion

Instruktioner

Reflektera i helklass genom att diskutera frågorna nedan.

Diskutera tillsammans.

  • Hur behöver tekniska system vara programmerade för att uppfylla praktiska behov?
  • Vilka fel eller buggar kan uppstå i larmkretsens program och konstruktion som en programmerare behöver tänka på?
  • Kan larmkretsen eller programmet göras mer effektivt från grunden än i denna övning?
  • Vid vilket steg i programmet skulle det vara lämpligt att till exempel automatiskt larma ett vaktbolag eller polisen?
7 Lektionsdel 7:

Extrauppgift: Programmera ett larmsystem i Javascript

Instruktioner

Scratch är en utmärkt miljö för att lära sig programmeringslogik. För en mer avancerad nivå kan den här övningen vara ett bra alternativ.

Javascript-övningen går att köra i en dator med webbläsare. Övningen är framtagen av Mikael Tylmad, författare av läromedel i Javascript.

Har du synpunkter på IIS Digitala lektioner?

Hör av dig till oss! Vi tar gärna emot idéer till nya lektioner och tankar om hur tjänsten borde utformas.

Kontakta oss