Computational thinking i HF
Jeg har valgt at investere et NF-biologi modul i Computational Thinking (CT). HF’ere er ikke den nemmeste gruppe at arbejde med (hvilket gør dem interessante), men måske er CT særlig relevant for HF’erne, som i dag sigter mod de mellemlange uddannelser.
Som forberedelse, har klassen arbejdet med klassiske økologiske begreber, bl.a. vækstkrav herunder lysfarver. I en række forsøg med karse, har vi varieret lyset mellem hvid, blå, rød, grøn og ingen lys. Resultaterne var ikke så overbevisende, men eleverne fandt hurtigt ud af sammenhængen mellem klorofyls absorptionsspektrum og vores forventninger til resultater.
Moderne industrielle drivhuse opererer med sensorer, der følger bl.a. lys, fugt, temperatur og næringsstofmålinger, og med en række aktuatorer til fx vanding, næringsstof-dosering, lysfarver og høst. Det kan vi ikke lave på skolen, men en mindre udgave i form af et lille indendørs bed med krydderurter, som eleverne kan spise af ved deres frokost. Et lignende system kendes fx fra IKEAs cafeteria.
Dataopsamling er en del af NF, og vores CT overbygning er “blot”, at følge dataene i en algoritme, og dermed bruge dem til andet end teoretisk analyse. Jeg forsøgte at lave et meget simpelt setup i form af en potteplante-vander: En fugtmåler i jorden opsamler data, sender dem til en Arduino, som tænder en pumpe, når fugtigheden bliver for lav.
Kredsløbet
Arduinoens digitale pins giver ikke nok strømstyrke til at starte pumpen (en kapacitor kan måske hjælpe?), det gør dens 5V pin til gengæld. Derfor brugte vi en transistor (det røde board) til at tænde/slukke pumpen.
Fugtighedsmåleren til venstre måler hvor meget strøm, den kan sende mellem de to ben. Hvis den står med konstant spænding i bare let fugtig jord, bliver den hurtigt nedbrudt via diverse redox-processer. Derfor ville jeg gerne styre spændingen på fugtighedsmåleren med en digital pin. Den løsning valgte jeg hurtigt at droppe, for at give eleverne et så simpelt system som muligt. Grupperne fik desuden udleveret tre bægerglas med hhv. vand, fugtig jord og ingenting.
Jeg har ikke udstyr eller overblik til at arbejde med en hel klasse, men havde samlet komponenter og computere til tre grupper a ca. 4 elever. Jeg valgte skolens computere, for at være sikker på forbindelsen mellem Arduino og PC og for at spare tid (selvfølgelig begyndte den ene PC at opdatere i timen) på at installere Arduino IDE (måske virker CodeBender stadig?).
Jeg havde skrevet en lang fin hardcopy instruktion med spørgsmål, som eleverne ignorerede:
De kiggede på et billede af kredsløbet (hvilket godt kunne være lidt mere entydig) og gik i gang.
Det er som sædvanligt svært for eleverne, at samle et kredsløb korrekt. Jeg kunne godt tænke mig, at undersøge hvad problemet er. Måske er de ikke opmærksomme på at der er forskel på pins/ben. Eller tildele roller, så en dikterer, en udfører og en kontrollerer. Måske kan en simplere MCU fx Micro:bit eller Hummingbird hjælpe?
Resten af klassen skulle arbejde med formidlingsopgaver hhv. en poster om systemet og et google-site, mere mere information om systemet, https://sites.google.com/view/krydderurter/startside. Det var få, der kom i mål med det.
Det er et bærende princip i CT, at eleverne ikke altid skal bygge systemer helt fra bunden, men ofte skal modificere et eksisterende system. Jeg havde skiftet min oprindelige ide fra blokprogrammering til at eleverne skulle arbejde med tekstprogrammering.
Udsnit af koden
Eleverne ignorerede de 20 linjer kode fuldstændigt og kom først videre, når jeg kom forbi og instruerede i de videre skridt. Jeg overvejer hvordan man kan komme klarere omkring instruktionen, fx gå tilbage til blokprogrammering eller prøve en platform, som kun kan vise én side ad gangen, og først går videre, når siden er løst (pro-tip fra kollega).
Deres opgave var bl.a. at registrere fugtighedsdata i hhv. luft, vand og fugtig jord, indtaste værdien fra fugtig jord i koden og uploade koden til Arduino-enheden (skal instruktionen være så kort?). Det lykkedes to af grupperne, og de var ret entusiastiske omkring at sætte hele systemet op, som også blev forsynet med tidsindstillet LED lys i rød og blå:
Efter en kort efterfølgende snak med eleverne, havde jeg indtryk af, at de synes det var interessant, og at der var overraksende mange, som havde lavet noget lignende i folke- eller efterskole.
Da eleverne var gået, tilføjede jeg lige en ekstra fugtighedsmåler til systemet, så begge målinger skal vise tørhed, før pumpen starter, idet een måler er for følsom for støj, løse forbindelser og pilfingre. (ved to fugtighedssensorer, skal den ene strømforsynes fra en digital pin og den anden til 5/3,3V for at undgå at de forstyrrer hinanden).
Desuden sikrede jeg, at slangen fra pumpen endte over vandoverfladen i vand-reservoiret, da den omvendt situation vil resultere i, at hævert-effekten vil hive alt vandet over til planterne første gang pumpen tænder.
En anden gang vil jeg introducere vand meget senere -pumpen kan sagtens tænde uden der er vand tilstede, og flere af Arduino’erne blev lidt våde, hvorfor vi ikke kunne uploade ny kode til dem.
Forløbet var sjovt og lærerigt, og jeg synes principielt, at det er noget af det simpleste og stadig brugbare jeg kan lave. Jeg betragter dette, som et forsøg på at få det praktiske til at fungere, for på sigt at få mere fokus på principperne herunder de samfundsmæssige konsekvenser og algoritmen (fx gennem et algoritme-spil). Der er stadig langt til det sted hvor CT integreres gnidningsfrit i min undervisning.