Selvvannende plante med micro:bit

La elevene lage og programmere sine egne, smarte løsninger for hus og hjem. I dette eksempelet lager vi en selvvannende plante styrt av micro:bit.

microbitplante.png

Selvvannende potteplante styrt av micro:bit

Selvvannende potteplante styrt av micro:bit

Creative Commons Licence

Innledning

Dette opplegget er et eksempel på hvordan elevene kan løse et hverdagsproblem ved hjelp av elektronikk og programmering. Vi bruker her eksempelet selvvannende plante, men opplegget kan gjøres som et generelt opplegg der inndata fra en kilde (her: fuktighetssensor) brukes til å programmere en handling (her: vannpumpen starter). Det kan også gjøres ved hjelp av andre mikrokontrollere, f.eks. Arduino og Raspberry Pi. 

Læringsopplegget passer godt i valgfagene Programmering og Teknologi og praksis i ungdomsskolen, men kan også gjennomføres i naturfag og kunst- og håndverk. 

Slik gjør du

1. Definer problemet elevene skal løse

Begynn gjerne med å ha en idémyldring om problemet eller la elevgruppene definere sine egne problem Begrensningen kan være hva slags utstyr som er tilgjengelig. 

I dette eksempelet er problemet definert: potteplanten i klasserommet visner fordi ingen husker å vanne den. Løsningen er å programmere micro:biten til å starte vanning når fuktigheten kommer under et visst nivå. 

2. Skissefase

Elevene beskriver hvordan løsningen skal virke, inkludert logisk hvordan programmet skal virke. I dette eksempelet kan de tegne en modell for hvordan den elektroniske kretsen skal kobles med data inn fra sensor og kommando til vannpumpe. 

Beskrivelsen av hvordan programmet skal virke kan være:

1) Hent inn data fra sensor. 2) Hvis dataverdi er mindre enn kritisk verdi, start vannpumpe. 3) Kjør vannpumpe til dataverdi større enn kritisk verd. 

3. Bygg prototype 

Elevene får utfolde seg med materialer og elektronikk for å komme opp med en mulig løsning på problemet.  Her må de tenke på hvordan produktet skal se ut og henge sammen.

I eksempelet vårt må følgende ting henge sammen: 

  1. Kobling fra en fuktighetssensor til en av kontaktene på micro:biten, for eksempel kontakt P0. Denne kontakten blir inndata-kontakt der vi får inn data om hvor fuktig det er i potteplantens jord.
  2. Kobling fra en av kontaktene på micro:biten (for eksempel P1) til vannpumpen. Denne kontakten blir utdata (output) som starter vannpumpa når det trengs vanning. 
I tillegg trenger vi en vanntank eller tilsvarende, i vårt tilfelle rekvirerte vi vannbeholderen fra en gammel kaffemaskin. 
 

4. Skriv programmet

Elevene kan gå til microbit.org og velge "JavaScript Blokkeditor" for å komme til et enkelt programmeringsgrensesnitt i nettleser. 

Koden til en selvvannende plante kan for eksempel se slik ut: 

Skjermbilde 2017-03-20 kl. 18.17.55.png

Blokkbasert programmering av en selvvannende plante med Micro:bit

Kode til den selvvannende planten

Creative Commons Licence

Her leses verdien fra kontakt P0 (fuktighetssensor) som gir et tall mellom 0 og 1023. Tallverdien vises på skjermen hvert 10. sekund. Hvis verdien er mindre enn 400, så skrus vannpumpa (P1) på i 10 sekunder.  

Åpne koden til den selvvannende planten i JavaScript blokkeditor. 
 

5. Feilsøke og forbedre

Fungerer løsningen slik det var tenkt? Er det rom for forbedring i utforming og programkode?  

6. Dokumentere og presentere løsningen

Elevene dokumenterer og presenterer løsningen. Dette kan inkludere det fysiske produktet, designskisser,  programkode og forklaring av hvordan koden virker. Elevene kan gjerne presentere ideer til videreutvikling og forbedring av produktet sitt. 

Mål

Relevante kompetansemål fra programmering valgfag: 

