Skip to content

Gweithgaredd

Pryfed tân

Uwch | MakeCode, Python | Dangosydd LED, Radio | Ar hap, Cyfathrebu, Dewis

Cam 1: Gwneud

Troi set o micro:bits yn haid ddisglair hudolus o bryfed tân gan ddefnyddio cyfathrebu radio

set o micro:bits yn sbarduno ei gilydd drwy radio i ddisgleirio am gyfnod byr

Beth fyddwch yn ei ddysgu

  • sut i ddefnyddio cyfathrebu radio rhwng micro:bits i sbarduno digwyddiadau
  • gellir gwneud dangosydd LED y micro:bit yn fwy ac yn llai disglair
  • sut i ddefnyddio rhifau ar hap a chyfle i ddynwared ymddygiad y byd go iawn

Beth yw e?

Mae pryfed tân yn bryfed sy'n defnyddio bioymoleuedd (golau a wneir yn eu cyrff) i gyfathrebu â'i gilydd.

Mae'r prosiect hwn yn dynwared ymddygiad pryfed tân go iawn gan ddefnyddio nodwedd gyfathrebu radio y micro:bit. Crëwyd y fersiwn Python gan Nicholas H. Tollervey, ac mae'r fersiwn MakeCode yn seiliedig arno.

Fflachio'r rhaglen ar o leiaf tri micro:bit yn yr un ystafell. Gwasgu botwm A ar unrhyw micro:bit a dylech weld 'haid' o micro:bits yn goleuo wrth iddynt dderbyn neges radio. Mae'n gweithio orau mewn ystafell dywyll gyda llawer o micro:bits.

Unwaith bydd micro:bit wedi derbyn y neges radio bydd ganddo un siawns o bob deg i drosglwyddo ei neges radio ei hun a dechrau ton arall o oleuadau disglair yn y micro:bits eraill.

Pan fydd y goleuadau'n stopio ymhen amser, gwasgu botwm A ar unrhyw micro:bit i ailddechrau'r 'haid' o gyfathrebu.

Sut mae'n gweithio

  • Mae'r rhaglen yn defnyddio cyfathrebu radio i anfon 'fflach' neges pan fyddwch yn gwasgu botwm A ar un o'r micro:bits.
  • Pan fydd pob micro:bit yn derbyn y neges, bydd yn aros am gyfnod o amser ar hap rhwng 50 a 350 o filieiliadau. Wedyn, bydd yn gwneud i'r dangosydd LED fflachio'n llachar ac wedyn pylu'n raddol i ddynwared disgleirdeb pryf tân.
  • Nesaf, bydd yn cynhyrchu rhif ar hap rhwng 0 a 9. Os yw'r rhif yn 0, bydd yn anfon ei neges radio 'fflach' ei hun, gan sbarduno mwy o bryfed tân micro:bit i ddisgleirio. Felly bydd ganddo un siawns o bob deg o sbarduno mwy o ddisgleirdeb mewn micro:bits eraill.
  • Gallwch ddefnyddio cymysgedd o micro:bits hen a newydd, ond mae'n rhaid bod gan bob un ohonynt fersiynau MakeCode neu Python o'r rhaglen a fflachiwyd arnynt. (Mae cyfathrebu radio yn gweithio ychydig yn wahanol ym mhob iaith raglennu. Ni all rhaglenni MakeCode gyfathrebu dros y radio â rhai Python ac i'r gwrthwyneb.)

Beth sydd ei angen arnoch

  • o leiaf 3 micro:bit, gorau po fwyaf
  • pecynnau batri micro:bit (opsiynol)

Cam 2: Codio

1# A micro:bit Firefly.
2# By Nicholas H.Tollervey. Released to the public domain.
3import radio
4import random
5from microbit import display, Image, button_a, sleep
6
7# Create the "flash" animation frames. Can you work out how it's done?
8flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
9
10# The radio won't work unless it's switched on.
11radio.on()
12
13# Event loop.
14while True:
15    # Button A sends a "flash" message.
16    if button_a.was_pressed():
17        radio.send('flash')  # a-ha
18    # Read any incoming messages.
19    incoming = radio.receive()
20    if incoming == 'flash':
21        # If there's an incoming "flash" message display
22        # the firefly flash animation after a random short
23        # pause.
24        sleep(random.randint(50, 350))
25        display.show(flash, delay=100, wait=False)
26        # Randomly re-broadcast the flash message after a
27        # slight delay.
28        if random.randint(0, 9) == 0:
29            sleep(500)
30            radio.send('flash')  # a-ha
31            
32

Cam 3: Gwella

  • Newid y ddelwedd sy'n cael ei dangos pan fydd y dangosydd yn fflachio
  • Addasu'r cod i'w wneud yn fwy neu'n llai tebygol o sbarduno digwyddiad fflach arall mewn micro:bits eraill. Gallai'r ystod o rifau ar hap gyd-fynd â nifer y micro:bits sydd gennych: bydd hyn yn ei gwneud yn fwy tebygol os oes gennych lai o micro:bits
  • Gwneud grwpiau llai o bryfed tân gan ddefnyddio gwahanol rifau grŵp radio. Dim ond y micro:bits sydd â'r un rhif grŵp fydd yn gallu cyfathrebu â'i gilydd.
  • Arbrofi â newid pŵer y signal radio.
    Defnyddiwch y bloc 'radio gosod pŵer trosglwyddo' yn MakeCode.
    Yn Python defnyddiwch radio.config(power=7)
    Dewis rhif rhwng 0 (y signal radio gwannaf) a 7 (y cryfaf).
    Pa effaith mae newid y pŵer radio yn ei gael?
Ariennir gan Lywodraeth Cymru / Funded by Welsh Government

Translation generously supported by the Welsh Government.