Skip to content

Aktivnost

Štoperica na dodir

Srednji | MakeCode, Python | LED zaslon, Logo osjetljiv na dodir, Tipke | Aritmetički operatori, Booleova logika, Measurement, Ulaz (Input)/izlaz (Output), Varijable

1. korak: Napravi

Što je to?

Izradii pravu štopericu koristeći se novim microbitovim logo senzorom kao dodatnom tipkom.

Uvod

Vodič za kodiranje

Što ćeš naučiti

  • Kako u konkretnom projektu iskoristiti micro:bitov logo, odnosno senzor za dodir, kao dodatnu tipku
  • Kako mjeriti vrijeme koristeći varijable i matematičke operatore
  • Kako pretvarati mjerne jedinice (milisekunde u sekunde) koristeći matematičke operatore
  • Što je to Booleova varijabla i kako ih koristiti za upravljanje radom programa

Kako koristiti

  • Preuzmi program na novi micro:bit koji ima ugrađen zvučnik
  • Pritisni tipku A da pokreneš štopericu. Dok štoperica radi, na LED zaslonu se prikazuje animirano srce koje kuca.
  • Pritisni tipku B da zaustaviš štopericu. Možeš ju pokretati i zaustavljati koliko god hoćeš puta, a ona će zbrajati vremena, baš kao prava štoperica.
  • Pritisni zlatni logo na prednjoj strani micro:bita kako bi prikazao izmjereno vrijeme u milisekundama.
  • Pritisni tipku za resetiranje na stražnjoj strani micro:bita kako bi vrijeme vratio na nulu.

Kako to radi

  • Micro:bit prati vrijeme rada u milisekundama (tisućinkama sekunde). To se zove vrijeme rada.
  • Pritiskom tipke A, varijabla start postavlja se na trenutačno vrijeme rada.
  • Pritiskom tipke B, vrijednost varijable start oduzima se od novog vremena rada i tako se dobije vrijeme od pokretanja štoperice. Ova razlika dodaje se ukupnom vremenu koje je pohranjeno u varijabli vrijeme.
  • Pritiskom na logo program osjetljiv na dodir na LED zaslonu prikazuje se ukupno vrijeme. Vrijeme se pretvara u sekunde tako da se milisekunde (tisućinke sekunde) podijele s 1000. Program koristi operator dijeljenja integera da prikaže rezultat u cijelim brojevima (integerima).
  • Osim toga, program koristi i Booleovu varijablu radi kojom se upravlja izvođenjem. Booleove varijable mogu imati samo dvije vrijednosti: točno ili netočno. Ako je radi točno, štoperica je pokrenuta. Ako je radi netočno, štoperica nije pokrenuta ili je zaustavljena.
  • Ako je radi točno, petlja opetovano prikazuje animirano srce na LED zaslonu.
  • Tek kada je štoperica zaustavljena može se pritiskom na logo prikazati vrijeme, odnosno kada radi nije točno.
  • Kodirano je tako da se spriječe pogrešna očitanja; ako je štoperica pokrenuta, varijabla vrijeme može se promijeniti samo pritiskom tipke B, odnosno ako je radi točno.

Što ti treba

  • novi micro:bit sa zvukom (ili simulator u MakeCodeu)
  • Uređivač MakeCode ili Python
  • baterije (prema potrebi)

2. korak: Kodiraj

1from microbit import *
2time = 0
3start = 0
4running = False
5
6while True:
7    if running:
8        display.show(Image.HEART)
9        sleep(300)
10        display.show(Image.HEART_SMALL)
11        sleep(300)
12    else:
13        display.show(Image.ASLEEP)
14    if button_a.was_pressed():
15        running = True
16        start = running_time()
17    if button_b.was_pressed():
18        if running:
19            time += running_time() - start
20        running = False
21    if pin_logo.is_touched():
22        if not running:
23            display.scroll(int(time/1000))

3. korak: Unaprijedi

  • Promijeni program tako da se vrijeme resetira potresanjem micro:bita.
  • Učini mjerač vremena preciznijim tako da upotrijebiš razlomke umjesto cijelih brojeva (integera).
  • Dodaj funkciju za trenutačno vrijeme tijekom rada štoperice tako se prikaže vrijeme svaki puta u trenutku kada dotakneš logo. Pazi da se to vrijeme ne pribraja ukupnom vremenu u varijabli vrijeme.