Skip to content

Aktivnost

Zvučni kompas

Srednji | MakeCode, Python | Kompas, LED zaslon, Tipke, Zvuk | Korištenje kompasa, Odabir, Relacijski operatori, Varijable

1. korak: Napravi

Što je to?

Napravi kompas koji zasvira kad pokazuje prema sjeveru, tako će biti još praktičniji.

Uvod

Vodič za kodiranje

Što ćeš naučiti

  • Kako se koristiti očitanjima senzora micro:bitova magnetometra
  • Kako upotrebljavati varijable, odabir, usporedbu i logiku kako bismo pokrenuli događaje kada senzor pokazuje vrijednosti iz određenog raspona

Kako to radi

  • Micro:bit u petlji prati smjerove kako se okrećeš. Vrijednosti se spremaju u varijablu smjer.
  • Ako je smjer između 355 i 5 stupnjeva, znači da uređaj pokazuje prema sjeveru pa zato na LED zaslonu prikaže N i pusti zvučni signal.
  • Ako imaš novi micro:bit, tada zvučni signal čuješ iz ugrađenog zvučnika, inače treba na izvode 0 i GND spojiti slušalice.
  • Ako nisi okrenut prema sjeveru, slika na zaslonu se briše, a zvuk isključi.
  • Ako nisi okrenut prema sjeveru, pritiskom tipke A možeš na zaslonu dobiti očitanje kompasa.
  • Na početku projekta s kompasom vjerojatno ćeš trebati odigrati jednu igricu. Nagni zaslon tako da se upale sve LED diode. Na taj se način kompas kalibrira kako bi dalje ispravno radio.
micro:bit i ruža smjerova na kompasu

Što ti treba

  • micro:bit
  • Uređivač MakeCode ili Python
  • baterije (prema potrebi)

2. korak: Kodiraj

1from microbit import *
2import music
3
4while True:
5    direction = compass.heading()
6    if direction < 5 or direction > 355:
7        display.show('N')
8        music.play("C4:1")
9    elif button_a.is_pressed():
10        display.scroll(direction)
11    else:
12        display.clear()
13        music.stop()
14

3. korak: Unaprijedi

  • Napravi različite zvučne signale za razne strane svijeta prema kojima se okrećeš: jug, istok ili zapad.
  • Dodaj proceduru pritiska tipke za novo kalibriranje kompasa ako posumnjaš u točnost mjerenja. U MakeCodeu ćeš pod Input... more pronaći blok 'calibrate compass'. U Pythonu iskoristi compass.calibrate()