Wearable Simon Says
"Simon Says" is a game that people of all ages enjoy playing, at least in my opinion!
With this project, the responsibility of making sure players correctly reenact "Simon's" movements is no longer on "Simon". It's on the BBC Microbit! These wearable "Simon Says" shirts allow Microbits to send and detect arm and torso movements, letting players know whether the correct gestures were duplicated by Simon's followers!
Supplies
- 2x BBC Microbit Microcontrollers (for this project one V1 Microbit & 1 V2 Microbit were used)
- 2x Microbit battery holders (for AAA batteries)
- Conductive thread
- Copper tape
- Alligator clips (for testing)
- 2x long sleeve shirts (either the same shirt or similar shirts)
- Regular thread
- Felt
- Velcro patches (28x rough velcro & 4x soft velcro)
- Hot glue gun
- Hot glue
Radio Communication Between Microbits
We can make our Microbits talk to one another! Microbits use radio communication to send and receive messages to one another!
To start, visit https://makecode.microbit.org/
Click the 'Import' button in the right-hand corner of the 'My Projects' section
Then, choose the 'Import URL'
Copy the following URL's into the box (you will need to do these steps twice and import the URLs separately)
Flash these files to each of your Microbits (receiver code to one and transmitter code to the other), and you should see the string "Hello World" displayed on the LED screen of the Microbit with the receiver code.
If you don't know how to flash to a Microbit click here!
If you want to find out more about how radio communication works via Microbits watch this video!
Adding Gesture Recognition
Next, we'll change up what we're sending via radio communication to be numbers (you can also send different strings for each gesture but in my opinion, that is too error-prone to typos). This way when Simon does a gesture that the Microbit can detect (ie tilting the Microbit left), a number will be sent via radio to Simon's follower. If the gesture matches Simon's for that number the players will be notified their move was correct!
Again, copy the following URLs and import them into makecode!
You will want to make sure that the receiver code is flashed to a V2 Microbit because the code plays sound and the V2 Microbit has a built-in speaker!
So, flash the code to each of your Microbits (flash the transmitter code to one Microbit, and flash the receiver code to the other).
After doing so you should have a working Simon Says game that has gesture recognition!
DIY Capacitive Touch Sensors
Next, we're going to make capacitive touch sensors that can be added to our Simon Says!
A capacitive touch sensor is a technology, based on capacitive coupling, that can detect and measure anything that is conductive or has a dielectric different from air. In less complicated terms, it's like a button that uses the current in our bodies!
Using felt, cut out 12 hearts, to make sure that your hearts are all the same size download the stencil that can be found here and print it out!
Then, line 6 of the hearts with copper tape on one side.
Once the hearts are lined with the tape, cut away the excess so that the heart maintains its shape.
To test that the sensors are working, copy this URL, import, and flash to one of your Microbits.
Attach an alligator clip to pin 0 on the Microbit and the other end to one of your hearts.
Pressing the 'A' button will calibrate the Microbit to the base readings of the sensor.
Pressing 'B' will start a loop that lights up a singular LED on the LED matrix. When you touch your heart the rest of the LED's in the matrix should light up which means that your DIY sensor works (a video demo of this can be found below)!
Test all of your sensors this way to make sure they are all working correctly!
Lastly, take the remaining 6 hearts that are not lined with copper tape and sew them to the hearts that have the copper tape on them. Make sure that when doing this the copper tape is on the inside of the felt on both sides of the heart!
Downloads
Assemble Your Wearables!
First, you will need to attach 12 rough velcro patches (24 in total) to each of the shirts in the above design.
Then, connect the 3 long strands of conductive thread to the shirt.
The conductive thread should be connected to the velcro patches on the outside of the shirt.
When making my shirts I kept the conductive thread that connects each of the velcro patches under the shirt & hot glued it down. Then, brought the conductive thread through to the outside of the shirt to sew in the velcro patches! You can follow this implementation, keep the thread on the outside of the shirt, or sew it in!
Test each of the strands after they have been sewn into the shirt by flashing the capacitive touch sensor code from the previous step to each of your Microbits (ie once the strand is sewn through the left arm attach that to pin 0 and make sure that it can detect your touch by touching the thread, you should see the red square light up when touching the thread with your hand)
After all 3 strands are attached to the shirt and patches and you have tested them. Sew them to the Microbit to pins 0,1 & 2. Then, hot glue the Microbit to your shirt.
Test all of your pins again with the capacitive touch sensor code to make sure that the thread has made a connection with each of the pins.
After that has been verified, attach 2 pieces of the soft velcro patches to each of your battery packs.
Decide where you want to place your battery packs on your shirts (make sure they are reachable and can connect to the Microbit), then stick two of the rough velcro patches on each shirt where you want the battery pack & attach.
I used two turtle necks so the battery backs were attached to the lower neck so that they could be hidden when the fabric folds over them!
Below is a video of how I tested to make sure that my connections were good (I tested with the code that is given in the next step)!
Downloads
Adding Final Touches!
Last but not least!
The last thing you need to do is copy the following links, import them into Makecode, and flash them to your Microbit's!
There are comments in the code with an explanation of what is going on!
- Simon Says transmitter
- Simon Says receiver (Again, make sure this code is flashed to a V2 Microbit!)
That's it, now you're ready to play!
Have fun!