Cam 1: Gwneud
Troi set o micro:bits yn haid ddisglair hudolus o bryfed tân gan ddefnyddio cyfathrebu radio
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 defnyddiwchradio.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?
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.
Translation generously supported by the Welsh Government.