Mål for opplæringen er at eleven skal kunne

  • omgjøre problemer til konkrete delproblemer, vurdere hvilke delproblemer som lar seg løse digitalt, og utforme løsninger for disse
  • utvikle og feilsøke programmer som løser definerte problemer, inkludert realfaglige problemstillinger og kontrollering eller simulering av fysiske objekter
 
 

Utstyr

Hver elev eller elevgruppe trenger: 

  • En micro:bit og digital enhet å programmere på
  • En sensor til å måle fuktighet (evt. lage sin egen)
  • En vannpumpe (evt. lage sin egen)
  • Ledninger og/eller krokodilleklemmer

utstyrplante.png

Bidle viser Microbit, vannpumpe, fuktighetssensor og krokodilleklemmer

Microbit, vannpumpe, fuktighetssensor og krokodilleklemmer

Creative Commons Licence

Forberedelse

Det er en fordel om elevene har prøvd programmering av Micro:Bit tidligere, se for eksempel læringsopplegget "Kom i gang med micro:bit"

Tips

Opplegget egner seg godt elevsamarbeid i par dersom dere har nok micro:bits. 

I programmeringsfaget kan elever som trenger større utfordringer programmere i et annet, gjerne tekstbasert, programmeringsspråk. De kan også bli bedt om å videreutvikle produktet til å ta hensyn til andre forhold (for eksempel lysforhold og temperatur). I tillegg kan de lage løsninger for varslinger dersom systemet svikter (tomt for vann i tanken etc). 

Det er eksempler på nett der man lager sine egne sensorer og pumper. Dette er både billigere for skolen,  mer utfordrende for elevene og egner seg godt i tverrfaglige prosjekter med for eksempel naturfag. 

Oppgaveforslag

Hvor åpen oppgaven kan gjøres, kommer an på hva slags utstyr som er tilgjengelig og hvilket nivå elevene er på. Et eksempel på en semi-åpen oppgave til elevene kan være:

  • Definer et problem i hverdagen, som kan løses med programmerbar elektronikk. 
  • Basert på utstyret som er tilgjengelig skal dere designe, lage og programmere en løsning på det valgte problemet. Løsningen skal inneholde en mikrokontroller/micro:bit som får inn data fra en sensor og bruker denne dataen til å gjøre noe som løser problemet deres. 
  • Dere skal lage en prototype og kunne presentere løsningen og forklare programkoden for andre.

Vurdering

Et læringsmål for oppdraget kan for eksempel være: 

  • Eleven kan utvikle og feilsøke en programmerbar løsning for definerte problemer.
 
Kjennetegn på høy måloppnåelse: 
  • Eleven har laget et fysisk produkt og skrevet et program som løser et definert problem på en god måte.
  • Eleven gjør rede for hvordan løsningen fungerer,  forklarer hvilke valg som er tatt underveis, og argumenterer for disse.  
  • Eleven kan oppdage feil i kode og samt korrigere feilen.
  • Eleven vurderer eget program i forhold til om det er en god løsning på problemstillingen, og foreslår mulige forbedringer
  • Eleven beskriver utviklingsprosessen av programmet, inkludert idéfase, koding, testing, feilsøking og forbedring.
  • Eleven har dokumentert løsningen sin på en slik måte at den kan gjenskapes av andre.

Evaluering av opplegg

Lag et læringsopplegg

Har du gjennomført et læringsopplegg i skole eller barnehage som andre pedagoger kan ha interesse av? Del det gjerne på denne siden.

Relaterte opplegg

Relaterte blogginnlegg

  • Historiefortelling og programmering med Project Spark

    På 8. trinn på Fagerhaug Oppvekstsenter har vi denne våren et pilotprosjekt på bruk av Project Spark som et pedagogisk hjelpemiddel for å nå kompetansemål i engelsk og valgfaget "Teknologi i praksis" for ungdomstrinnet. En stor suksess for teknologi-sultne og kreative elever.
  • Rom for læring - kreativ sone

    Jeg trodde programmering og IKT handlet mye mer om installering og kjedelige PC-ting, men det er mye mer interessant – det er mange flere muligheter.
  • Koding, Bee-Bot og 4 åringar

    Vad är en robot frågar Elin? Det är en sak som går och låter "eeek eeek eeek" 4 åringen rör armarna fram och tillbaka.

Finn oss på sosiale medier