Challenges, demos, and discussion.
Are you looking for cool, non-trivial project ideas for your micro:bit or Python class or club?
Are you looking for a way to have your micro:bit beginners contribute really meaningful pieces to a bigger whole, without the wiring getting more complex, without the code getting messier, and without risking the whole thing falling apart?
use radio messaging between micro:bits to add sound effects, music, and remote-controllers to an existing, exciting two-player NeoPixel light-racing game!
As educators, we’ll complete the same activities the kids would. We’ll see that a divide-and-conquer approach using radio messaging between components allows for individuals to easily contribute simple pieces to the larger shared whole, at their own speed, without dependencies on each other, and without creating one giant, hard-to-understand, bug-ridden program. Easier coding? Check. Easier wiring? Check. More free pins on our micro:bit? Check!
An early (MakeCode) version of this activity was run very successfully at the London Science Museum’s first CoderDojo by our group, and at Camden CLC’s after-school “Hack Club” (in this workshop form).
@00mins: Invite people to play the game (in its core form - without sound and without remote controllers). Let everyone have a quick turn. YES, this is before any introductions have been made!
@03mins: Ask the audience to identify problems with the game, and areas for improvement. Two things inevitably come up: its lack of sound, and the fact that the crocodile clips can come loose when two players excitedly mash the microbit’s buttons.
@04mins: Ask the audience about sound effects in other racing games they know: what are the sounds during the starting lights of Mario Kart? What other sound effects we might try to add to the game? This develops a rough spec for the sound effect part of the workshop.
@05mins: Confirm with the audience that they agree it would be easier to play if you had remote controls like on a video game console. Ask how many buttons each controller would need. This develops a rough spec the remote controller “make” part of the workshop.
…
@20mins: SPLIT the participants into two groups: sound effects and controller-makers. (It does not matter if one group is much larger than the other.)
THE SOUND EFFECT GROUP
sfx@21mins: Sound effect makers meet the music API:
…
sfx@30mins: start designing and coding YOUR sound effects.
Beginners can use an if statement in python to only play a sound if the received number matches the event of interest.
sfx@40mins: final touches
THE REMOTE-CONTROLLER ‘MAKE’ GROUP
rc@21mins: remote-controller group make simplest controller
rc@30mins: Make a better controller from kitchen-foil, cardboard, bluetack, and croc clips
rc@40mins:
Decorate and customise your controller with felt-pen, stickers, etc, so that it is unique. Tweet it!
ALL
@45mins: ALL REGROUP to play the game together!
@47mins: discussion
Reflection, discussion, and ideas for further work:
Propose a forum for further discussion.
@50mins: Congratulate everyone and thank them (just because they are educators doesn’t mean this was easy for them!) Request feedback. Say goodbye. (Give tiny handout with URL with a web-page with information for further work, links to support materials, and library documentation, and our simple online feedback form.)
@51mins: chase to next workshop
What are your equipment and other requirements? Computers with which to program the micro:bits. Ideally with Mu installed and tested.
USB leads and battery packs for the micro:bits.
The workspace shouldn’t be too noisy to hear our young coders.
This talk is suitable for teachers.