Skip to content

Gweithgaredd

Cofnodydd sain

Canolradd | MakeCode, Python | Dangosydd LED, Meicroffon | Gweithredwyr rhifyddeg, Mewnbwn/allbwn, Newidynnau, Trafod data

Cam 1: Gwneud

Beth yw e?

Gwneud cofnodydd lefel sain i fonitro pa mor swnllyd neu dawel y mae gwahanol leoedd o'ch cwmpas dros gyfnod o amser

Cyflwyniad

Canllaw codio

Beth fyddwch yn ei ddysgu

  • Sut i ddefnyddio synhwyrydd meicroffon parod y micro:bit newydd i fesur pa mor uchel yw'r sain
  • Defnyddio newidynnau a gweithredwyr i olrhain gwerthoedd uchaf wrth gasglu data'r byd go iawn

Sut mae'n gweithio

  • Mae meicroffon y micro:bit newydd yn mesur lefelau sain mewn rhifau rhwng 0 a 255, yn union fel y synhwyrydd golau.
  • Mae dolen yn cymharu'r lefel sain bresennol â'r newidyn Sainuchaf sy'n storio'r sain uchaf yn barhaus. Os bydd y sain bresennol yn uwch na'r sain uchaf flaenorol, bydd yn ailosod Sainuchaf i werth y sain uchaf newydd.
  • Tu mewn i'r ddolen, mae datganiad os yn gwirio a ydych wedi gwasgu botwm A. Os byddwch, bydd yn dangos rhif y lefel sain ar allbwn y dangosydd LED. Gallwch ei ddefnyddio i fonitro pa mor swnllyd y mae gwahanol leoedd dros gyfnod o amser.
  • Ailosod y gwerth uchaf drwy wasgu'r botwm ailosod ar gefn y micro:bit.

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 *
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            

Cam 3: Gwella

  • Addasu'r prosiect er mwyn iddo recordio'r lefel sain dawelaf, neu isaf, hefyd.
  • Defnyddio radio i anfon lefelau sain i micro:bit arall er mwyn eich bod yn gallu monitro lefelau sain o bell
Ariennir gan Lywodraeth Cymru / Funded by Welsh Government

Translation generously supported by the Welsh Government.