Digitalni termometar s upozorenjem

Micro:bitom možete mjeriti temperaturu od -5⁰C do 50⁰C. Naredba za mjerenje temperature nalazi se u kategoriji Input i zove se temperature (⁰C). Ova naredba vraća cijeli broj koji predstavlja temperaturu u stupnjevima Celzijevim.

Uvod

Ovo je jednostavan program za prikaz temperature svake dvije sekunde.

Kad se upotrijebi naredba temperature (⁰C), u simulatoru se prikaže virtualni termometar. On je klizač kojim možete, pomičući ga, virtualno mijenjati temperaturu.

Zadatak

Napravite digitalni termometar koji će upozoravati svaki put kada temperatura padne ili poraste u odnosu na zadanu vrijednost. Idealni temperaturni raspon neka bude od 19⁰C do 22⁰C. Za sve vrijednosti ispod ili iznad tog raspona neka micro:bit prikaže upozorenje na zaslonu odabranom sličicom.

Ako je izmjerena temperatura u idealnom rasponu, neka se na micro:bitu prikazuje vodoravna linija na sredini zaslona. Ako je temperatura previsoka, neka se prikazuje sličica trokuta s vrhom prema gore (u gornjem dijelu zaslona). Ako je temperatura preniska, neka trokut bude vrhom usmjeren prema dolje (u donjem dijelu zaslona). Pritiskom na tipkalo A neka se na zaslonu prikaže izmjerena temperatura. Pola sekunde nakon prikaza temperature neka program ponovno grafički prikazuje stanje u odnosu na idealni raspon.

Upute za izradu programa

1. korak

U kategoriji Variables izradite novu varijablu i nazovite je Termometar. U nju će se naredbom set Termometar to pohranjivati vrijednost izmjerene temperature.

Naredbu temperature (⁰C) pronađite u kategoriji Input i postavite je kao argument naredbe set Termometar to. Sve smjestite u petlju forever.

Slijedi dio programa u kojem ćete definirati kako će micro:bit na zaslonu prikazati ispravnu sličicu prema izmjerenoj temperaturi. Tri su raspona temperature koja micro:bit provjerava te ih je potrebno postaviti kao uvjete. Prvi uvjet neka se odnosi na temperaturu nižu od idealnog raspona (manju od 19⁰C) i on glasi: ako je temperatura manja od 19⁰C neka se na zaslonu micro:bita prikazuje trokut prema dolje.

2. korak

Prevedite opisani uvjet programskim blokovima. Iz kategorije Logic odaberite if then naredbu i smjestite je kao posljednju unutar forever petlje. U if dijelu postavite prvu provjeru temperature u kojoj ćete ispitati je li ona manja od 19⁰C. Za provjeru iskoristite operator < (manje od) iz kategorije Logic. S lijeve strane postavite naredbu Termometar (kategorija Variables), a s desne strane upišite 19. Ako je taj uvjet zadovoljen, neka se na zaslonu micro:bita prikazuje trokut prema dolje. Uzmite naredbu show leds iz kategorije Basic i smjestite je u then dio bloka te nacrtajte trokut.

Ako provjerom ovog uvjeta micro:bit utvrdi da on nije istinit, znači da je temperatura veća od zadane vrijednosti. Potrebno je u programu micro:bitu dati uputu što da učini u tom slučaju.

3. korak

Na kraju if then bloka se nalazi plus te pritisnite na njega. Blok će se proširiti za else dio i postat će if then else. Kao takav bi bio dovoljan kad bi se u programu provjeravale dvije vrijednosti, tj. dva uvjeta. No, s obzirom na to da se provjeravaju tri uvjeta, pritisnite još jednom na znak plus i time ćete dodati else if dio u blok. U else if dijelu bloka postavite uvjet kojim će se provjeravati je li temperatura između 19⁰C i 22⁰C. U ovom slučaju će se provjeravati jesu li zadovoljena dva uvjeta istovremeno (da je temperatura veća ili jednaka 19, ali i manja ili jednaka 22). Za to možete iskoristiti naredbu and koja omogućava provjeru jesu li zadovoljena oba uvjeta koja u nju postavite. Stoga u else if dio smjestite naredbu and iz kategorije Logic.

4. korak

S lijeve strane and naredbe postavite prvi uvjet (provjera je li temperatura veća ili jednaka 19), a s desne drugi uvjet (provjera je li temperatura manja ili jednaka 22). U then dio dodajte show leds naredbu i nacrtajte vodoravnu liniju

5. korak

Ako temperatura nije manja od 19⁰C niti je u rasponu od 19⁰C do 22⁰C preostaje samo mogućnost da je temperatura veća od 22⁰C. Taj se uvjet ne mora definirati kao prethodna dva jer je to jedina mogućnost koja je preostala. Zato je u else dijelu bloka dovoljno dodati naredbu za prikaz trokuta prema gore jer će je micro:bit izvršiti kada provjerom utvrdi da izmjerena temperatura ne udovoljava postavljenim uvjetima u if i else if dijelu.

Na kraju dodajte još naredbe kojima će se pritiskom na tipkalo A ispisati vrijednost trenutno izmjerene temperature. Iz kategorije Input uzmite naredbu on button A pressed i u nju postavite naredbe za prikaz vrijednosti temperature. Dodajte i pauzu od pola sekunde (pause (ms) 500) kako bi nakon nje program ponovno prikazivao stanje u odnosu na idealni raspon.

Program