Skip to content

Активност

Аплаузометар

Средње | MakeCode, Python | Лед екран, Микрофон | Measurement, Аритметички оператори, Одабир, Променљиве, Сензори

Корак 1: Уради

Шта је ово?

Измерите колико дуго траје аплауз - или било који јак звук - помоћу тајмера који користи микрофон на новом micro:bit-у.

Увод

Водич за програмирање

Шта сте научили

  • Како покренути догађаје када микрофон измери гласан и тихи звук
  • Како да користите уграђени тајмер на micro:bit-у
  • Како поставити праг за гласне или тихе догађеје

Како то ради

  • На почетку програма, поставља се праг за покретање гласног звучног догађаја. Користите веће бројеве за гласнији звуке, а мање бројеве за тиши звук. Можете да користите било који број између 0 и 255.
  • Вредност променљиве старт је постављена на 0. Она се користи да прати када је започео гласан звук.
  • Када микрофон детектује гласан звук, променљива старт је постављена на micro:bit - ово тренутно време рада и на ЛЕД екрану се приказује икона како бисте знали да је тајмер започео одбројавање.
  • Време рада је мера колико дуго ваш micro:bit покреће ваш програм у милисекундама (хиљадитим деловима секунде).
  • Када гласан звук престане, покреће се догађај за тихе звуке.
  • Ако је већ било гласног догађаја, а тајмер је покренут, променљива старт ће имати вредност већу од (>) 0. У овом случају променљива време постављена је на ново тренутно време рада минус време почетка. Ово нам говори колико је дуго трајао гласан звук.
  • Зато што је време мерено у милисекундама, програм га подели са 1000 како би се извршила конверзија у секунде и приказује време на ЛЕД екрану.

Шта вам је потребно

  • micro:bit
  • MakeCode или Python уређивач
  • батерије (опционално)

Корак 2: Програмирај

1from microbit import *
2microphone.set_threshold(SoundEvent.LOUD, 150)
3start = 0
4
5while True:
6    if microphone.was_event(SoundEvent.LOUD):
7        start = running_time()
8        display.show(Image.TARGET)
9
10    if microphone.was_event(SoundEvent.QUIET):
11        if start > 0:
12            time = running_time() - start
13            start = 0
14            display.clear()
15            sleep(100)
16            display.scroll(time / 1000)

Корак 3: Унапреди

  • Експериментишите са различитим границама за гласне и тихе звучне догађаје како бисте пронашли вредности које вам највише одговарају.
  • Додајте код из Пројекта снимача звука како бисте могли да измерите и јачину аплауза.