Skip to content

Gweithgaredd

Mesurydd sain

Dechreuwr | MakeCode, Python | Dangosydd LED, Meicroffon | Mewnbwn/allbwn, Trafod data

Cam 1: Gwneud

Beth yw e?

Mesur pa mor swnllyd yw hi o'ch cwmpas gan ddefnyddio synhwyrydd meicroffon y micro:bit newydd a dangosydd siart bar syml.

Cyflwyniad

Canllaw codio

Beth fyddwch yn ei ddysgu

  • Sut i ddefnyddio synhwyrydd mewnbwn meicroffon parod y micro:bit newydd i fesur pa mor uchel yw'r seiniau o'ch cwmpas
  • Sut i ddangos data rhifol o synwyryddion mewnbwn yn raffigol ar allbwn y dangosydd LED

Sut mae'n gweithio

  • Mae meicroffon y micro:bit newydd yn mesur lefelau sain mewn rhifau rhwng 0 a 255. 0 yw'r mesuriad sain tawelaf y gall ei wneud a 255 yw'r uchaf.
  • Mae'r cod yn defnyddio dolen am byth i wneud i'r meicroffon barhau i fesur lefelau sain a phlotio graff bar ar y dangosydd LED.
  • Po uchaf y seiniau a fesurir, yr uchaf y bydd y graff bar.

Beth sydd ei angen arnoch

  • micro:bit newydd gyda sain (neu efelychwr MakeCode)
  • Golygydd MakeCode neu Python
  • pecyn batri (opsiynol)

Cam 2: Codio

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            

Cam 3: Gwella

  • Creu eich ffyrdd eich hun o ddangos pa mor uchel yw sain, er enghraifft drwy ddangos gwahanol emojis gan ddibynnu ar ba mor uchel yw'r sain
  • Gwneud larwm sŵn gweledol sy'n fflachio'n unig pan fydd y sain yn mynd dros lefel benodol - gallech ei ddefnyddio i helpu i gadw'ch ystafell ddosbarth yn dawel
Ariennir gan Lywodraeth Cymru / Funded by Welsh Government

Translation generously supported by the Welsh Government.