Skip to content

Gweithgaredd

Mesurydd curo dwylo

Canolradd | MakeCode, Python | Dangosydd LED, Meicroffon | Dewis, Gweithredwyr rhifyddeg, Mesuriad, Newidynnau, Synwyryddion

Cam 1: Gwneud

Beth yw e?

Mesur pa mor hir y mae curo dwylo - neu unrhyw sŵn uchel - yn parhau â'r amserydd hwn sy'n defnyddio'r meicroffon ar y micro:bit newydd.

Cyflwyniad

Canllaw codio

Beth fyddwch yn ei ddysgu

  • Sut i sbarduno digwyddiadau pan fesurir synau uchel a thawel gan y meicroffon.
  • Sut i ddefnyddio amserydd parod y micro:bit
  • Sut i osod y trothwy ar gyfer digwyddiadau uchel a thawel

Sut mae'n gweithio

  • Ar ddechrau'r rhaglen, gosodir y trothwy ar gyfer sbarduno digwyddiad sŵn uchel. Defnyddio rhifau mwy fel bod angen synau uwch, rhifau llai ar gyfer synau llai. Gallwch ddefnyddio unrhyw rif o 0 i 255.
  • Gosodir newidyn a elwir yn start i 0. Fe'i defnyddir i olrhain pan fydd y sŵn uchel yn dechrau.
  • Pan fydd y meicroffon yn synhwyro sŵn uchel, wedyn gosodir y newidyn start i amser rhedeg presennol y micro:bit a dangosir eicon ar y dangosydd LED fel eich bod yn gwybod bod yr amserydd wedi dechrau.
  • Mae amser rhedeg yn fesur o ba mor hir y mae eich micro:bit wedi bod yn rhedeg eich rhaglen mewn milieiliadau (milfed ran o eiliad).
  • Pan fydd y sŵn uchel yn stopio, sbardunir digwyddiad sŵn tawel.
  • Os oes digwyddiad uchel wedi bod yn barod, a bod yr amserydd wedi dechrau, bydd gan y newidyn start werth sy'n fwy na (>) 0. Yn yr achos hwn, gosodir newidyn a elwir yn time i'r amser rhedeg presennol newydd minws yr amser dechrau. Mae'n dweud wrthym am ba mor hir roedd y sŵn uchel wedi parhau.
  • Oherwydd bod yr amser yn cael ei fesur mewn milieiliadau, mae'r rhaglen yn ei rannu â 1000 i'w drosi i eiliadau ac yn ei arddangos ar y dangosydd LED.

Beth sydd ei angen arnoch

  • micro:bit
  • Golygydd MakeCode neu Python
  • pecyn batri (opsiynol)

Cam 2: Codio

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)

Cam 3: Gwella

  • Arbrofi gyda gwahanol drothwyau ar gyfer digwyddiadau sŵn uchel ac isel i ddod o hyd i'r gwerthoedd sy'n gweithio orau i chi.
  • Ychwanegu cod o'r prosiectau Cofnodi sŵn fel y gallwch hefyd fesur pa mor uchel oedd y curo dwylo.

Ariennir gan Lywodraeth Cymru / Funded by Welsh Government

Translation generously supported by the Welsh Government.