Bionic Clicker MKI
by ElliottMagee in Circuits > Assistive Tech
7979 Views, 142 Favorites, 0 Comments
Bionic Clicker MKI
This guide is for building the 'Bionic Clicker' as demonstrated in the Our Cyborg Bodies talk for Pint of Science 2016.
The Bionic Clicker was designed to simultaneously control a slideshow and demonstrate electromyography (EMG) based control systems. It is a simple device that allows you to advance slides by moving your index finger. It also has several manual input buttons in case things go wrong during a live demonstration.
The MKI device was designed and built in two days using bits and pieces lying around my lab. I plan to design a MKII device in the near future that will be slightly cheaper to build.
This guide assumes that you are capable of uploading code to an Arduino and soldering.
Here is the device in action:
Equipment & Materials
Step 1.
Gather together the following items:
links are largely UK links because I drink tea.
Laptop
USB A-B cable
Double sided velcro
Hot glue gun
Assorted wires
Arduino MEGA 2560
https://www.amazon.co.uk/Genuino-Mega-2560-Microco...https://store.arduino.cc/product/GBX00067
E-Health Shield v2.0
https://store.arduino.cc/product/MK00604
3 x EMG cables
http://bio-medical.com/products/din-ekgemgeeg-snap...
https://www.amazon.co.uk/ECG-PRO-3-WAY-CABLE-X2-Au...
https://www.amazon.co.uk/SHIELD-EKG-EMG-PRO-Cable-...
3 x EMG electrodes
http://www.advancertechnologies.com/p/muscle-senso...
https://www.amazon.co.uk/Biomedical-Sensor-Pad-10-...
9v Battery
Arduino power cable
https://www.amazon.co.uk/Power-Cable-Battery-2-1mm...
Bluefruit EZ-KEY HID
https://www.amazon.co.uk/Bluefruit-EZ-Key-Bluetoot...
Strip board
https://www.amazon.co.uk/Small-Stripboard-25-64mm-...
2 x push button switch
https://store.arduino.cc/product/C000027
https://www.amazon.co.uk/Generic-Momentary-Tactile...
slide switch
https://www.amazon.co.uk/DPDT-Vertical-Slide-Switc...
5 x Resistors 10Kohm
https://www.amazon.co.uk/1280-Pcs-Values-ohm-Assor...
Move on to step 2.
Assemble Base Components
HEALTH AND SAFETY
This project includes connecting yourself to an electronic device. Ensure that at no time there is a connection between yourself and mains electricity.
DISCONNECT YOUR LAPTOP FROM THE MAINS AND RUN IT OFF THE BATTERY
Step 2.1
Plug the e-Health sensor shield into the arduino and connect the EMG cables to the shield.
If you purchased cables which do not have a matching connector type with the shield, cut and strip the end of the cable and screw these into the shield.
Step 2.2
Place the EMG sensor pads on your hand. The electrodes for M and E should be paced either end of the muscle that tenses when you move your index finger from side to side. The electrode for ground should be placed on the back of your hand. (see the images above).
Step 2.3
Connect the cables to the the sensor pads.
Step 2.4
Unplug your laptop from the mains (if you haven't already) and then, and only then, plug the Arduino into the PC via a USB cable.
You are now ready to perform the initial test of the EMG sensors. Move on to Step 3.
Test EMG Sensors
HEALTH AND SAFETY
This project includes connecting yourself to an electronic device. Ensure that at no time there is a connection between yourself and mains electricity.
DISCONNECT YOUR LAPTOP FROM THE MAINS AND RUN IT OFF THE BATTERY
Step 3.1
Download the e-Health library for the eHealth shield. Unzip it and place it in the arduino libraries folder (usually found in documents/Arduino/libraries).
Step 3.2
Download 'ThresholdTest' and open it in your Arduino software.
Step 3.3
Upload 'ThresholdTest' to the Arduino and then open the serial monitor
You should now see the output of the EMG sensor on your hand.
Move your index finger from side to side and move your hand around without moving the index finger to either side. Pick a value that is above what you see when you move your hand around, but below what you see when you move your finger from side to side. This is your Threshold Trigger Value, this is the value at which you will want the finished device to be activated. For me that value was 200, although 140 would have been sufficient to only trigger intentionally.
Step 3.4
Download 'BoomTest' and open it in your Arduino software.
Step 3.5
Replace 'PLACE_YOUR_THRESHOLD_TRIGGER_VALUE_HERE' with the Threshold Trigger Value you determined.
Step 3.6
Upload 'BoomTest' to the Arduino and then open the serial monitor.
Move your hand around (not moving the index finger from side to side). You should not see anything on the serial output.
When you move your index finger to the side you should see the word 'BOOM' appear (due to it's nature as a word to call out when you have finally got something working (at least for me)).
Step 3.7
If 'Boom' appears at the wrong time or not at all, check your connections and move back to Step 3.3
If everything works move on to step 4.
Solder the Control Board
The control board has several buttons on it, in case things go wrong during a live presentation.
It includes manual forward and backwards buttons (for slide shows) as well as a manual override button to turn off the EMG input in case the EMG input becomes unreliable.
Step 4.1
Break the copper tracks on the vero board in the places shown in the picture. This allows for individual tracks to have multiple functions across the board.
Step 4.2
Place the components as shown in the picture the solder them in place.
Step 4.3
Cut wires so that they will run from your forearm to your upper arm (around 30cm)
Step 4.4
Solder the wires to control board, following the circuit diagram.
Step 4.5
Solder the 5V and GND pins of the HID module to the header pins on the control board.
Step 4.6
Solder the wire for pins 2 and 3 to the HID module.
Step 4.7
Solder the other ends of the wire to the header pins.
Move on to step 5
Assemble Clicker and Update Arduino
HEALTH AND SAFETY
This project includes connecting yourself to an electronic device. Ensure that at no time there is a connection between yourself and mains electricity.
DISCONNECT YOUR LAPTOP FROM THE MAINS AND RUN IT OFF THE BATTERY
Step 5.1
Re-assemble the Bionic Clicker, connecting the header connectors from the control board wires to the arduino and eHealth shield. Connect the battery to the Arduino.
Step 5.2
Ensure your laptop is no longer connected to mains and then connect the arduino to the laptop via a USB cable.
Step 5.3
Download 'BionicClicker' and open it in your Arduino software.
Step 5.4
Replace 'PLACE_YOUR_THRESHOLD_TRIGGER_VALUE_HERE' with the Threshold Trigger Value you determined.
Step 5.5
Disconnect your arduino from the laptop
Move on to Step 6.
Downloads
Connect the Keyboard to a Device
Step 6.1
Follow the instructions to pair the bluetooth HID module to your device.
This step differs depending on the computer you intend to connect it to.
Follow the manufacturer's guide for Windows, Mac and Linux.
Step 6.2
The device should now be connected. If not check the following error codes to see if this helps.
If this step works move on to Step 7.
Test the Clicker
Step 7.1
The clicker works by sending either a keyboard press left of a keyboard press right to the laptop via Bluetooth.
Open any software which allows you to perceive these presses (e.g. notepad with some text) and test whether these commands are sent and received.
If not check the red blinking light on the HID module against the error codes in Step 6. If this is not the issue check whether the green light on the HID module flashes when you move your finger/ press a button (the correct behaviour). Use this to troubleshoot your physical connections.
If the battery is low the device may give erratic behaviour, always use a fresh battery.
Step 7.2
Test the clicker with your chosen presentation software.
Raising your index finger should progress the slides. The override switch should turn the EMG function on and off and the manual forward and backwards buttons should progress and retreat the slides in both scenarios.
Move on to step 8
Mount the Clicker
Mounting the clicker is done by making velcro arm and wrist bands and by gluing the pads of velcro to the circuits.
Step 8
Cut velcro to size to go around your wrist. Make sure the loops are facing inwards to not scratch yourself.
Step 8.2
Cut velcro to size to go around your upper arm, again make sure the loops face inwards.
Step 8.3
Cut velcro strips to the size of the Arduino and control board. Cut a strip that will fit tightly around the battery.
Step 8.4
Glue the loop side of the strips to the bottom of the arduino and the bottom of the control board.
Step 8.5
Velcro the control board to the wrist strap. Velcro the Arduino and battery to the upper arm strap
Step 8.6
Look like a cyborg.
Done
You now have a fully assembled and working 'bionic clicker' for all your presenting needs.
I hope you enjoyed making it.
This is my first guide so if I need to make some changes please let me know.
Please check out my talk if you found this interesting.
I am currenty working on making the bionic clicker MKII, I will update with a link when it is done.