Skip to content

Aktivnost

Zapisivač zvukova

Srednji | MakeCode, Python | LED zaslon, Mikrofon | Aritmetički operatori, Rukovanje podacima, Ulaz (Input)/izlaz (Output), Varijable

1. korak: Napravi

Što je to?

Napravi zapisivač glasnoće kako bi pratio kako se razina buke u tvojoj okolini s vremenom povećava ili smanjuje

Uvod

Vodič za kodiranje

Što ćeš naučiti

  • Kako izmjeriti glasnoću zvuka pomoću mikrofonskog senzora ugrađenog u novi micro:bit
  • Pomoću varijabli i operatora prati najviše vrijednosti među podacima koje prikupljaš iz okoline

Kako to radi

  • Mikrofon novoga micro:bita mjeri razine zvuka u vrijednostima od 0 do 255, baš kao i svjetlosni senzor.
  • Trenutačna se jačina zvuka u petlji uspoređuje s varijablom maxZvuk gdje se pohranjuje najviša vrijednost. Kada trenutačni zvuk postane jači od memoriranog najjačeg zvuka, tada se maxZvuk resetira na tu novu vrijednost.
  • Unutar petlje je if naredba koja pita jesi li pritisnuo tipku A. Ako jesi, tada se razina zvuka prikaže na LED zaslonu. Tako možeš pratiti kako pojedina mjesta s vremnom postaju sve glasnija.
  • Pritiskom tipke za resetiranje na stražnjoj strani micro:bita poništi maksimalnu vrijednost.

Š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 *
2maxSound = 0
3lights = Image("11111:"
4              "11111:"
5              "11111:"
6              "11111:"
7              "11111")
8# ignore first sound level reading
9soundLevel = microphone.sound_level()
10sleep(200)
11
12while True:
13    if button_a.is_pressed():
14        display.scroll(maxSound)
15    else:
16        soundLevel = microphone.sound_level()
17        display.show(lights * soundLevel)
18        if soundLevel > maxSound:
19            maxSound = soundLevel
20            

3. korak: Unaprijedi

  • Izmijeni projekt tako da prati i najtiše, minimalne vrijednosti zvukova.
  • Pomoću radija možeš poslati vrijednosti drugom micro:bitu pa tako pratiti zvukove na daljinu.