Skip to content

Gweithgaredd

Oriawr amseru cyffwrdd

Canolradd | MakeCode, Python | Botymau, Dangosydd LED, Logo cyffwrdd | Gweithredwyr rhifyddeg, Mesuriad, Mewnbwn/allbwn, Newidynnau, Rhesymeg Boolean

Cam 1: Gwneud

Beth yw e?

Gwneud oriawr amseru go iawn gan ddefnyddio synhwyrydd logo cyffwrdd y micro:bit newydd fel botwm ychwanegol

Cyflwyniad

Canllaw codio

Beth fyddwch yn ei ddysgu

  • Sut i ddefnyddio synhwyrydd logo cyffwrdd y micro:bit newydd fel botwm ychwanegol mewn prosiect ymarferol
  • Sut i ddefnyddio newidynnau a gweithredwyr mathemategol i fesur amser
  • Sut i ddefnyddio gweithredwyr mathemategol i drosi unedau (milieiliadau yn eiliadau)
  • Beth yw newidyn Booleaidd a sut y gellir eu defnyddio i reoli llif rhaglen

Sut i'w ddefnyddio

  • Fflachio'r rhaglen ar micro:bit newydd gyda seinydd parod.
  • Gwasgu botwm A i ddechrau rhedeg yr oriawr amseru. Dangosir calon yn curo wedi'i hanimeiddio ar y dangosydd LED pan fydd yn amseru.
  • Gwasgu botwm B i'w stopio. Gallwch ei gychwyn a'i stopio gynifer o weithiau ag yr hoffech a bydd yn parhau i ychwanegu at yr amser, yn union fel oriawr amseru go iawn.
  • Gwasgu'r logo cyffwrdd aur ar flaen y micro:bit i ddangos yr amser a fesurwyd mewn eiliadau.
  • I ailosod yr amser i sero, gwasgu'r botwm ailosod ar gefn y micro:bit.

Sut mae'n gweithio

  • Mae'r micro:bit yn olrhain am ba mor hir mae wedi bod ymlaen mewn milieiliadau (milfedau eiliad). Gelwir hyn yn amser rhedeg.
  • Pan fyddwch yn gwasgu botwm A, gosodir newidyn a elwir yn cychwyn i'r amser rhedeg presennol.
  • Pan fyddwch yn gwasgu botwm B, caiff yr amser cychwynt ei dynnu o'r amser rhedeg newydd i roi'r amser sydd wedi mynd heibio ers i chi ddechrau'r oriawr amseru. Ychwanegir y gwahaniaeth at gyfanswm yr amser, sy'n cael ei storio mewn newidyn a elwir yn amser.
  • Os byddwch yn gwasgu'r logo cyffwrdd, bydd y rhaglen yn dangos cyfanswm yr amser sydd wedi mynd heibio ar y dangosydd LED. mae'n trosi'r amser o filieiliadau (milfedau eiliad) yn eiliadau drwy ei rannu â 1000. Mae'n defnyddio'r gweithredydd rhannu cyfanrif i roi canlyniad mewn rhifau cyfan (cyfanrifau).
  • Mae'r rhaglen hefyd yn defnyddio newidyn Booleaidd a elwir yn rhedeg i reoli'r rhaglen. Gall fod gan newidynnau Booleaidd ddau werth yn unig: gwir neu gau. Os yw rhedeg yn wir, mae'r oriawr amseru wedi'i chychwyn. Os yw rhedeg yn gau, nid yw'r oriawr amseru wedi'i chychwyn neu mae wedi'i stopio.
  • Os yw rhedeg yn wir, bydd dolen yn parhau i ddangos y galon wedi'i hanimeiddio ar y dangosydd LED.
  • Bydd yn dangos yr amser yn unig pan fyddwch yn gwasgu'r logo os yw'r oriawr amseru wedi'i stopio, os nad yw nad yw rhedeg yn wir.
  • Mae'r cod yn atal darlleniadau ffug drwy sicrhau bod y newidyn amser yn cael ei newid yn unig pan fyddwch yn gwasgu botwm B os yw'r oriawr amseru eisoes wedi'i chychwyn, os yw rhedeg yn wir.

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 *
2time = 0
3start = 0
4running = False
5
6while True:
7    if running:
8        display.show(Image.HEART)
9        sleep(300)
10        display.show(Image.HEART_SMALL)
11        sleep(300)
12    else:
13        display.show(Image.ASLEEP)
14    if button_a.was_pressed():
15        running = True
16        start = running_time()
17    if button_b.was_pressed():
18        if running:
19            time += running_time() - start
20        running = False
21    if pin_logo.is_touched():
22        if not running:
23            display.scroll(int(time/1000))

Cam 3: Gwella

  • Addasu'r rhaglen fel eich bod yn gallu ailosod yr amser drwy ysgwyd y micro:bit.
  • Gwneud yr amserydd yn fwy manwl gywir gan ddefnyddio ffracsiynau rhifau yn lle cyfanrifau (rhifau cyfan).
  • Ychwanegu swyddogaeth amser lap er mwyn dangos yr amser adeg eich bod yn cyffwrdd â'r logo tra bod yr oriawr amseru'n rhedeg. Cofio sicrhau na ychwanegir hyn at y cyfanswm yn y newidyn amser.

Ariennir gan Lywodraeth Cymru / Funded by Welsh Government

Translation generously supported by the Welsh Government.