Skip to content

Активност

Мерач јачине звука

Почетник | MakeCode, Python | Лед екран, Микрофон | Руковање подацима, Улаз/излаз

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

Шта је ово?

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

Увод

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

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

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

Како то ради

  • Нови микрофон на micro:bit-у мери ниво звука у бројевима између 0 и 255. Најнижа вредност (најтише) која може да се измери је 0, а највиша (најачи звук) је 255.
  • Микрофон је програмиран тако да се у бесконачној петљи мери ниво звука и исцртава стубичасти графикон на ЛЕД екрану микробит уређаја.
  • Што је гласнији звук измерен, то је већи стубић у графикону.

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

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

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

1from microbit import *
2
3# function to map any range of numbers to another range
4def map(value, fromMin, fromMax, toMin, toMax):
5    fromRange = fromMax - fromMin
6    toRange = toMax - toMin
7    valueScaled = float(value - fromMin) / float(fromRange)
8    return toMin + (valueScaled * toRange)
9
10# set of images for simple bar chart
11graph5 = Image("99999:"
12               "99999:"
13               "99999:"
14               "99999:"
15               "99999")
16
17graph4 = Image("00000:"
18               "99999:"
19               "99999:"
20               "99999:"
21               "99999")
22
23graph3 = Image("00000:"
24               "00000:"
25               "99999:"
26               "99999:"
27               "99999")
28
29graph2 = Image("00000:"
30               "00000:"
31               "00000:"
32               "99999:"
33               "99999")
34
35graph1 = Image("00000:"
36               "00000:"
37               "00000:"
38               "00000:"
39               "99999")
40               
41graph0 = Image("00000:"
42               "00000:"
43               "00000:"
44               "00000:"
45               "00000")
46
47allGraphs = [graph0, graph1, graph2, graph3, graph4, graph5]
48               
49# ignore first sound level reading
50soundLevel = microphone.sound_level()
51sleep(200)
52
53while True:
54    # map sound levels from range 0-255 to range 0-5 for choosing graph image
55    soundLevel = int(map(microphone.sound_level(), 0, 255, 0, 5))
56    display.show(allGraphs[soundLevel])
57            

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

  • Креирајте сопствене начине да прикажете колико је звук вусок, на пример приказивање различитих емотикона у зависности од тога колико је јак звук
  • Направите визуелни аларм за буку који трепће само када јачина звука пређе одређени ниво - ово бисте могли да употребите да бисте контролисали буку у учионици