These projects were built by middle school girls during week-long camps in the summer of 2017. The camp curriculum included a day learning to use the micro:bit, a day learning AppInventor, and a day learning networking with BlockyTalkyBLE. The last two days were spent designing and building projects.
Car with LEDs
Goal: These girls wished to build a car after seeing a working version of Kitronik's Line Following Buggy KIt. They planned to use the phone as a remote control that would allow the car to go forward, backward, make turns and stop. They also wanted to add lights that changed colors depending whether the car was going forward or backward. Implementation: These girls built 2 cars using the buggy kit, leaving out line following hardware. They added drivers and passengers made from pipe cleaners, and a strand of NeoPixels for the lights. On MakeCode, they incorporated Kitronik's motor package, and LPC's BlockyTalkyBLE and Bluetooth-friendly NeoPixel packages. On AppInventor, they built an app with buttons for the drive commands and the BlockTalkyBLE connection actions. They also added an image from a car GPS user interface.
BlockyTalkyBLE on the app in button event handlers to send messages to the micro:bit like "Forward", "Reverse", "Stop", "Left" and "Right" The BlockyTalkyBLE "message received" event handlers on the micro:bit execute statement blocks from the Kitronik motor and NeoPixel packages to make the car move and the LEDs to change colors.
Light Up Dog Collar
Goal: These girls designed a dog collar (worn by Kari) which lights up. The collar changes colors when the (human) user says a color into a phone app, presses a button, or as the dog moves around. The collar also works as a "FitBit", keeping track of the number of steps the dog takes, which can be monitored on the phone. The (human) user can also put in a step goal, and when that goal is reached, both the phone and collar "celebrate" the achieved goal.
Implementation: A strand of NeoPixels, the micro:bit and a lithium ion battery were attached to a dog collar. In MakeCode, LPC's BlockyTalkyBLE and Bluetooth-friendly NeoPixel packages were added to the project. The accelerometer on the micro:bit was monitored in a forever loop, and the micro:bit sent a BlockyTalkyBLE message and changed NeoPixel colors each time the accelerometer reached certain threshold values. The BlockyTalkyBLE "message received" event handlers on the micro:bit execute statement blocks from the NeoPixel package to make the LEDs change colors.
On the AppInventor app, the UI allowed for the user to use voice recognition to change the color of the collar. The UI also had buttons to set the collar to "rainbow" and a text edit box to set the step counter goal. Event handlers for voice recognition and button clicks caused BlockTalkyBLE messages to be sent to the microbit. a BlockyTalkyBLE "received message" handler would keep track of the number of step messages from the micro:bit and compare that to the goal set.
Piano with Robotic Piano Player
Goal:These girls designed a piano which played could play tunes chosen from a phone app. They also designed a robotic piano player whose arms would go up and down as she sat in front of the piano (not shown) .
Implementation: The piano's micro:bit had a thin speaker from Kitronik conected to pin 0, and the robot's arms moved using a 180 degree servo. BlockyTalkyBLE "message received" event handlers executed servo and music blocks. The AppInventor app had buttons to play a song and to move arms. Both button event handlers send BlockyTalkyBLE messages to the micro:bit.
The wedding was a group project that 6 girls worked on together, creating the whole event in about 2 hours. micro:bits were used to light the wedding arbor, wag the cat's tail and play wedding music. App Inventor apps were built to control the lights and the cat via BlockyTalkyBLE. It was really an amazing wedding!
The Laboratory for Playful Computation is part of the ATLAS Institute at the University of Colorado Boulder.