Allowing users to reliably control various objects remotely through minimal body movement is the next step in a fully automated world. By integrating passive electrodes that can be reused, into a simple to use wristband, it allows for greater flexibility among users. 2 dry electrodes will be embedded strategically into a 3D printed wristband to pinpoint and read specific signals from certain muscles in the arm. The signals received from the muscles will get amplified through an amplifier circuit and get fed into an Arduino's analog inputs which interprets and runs the data through a decoding algorithm. The Arduino then proceeds to send the commands into a bluetooth module to remotely control any object that the user wishes. Initially, the armband will be used to turn on and off a light, but there are many more possibilities, for example, the armband can be used to control curtains or perhaps even a wheelchair. In the future, more adjustments will be made to this innovation to all users to control objects with thought.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Get the Parts
This project will require multiple parts that can be easily accessed. You will need:
-2x Arduino Unos (for Prototyping)
-1x breadboard (for Prototyping)
-1x Adafruit Feather 32u4 (for final)
-2x 1.8k resistor (prototyping uses)
-2x 3.3k resistor (prototyping uses)
-1x 1k resistor
-1x LED (for testing)
-1x HC-05 Bluetooth Module
-1x HC-06 Bluetooth Module
-1x Myoware Muscle Sensor
-1x lipo battery
-Smartphone and Computer for programming Arduino
Step 2: The Basics
The muscle sensor is an analog sensor that gives a voltage reading from 0 - 1023 based off of the rate and intensity of your muscle movement. Since this sensor already has all the amplifiers and filters embedded inside the module, it is not necessary to overcomplicate the circuit.
The HC-05 and HC-06 are bluetooth modules that are capable of transmitting various pieces of information via a bluetooth connection. The reason why I did not use two HC-06 modules is because the HC-06 can only be configured as a Slave device, meaning that it only receives data and cannot initiate a transmission. The HC-05 can be configured as a Master or a Slave device, meaning that it can initiate a connection as well. Both bluetooth modules can be powered by 5v but its communication voltages are only 3.3v compatible. The Arduino treats any input above 2.5v to be “high” so by using a simple voltage divider, we can safely wire the bluetooth module to the Arduino and establish a secure communication.
Step 3: Configuring the Bluetooth Modules
Before starting, we need to test and configure the bluetooth modules. Wire the HC-05 to the Arduino like shown above (Note, the RX goes to the RX and TX goes to the TX, this is not a mistake) and wire the HC-06 module up as well like shown. To avoid confusion, only have one Arduino powered on at a time. Power the Arduino with the HC-06 up. Download “Bluetooth Serial Monitor” on your phone and search for the address of the HC-06, we will be needing that in order to automatically have the bluetooth modules pair on power up. The address will be in this form: 30:14:10:17:11:79
While you have the HC-06 powered, enter this to configure it:
-AT+PSWD1234 (Changes password to 1234)
It is important to set the passwords of both bluetooth modules the same so it can connect to each other.
Now power up the Arduino with the HC-05, upload an empty sketch, and open the Serial Monitor. Change the Serial Monitor from No Line Ending to Both NC and CL and the baud rate to 38400. Make sure that the bluetooth module is not powered, hold down the button on the HC-05 module, and then power it up. Release the button when you see the LED blink every second. You have now entered the AT command mode. The AT command mode is like the root of the module, where you can send commands to it as an administrator. Type “AT” (without the quotes) into the Serial Monitor and you should see a response of either “OK” or “ERROR(0)”. Either response lets you know that you are successful. To configure it, type the following into the Serial Monitor:
-AT+ROLE=1 (Master mode)
-AT+UART=9600 (Baud rate)
-AT+CMODE=0 (Connect to any device)
-AT+PSWD1234 (Change password to 1234)
Here, power on the HC-06 module, as now we will have the HC-05 look for the other bluetooth module. Enter this into the HC-05:
-AT+INQM=0,5,9 (searches for up to 5 bluetooth devices for 9 seconds)
-AT+INIT (initiates the SPP profile. If SPP is already active you will get an error(17) which you can ignore.)
-AT+INQ (looks for other Bluetooth devices.) Wait for about 9 seconds and make sure that the HC-06 address that you recorded beforehand appears in the Serial Monitor. If it does, type this into the HC-05 to pair with the HC-06 bluetooth module:
-AT+PAIR=1234,56,789101,9 ← (your bluetooth module address here, group the first four numbers, and the last 6 numbers together a.k.a. If your address was 12:34:56:78:91:01, then enter 1234,56,789101. The 9 at the end gives the timeout time, if it was successful, you will get an OK, if not, you will get an error after 9 seconds)
-AT+BIND=1234,56,789101 ← (your address here) AT+CMODE=1 AT+LINK=1234,56,789101 (you should get an OK if this went well)
You are now complete! Now, you should see the HC-05 LED blink twice every two seconds and the HC-06 LED solid. Additionally, rewire the bluetooth modules as shown below (RX and TX get switched)
Step 4: Wiring the Myoware Sensor
It’s time for the good part! Wire the myoware sensor to the Arduino with the HC-05 like shown. Snap an electrode on all of the button snaps in the myoware sensor and stick the sensor to your bicep and the black wire to a convenient bone (elbow bone). On the Arduino with the HC-06, stick the LED into pins 13 and GND, where the longer leg goes into 13 and the shorter one goes into GND. Upload the code attached (transmitter code goes to the Arduino with HC-05 and receiver goes to the other one).
Step 5: Testing
When you run the code, flex your muscle and the LED should turn on. Flex it again and the
LED should turn off.
Step 6: Finalizing
No one wants a messy electronics project that is bulky and not aesthetically-pleasing, so time to clean up this project and put it in a nice case. We will be using an Adafruit feather 32u4 for this project as it integrates a battery charger and a powerful microcontroller into a small form factor. Since the microcontroller is 3.3v-compatible, and the myoware is 3.3v tolerant, we do not need the resistors to the bluetooth module and can connect both modules straight to the microcontroller. Wire up the modules like shown in the image and upload the code attached. Feel free to modify the code and adjust the wiring to your content, because remember, the LED is just there for demonstration purposes.