24 stu Bilježenje podataka – micro:bit v2
Novi micro:bit V2 ima mogućnost bilježenja podataka u svoju memoriju. Zapisani podaci ostaju sačuvani na micro:bitu čak kada je micro:bit odspojen od izvora napajanja.
Izradite program kojim će micro:bit v2 svake sekunde očitavati temperaturu, razinu svjetlosti i glasnoću te sve vrijednosti bilježiti u svoju memoriju. Pritiskom na logotip možete zaustaviti ili pokrenuti bilježenje podataka. Zapisanim podacima kasnije možete pristupiti povezivanjem micro:bita na računalo i otvaranjem datoteke pohranjene u njemu.
Za izradu ovog programa potrebno je u MakeCode Editor dodati Data Logger kategoriju naredbi. Upute za dodavanje Data Logger kategorije nalaze se ovdje.
1. korak
Želite da u svakom trenutku možete zaustaviti/pokrenuti očitavanje podataka koje micro:bit mjeri. Zato na početku programa kreirajte varijablu koja će označavati izvršava li trenutno micro:bit mjerenje ili ne. Opcijom Make a Variable, unutar kategorije Variables kreirajte varijablu Mjeri. Unutar bloka on start iz kategorije Basic postavite varijablu Mjeri na 0 naredbom set Mjeri to 0. Zatim iz kategorije Logic uzmite false tvrdnju i postavite ju u tu naredbu umjesto vrijednosti 0. Sada je varijabla Mjeri na početku postavljena na false jer ne želite da micro:bit odmah krene s mjerenjem podataka. Za vrijednosti koje micro:bit mjeri – temperatura, svjetlost i zvuk, potrebno je kreirati stupce u koje će se njihova očitanja spremati. U kategoriji Data Logger uzmite naredbu set columns array of „a“ „b“ „c“ te ju stavite unutar on start bloka i „a“, „b“ i „c“ promijenite u „Temperatura“, „Svjetlost“ i „Zvuk“. Pritiskom na +/- znak u naredbi, možete dodavati ili micati stupce.
2. korak
Pritiskom na logotip micro:bita želite kontrolirati početak/završtak mjerenja. U prethodnom koraku ste iz tog razloga kreirali varijablu Mjeri. Želite da svakim pritiskom na logotip, varijabla Mjeri promijeni svoju vrijednost (false u true ili true u false). Unutar bloka on logo pressed smjestite naredbu set Mjeri to 0, ali umjesto 0 stavite tvrdnju not iz Logic kategorije i dodajte joj varijablu Mjeri iz Variables kategorije. Nakon toga ćete naredbom if then else iz kategorije Logic provjeravati je li vrijednost varijable Mjeri istinita. To radite tako da u uvjet if then else naredbe stavite varijablu Mjeri. Kada micro:bit mjeri vrijednosti, neka se na ekranu prikazuje uskličnik, a inače ništa (clear screen).
3. korak
Iz kategorije Loops odaberite blok every 500 ms, no umjesto 500 miliseknundi upišite 1000 milisekundi što je jednako 1 sekundi. Unutar petlje smjestite if then naredbu iz kategorije Logic, a kao uvjet postavite varijablu Mjeri. Sada ćete dodati naredbe unutar if then petlje kako bi micro:bit izvršio mjerenje podataka svakih sat vremena, samo ako je varijabla Mjeri istinita, odnosno ako je mjerenje pokrenuto.
6. korak
Izradite blok pomoću kojeg ćete obrisati podatke koji su spremljeni na vašem micro:bitu. Iz kategorije Input odaberite on button A pressed i promijenite ga u A+B. Unutar bloka stavite naredbu show string “Brisanje podataka“ iz Basic kategorije. Ispod nje stavite naredbu delete log koju ćete pronaći u kategoriji Data Logger i koja briše sve vrijednosti zapisane u memoriji micro:bita. Neka se nakon brisanja na ekranu kratko prikaže kvačica.
Otvaranjem datoteke otvara se tablica sa zabilježenim podacima:
- Prvi stupac tablice prikazuje vrijeme u sekundama i označava trenutak kada se unio podatak s obzirom na proteklo vrijeme od pokretanja micro:bita. Naredbom set timestamp možete odabrati koji format vremenske oznake želite za svoje unose.
- Opcijom Download preuzmite podatke kao CSV (vrijednosti odvojene zarezima) datoteku ili upotrijebite opciju Copy za kopiranje podataka kako biste ih mogli zalijepiti izravno u proračunsku tablicu.
- Zapisani podaci ažuriraju se svaki put kada se micro:bit fizički isključi i ponovno poveže putem USB-a. Novi podaci dodaju se na dno tablice.
- Podaci na micro:bitu ostaju zapisani sve dok ih ne obrišete pomoću naredbe delete log u samom kôdu.
- Kada micro:bit ostane bez memorije, na ekranu micro:bita se prikazuje greška 928 ako prethodno naredbom on log full niste zadali što da se izvrši.
- Maksimalno vrijeme trajanja bilježenja podataka ovisi o količini podataka koji se bilježe, intervalu zapisivanja, veličini datoteke zapisnika i bilježite li podatke na bateriju/USB.
- Maksimalna veličina memorije za bilježenje podataka ovisi o količini podataka koji se istovremeno bilježe (npr. 1 stupac = oko 11000 unosa; 2 stupca = oko 6000 unosa).
- Opcijom Visual preview podaci se prikazuju grafički.