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.

Upute za izradu programa

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.

4. korak

Iz kategorije Data logger uzmite naredbu log data array of column “ “ value 0 i stavite ju unutar petlje if then. Kliknite na znak plus kako biste dodali još jedan stupac (column). Potrebna su vam tri stupca jer mjerite tri vrijednosti, temperaturu, svjetlost i zvuk.

5. korak

Sada u prazna polja naziva stupaca (column) napišite “Temperatura“, “Svjetlost“, “Zvuk“. Za vrijednosti (value) pridodajte iz Input kategorije naredbe temperature (°C), light level i sound level. Naredbom log data micro:bit u odgovarajući stupac bilježi očitano mjerenje.

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.

7. korak

Za kraj izradite još blok pomoću kojeg će vam micro:bit javiti da je njegova memorija puna. Iz Data Logger kategorije uzmite naredbu on log full. Unutar bloka postavite varijablu Mjeri na false kako bi micro:bit prestao s mjerenjem, a na ekranu neka se prikaže plačko.

Gotov program

Čitanje zabilježenih podataka

Nakon što su podaci zapisani na micro:bit, povežite micro:bit s računalom. Micro:bit će se pojaviti kao USB disk pod nazivom MICROBIT. Otvorite ga i vidjet ćete datoteku pod nazivom MY_DATA.

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.