Skip to content

Aktivnost

Max - min termometar

Srednji | MakeCode, Python | LED zaslon, Senzor temperature, Tipke | Iteracije, Measurement, Relacijski operatori, Senzori, Temperatura, Varijable, Vrijeme & klima

1. korak: Napravi

Što je to?

Prati rast i pad temperature tako što ćeš micro:bitov program pustiti da stalno radi.

Ova dva videa prikazuju što ćeš napraviti i kojim kodom:

Uvod

Vodič za kodiranje

Kako to radi

  • Kao u projektu Termometar, ovdje se koristi senzor temperature koji se nalazi u micro:bitovoj centralnoj upravljačkoj jedinici (CPU) kako bi izmjerili temperaturu u °C (Celzija).
  • Ovaj program pamti najnižu i najvišu očitanu temperaturu i to koristeći 3 varijable: trenutnaTemp je upravo očitana temperatura, max je najviša, a min je najniža.
  • Na početku programa sve se tri varijable postavljaju na istu vrijednost; u beskonačnoj petlji očitava se temperatura svake dvije sekunde, a program ju uspoređuje s varijablama max i min.
  • Ako je trenutačna temperatura niža od (<) vrijednosti pohranjene u varijabli min, tada se varijabla min mijenja na trenutačnu vrijednost temperature.
  • Ako je trenutačna temperatura viša od (>) varijable max, tada se vrijednost varijable max mijenja na trenutačnu vrijednost temperature.
  • Osim toga, program pri svakom prolazu na izlazu osvijetli točku na LED zaslonu tako da se zna da radi.
  • Pritisni tipku A kako bi pokazao najnižu, a tipku B za najvišu izmjerenu temperaturu.
  • Program možeš ostaviti da radi 24 sata i u isto vrijeme svakoga dana u dijagram ucrtati najvišu i najnižu temperaturu, a zatim resetirati.

Što ti treba

  • micro:bit (ili MakeCode simulator)
  • Uređivač MakeCode ili Python
  • baterije (prema potrebi)
  • neki izvor topline ili hlađenja, primjerice ventilator, ako želiš bržu promjenu temperture - ili odnesi micro:bit van
  • milimetarski papir, ako želiš crtati dijagram promjene temperature kroz vrijeme

2. korak: Kodiraj

1from microbit import *
2
3currentTemp = temperature()
4max = currentTemp
5min = currentTemp
6
7while True:
8    display.show('.')
9    currentTemp = temperature()
10    if currentTemp < min:
11        min = currentTemp
12    elif currentTemp > max:
13        max = currentTemp
14    if button_a.was_pressed():
15        display.scroll(min)
16    if button_b.was_pressed():
17        display.scroll(max)
18    sleep(1000)
19    display.clear()
20    sleep(1000)
21

3. korak: Unaprijedi

  • Usporedi očitanja s drugim termometrom. Koliko je micro:bit precizan? Treba li modificirati očitanje na micro:bitu da bi se dobila temperatura zraka? Kako bi to napravio?
  • Pretvori temperaturu u stupnjeve Fahrenheita.
  • Iskoristi radio za slanje očitanja temperature drugom micro:bitu.