Hvor fort blir melken varm i Python, Excel og Geogebra
Aktivitet 1 – Innhente data (måle temperatur)
For å måle temperatur på melk på kjøkkenbenken, så benytter jeg meg av en trådløs måler fra Pasco. Jeg benytter meg av python til å skrive et program som automatiserer målingen for meg.
Under ser du en kode til et program som lager en fil, “temp.dat”, som inneholder 15 målinger tatt med 60 sekunders mellomrom. La oss gjennomføre målingen, for deretter å hente den inn i Excel for å preparere tallene litt.
Dersom du ikke har en slik temperaturmåler tilgjengelig, så kan du bruke tabellen til høyre, eller måle med et manuelt termometer.
Verdiene som hentes fra måleren bruker punktum som desimalskille. Det er fordi tallet skrives på engelsk, men koden bytter ut punktum med komma slik at det passer inn i en “norsk” Excel. Fila som lages heter “temp.dat”, og kan åpnes i f eks notisblokk.
Det er også mulig å hente verdiene inn i Excel med verktøyet “import”, men det enkleste er nok bare å kopiere fra notisblokka.
#-----------------------------
ANT = 15 # Hvor mange målinger skal utføres?
SEK = 60 # Hvor mange sekunder mellom hver måling
TMP_ID = '889-606'
#------------------------------
from pasco import PASCOBLEDevice
import time
temp_sensor = PASCOBLEDevice()
temp_sensor.connect_by_id(TMP_ID_1)
liste = []
for i in range(ANT):
temp_value = temp_sensor.read_data('Temperature')
print("Temperatur:", temp_value)
liste.append(temp_value)
time.sleep(SEK)
# Vi skriver dataene til en fil
with open("temp.dat","w") as file:
for temp in liste:
file.write(str(temp).replace(".", ","))
file.write("\n")
print("Ny fil opprettet: temp.dat")
temp_sensor.disconnect()
Aktivitet 2 – Gjøre om verdier slik av vi kan drive regresjon
Verdiene vi har fått er temperaturer fra ca 5 grader og opp mot 8 grader. Vi vet at temperaturen skal opp mot romtemperatur, hvis vi hadde fortsatt å måle i mange minutter fremover, men dette vet ikke Geogebra.
Sammenhengen er eksponetiell, men som vi vet så vil regresjon med eksponentielle funksjoner i Geogebra lage funksjoner som enten går mot uendelig, eller mot null. Dersom vi skal klare å lage en funksjon på denne sammenhengen, så må vi kalibrere verdiene våre.
Vi tenker at differansen mellom romtemperatur og melken starter på -17, dvs romtemperatur på 22 grader og melken på 5 grader. DENNE differansen skal gå mot null, så vi må lage en funksjon som viser utviklingen av differansen mellom romtemperatur og melketemperatur.
La oss bruke Excel til å kalibrere disse verdiene:
Aktivitet 3 – Regresjon i Geogebra
Nå har vi et datasett som viser 15 observasjoner som beskriver differansen mellom romtemperatur og melketemperatur. La oss bruke regresjon i geogebra til å finne et funksjonsuttrykk som beskriver denne sammenhengen også lenger enn i 15 minutter.
Klarer vi å lage en funksjon som viser den faktiske temperaturen, og ikke bare differansen i temperatur?
Aktivitet 4 – Presentere funksjon med pyplot
Vi kan benytte Python til å tegne funksjoner. Pyplot er en funksjon som finnes i biblioteket ‘matplotlib’, og er egentlig ganske greit å bruke.
Vi må da lage en verditabell i form av to lister; en for x-verdier, og en for y-verdier.
Deretter kan vi be pyplot om å tegne funksjonen for de verdier vi har lagt inn.
Oppgave til etterarbeid!
blabla
DigitAbel – for dypere læring