The Empower Glove

Making the Empower Glove

The concept for the Empower Glove is simple and profound. The concept is “I complete an action, I create change.” — “I clench my fist and the light comes on.” This first prototype uses the haptic interaction of pressure. By clenching one’s fist, in an intentional gesture, and enacting the reciprocal feedback, the project teaches both embodiment through intentional somatic awareness and empowerment through creation, gesture, and reciprocity.

Before Getting Started

Download Arduino – Arduino is the open source software we will use to program these kits to do the cool things we want them to do! The code provided with the kit is a starter sample so that your kit works as intended but you are encouraged to learn, play, experiment and remix all you want!

Visit Arduino to learn more ways to use and explore!

What You Will Need

1H_PG_DocuDir

1 x Glove – you can find these for a couple dollars at almost any retail store or if you are like me, you have a bunch of non-matching gloves in different crevices of my dresser.

1 x Velcro – for the Empower Glove you will want something to help anchor your breadboard

1 x Wire Cutter

Micro USB-B cable – (purchase)

Needles and Thread (for sewing the velcro to your glove) or Fabric Glue or Hot Glue

  • One note about Hot Glue – Use the low heat kind so you do not melt anything. It also acts as an insulator so do not apply the glue to anything that needs to make an electrical connection.

The Empower Glove Kit Components

6H_PG_DocuDir

1 x Breadboard (purchase)

1 x ProMicro (3.3v/8mhz) (purchase)

1 x Force Flex Sensor (purchase)

1 x Addressable Neopixel (purchase)

1 x 10kΩ Resistor (purchase)

5 x wires (purchase)

1 Micro-USB (purchase)

Directions

1.) Push Pro Micro into the Breadboard

7H_PG_DocuDir

Notice how one side has 1 row of holes and the other side has 4 rows available.

3.) Place NeoPixel LED into Breadboard

8H_PG_DocuDir

Notice the flat side of the LED – make sure the flat side of the LED is facing the outside of the board

9H_PG_DocuDir

Place the LED so that the furthest pin (the one under the flat side of the LED) is on the furthest hole of the breadboard.10H_PG_DocuDir

 

 

4.) Cut up some thin pieces of the velcro (the tooth side) and place on the Force Sense Resistor (if not using glue)

11H_PG_DocuDir

 

 

5.) Place the Force Flex Sensor into the Breadboard

12H_PG_DocuDir

Place it so that its two pins are in the furthest two holes across from the LED. The force flex sensor tends to become loose after some use. You can use low heat hot glue to provide a little bit of structure on the back end of the sense. Be careful not to get any hot glue inside the breadboard holes.

 

6.) Wire the Force Flex Sensor

13H_PG_DocuDir

Feel free to use your wire cutters to trim down your wires in case you want a tighter design.

10k Resistor from the ProMicro GND to the Force Sense Resistor Data Pin

1 Red Wire from the ProMicro VCC to the Force Sense Resistor Power Pin

1 Green Wire from the ProMicro A0 to the Force Sense Resistor Data Pin

 

7.) Wire the NeoPixel LED

15H_PG_DocuDir

empowerhori

 

1 Black Wire from the ProMicro GND to the LED GND Pin (third pin from the left)

1 Yellow Wire from the Power Row PWR to the LED PWR Pin (second pin from the left)

1 Green Wire from the ProMicro PIN 3 to the LED Data In Pin (first pin from the left)

16H_PG_DocuDir

 

 

8.) Attach the Breadboard and the Force Sense Resistor to the glove underside

1H_Supplies_DocuDir

If using velcro: Sew the velcro onto the glove. The bottoms of breadboards are naturally sticky so you can stick the alternating velcro side to the bottom of the breadboard and it should stay there no problem.

If using glue: glue the breadboard to the glove.

18H_PG_DocuDir 19H_PG_DocuDir

Some may find attaching the Force Sense Resistor to the middle finger may prove better, luckily it is easy to pick up the FSR and place it in a different place if you use velcro.

 

 

9.) Plug in your Micro USB and let’s upload some code!!!

20H_PG_DocuDir 21H_PG_DocuDir

 

 

How to Program your Empower Glove

 

1.) Open up Arduino (which you downloaded from the link above)
2.) Before Plugging in your ProMicro make sure to download Sparkfun’s board and build files. Here is a tutorial: https://learn.sparkfun.com/tutorials/pro-micro–fio-v3-hookup-guide

Windows Driver Installation

Step 1: Download the Driver

Before plugging your board in, get a head start by downloading the drivers. Check the GitHub Repository for the latest files. The same driver file works for both the Pro Micro and the Fio v3. The drivers for both the Fio and the Pro Micro are signed for Windows users. You can download them directly using the link below.

FIO AND PRO MICRO DRIVERS

Unzip that zip file, and don’t forget where you’ve left its contents. In that zip file, you should find an INF file, which contains all the information Windows needs to install the Pro Micro’s driver. This sparkfun.inf will be found in Arduino_Boards-master → sparkfun → avr → signed_driver.

Step 2: Plug in the Pro Micro / Fio v3

When you initially plug the board in, an “Installing device driver software” bubble notification should pop up in the lower-right corner of your taskbar. After the green dot circles the grey box a number of times, you’ll probably get a sad bubble like this:

Never fear! Windows just doesn’t know where to find our driver.

Note: Some users have experienced issues when plugging the Pro Micro into a USB 3.0 port. If you experience issues on USB 3.0 ports, try switching to use a USB 2.0 port.

Step 3: Open the Device Manager

From here, the most straightforward way to install the driver is through the Device Manager. To get to the Device Manager, click the Start button, then open the Control Panel. In the Control Panel, click System and Maintenance, and then open the Device Manager.

Alternatively, you can open the Run prompt (Windows key+R) and type ‘devmgmt.msc’ and click OK.

In the Device Manager, expand the ‘Other devices’ tree, where you should find a ‘USB IO Board’ with a yellow warning sign over its icon. Right-click the ‘USB IO Board’ and select Update Driver Software….

This should spawn an ‘Update Driver Software – USB IO Board’ window.

Step 4: Finding the Driver

In the first window that pops up, click ‘Browse my computer for driver software’. On the next window, click‘Browse…’ to search for the driver you just downloaded. It should be a folder named ‘Arduino_Boards-master’, in a subdirectory noted in step 1. After you’ve selected the ‘driver’ folder, click OK, then select Next.

Windows will attempt to do its driver install thing, but not before complaining about the driver being unsigned. It’s safe to select ‘Install this driver software anyway’ on the warning dialog.

After watching the progress bar beam by a few times, you should get a happy ‘Windows has successfully updated your driver software’ window. And the ‘Device Manager’ should have a new entry for the ‘SparkFun Pro Micro (COM ##)’ (or ‘SparkFun Fio V3 (COM##)’ if you have one of those) under the ‘Ports’ tree.

Take note of which COM port your Pro Micro was assigned. We’ll need it soon.

Installing the Arduino Addon

We’re still not completely ready for Arduino, but this is the final stretch. Before you can use the ProMicro in the Arduino IDE, you’ll need to install the board (.brd) files for the Fio/Pro Micro so the Arduino IDE will know how to communicate with your board.

Using the Board Manager

With the release of Arduino 1.6.4, adding third party boards to the Arduino IDE is easily achieved through the board manager. If you’re running an older version of Arduino (1.6.3 or earlier), we recommend upgrading now. As always, you can download the latest version of Arduino from arduino.cc.

To begin, you’ll need to point the Arduino IDE board manager to a custom URL. Open up Arduino, then go to the Preferences (File > Preferences). Then, towards the bottom of the window, paste this URL into the “Additional Board Manager URLs” text box:

COPY CODE

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

You can add multiple URLs by clicking the window icon, and pasting in one URL per line.

Click OK. Then open the Board Manager by clicking Tools, then hovering over the Board selection tab and clicking Board Manager.

Search for ‘sparkfun’ in the Board Manager. You should see the SparkFun AVR Boards package appear. Click install, wait a few moments, and all the .brd files you’ll need should be installed, indicated by the blue ‘Installed’ that is printed next to the package.

You should now be able to upload code to a number of SparkFun Arduino-compatible products, including the Fio and the Pro Micro.

Installing the .brd Files Manually

If you are using an older version of the Arduino IDE and do not have access to the Board Manager, then you’ll need to install the .brd files the old fashioned way.

To begin, download this zip folder, and unzip its contents into a ‘hardware’ directory within your Arduino sketchbook.

Note: These Arduino addon files only work with Arduino 1.5 and up. If you’re using an earlier version of Arduino, either update (and get some cool new features), or download the older version of the Addon.

Where’s your Arduino sketchbook? Well, by default, it should an ‘Arduino’ folder in your home directory, but to double check you can go to ‘File’ > ‘Preferences’ within Arduino and check the ‘Sketchbook location’ text box. Just make sure you close all Arduino windows once you’re done.

Once you’ve unzipped that folder into the ‘hardware’ folder within your Arduino sketchbook (you may actually have to create a hardware folder), your directory structure should look something like this:

The structure of this directory is critical – it should look something like “Arduino/hardware/[manufacturer]/[architecture]”, in this case [manufacturer] is “sparkfun”, and [architecture] is “avr.”

There’s a lot going on in that addon, but one of the most important files is ‘boards.txt’, which will add a few new entries to your ‘Tools > Board’ menu.

To double-check that the board definitions have been added to Arduino, open up Arduino, and check under the ‘Tools > Board’ menu. There should be some new entires for ‘SparkFun Pro Micro 8MHz/3.3V’, ‘SparkFun Pro Micro 16MHz/5V’, and other 32U4 boards.

Notice there are two options for Pro Micro – 8MHz and 16MHz. It’s very important that you select the Pro Micro option that matches your board’s voltage and speed. Don’t know which board you have? Check the bottom of the board, where you should find either a ‘5V’ or ‘3.3V’ box checked.

You should also see your Pro Micro’s COM port under the ‘Tools > Serial Port’ menu. Select it, and head over to theExample 1 page where we’ll upload our first piece of code.

Installing: Mac & Linux

If you’re using Mac or Linux, follow the steps below to get your Pro Micro (or Fio v3) ready to go on your computer. We’re not going to name names here, but installing the Pro Micro on Mac OS X and Linux is a lot easier than on other OS’s…

Following these directions is critical to getting your Pro Micro supported within your Arduino environment!

Board Installation

Using the Board Manager

With the release of Arduino 1.6.4, adding third party boards to the Arduino IDE is easily achieved through the board manager. If you’re running an older version of Arduino (1.6.3 or earlier), we recommend upgrading now. As always, you can download the latest version of Arduino from arduino.cc.

To begin, you’ll need to point the Arduino IDE board manager to a custom URL. Open up Arduino, then go to the Preferences (File > Preferences). Then, towards the bottom of the window, paste this URL into the “Additional Board Manager URLs” text box:

COPY CODE

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

You can add multiple URLs by clicking the window icon, and pasting in one URL per line.

Click OK. Then open the Board Manager by clicking Tools, then hovering over the Board selection tab and clicking Board Manager.

Search for ‘sparkfun’ in the Board Manager. You should see the SparkFun AVR Boards package appear. Click install, wait a few moments, and all the .brd files you’ll need should be installed, indicated by the blue ‘Installed’ that is printed next to the package.

You should now be able to upload code to a number of SparkFun Arduino-compatible products, including the Fio and the Pro Micro.

Installing the .brd Files Manually

If you are using an older version of the Arduino IDE and do not have access to the Board Manager, then you’ll need to install the .brd files the old fashioned way.

When you initially plug your Pro Micro into a Mac, it’ll pop up a “Keyboard Setup Assistant” window. This stems from the Pro Micro’s ability to emulate an HID USB device (e.g. keyboards and mice) – the Mac thinks your Pro Micro is a human input device (which it could be! but isn’t yet).

There’s nothing to configure in this window, so just click the big, red, ‘X’ to close it.

That’s all there is to it! The CDC (communication device class) portion of your Pro Micro (the part that handles USB to Serial conversion) should automatically install on your computer.

Installing the Arduino Addon

In order to use the Pro Micro or Fio v3 in your Arduino IDE, you need to add a few board definition files to it. That’s what we’ll do in this section. Begin by downloading the Pro Micro addon files.

Note: These Arduino addon files only work with Arduino 1.5 and up. If you’re using an earlier version of Arduino, either update (and get some cool new features), or download the older version of the Addon.

With that downloaded, follow these steps to enable the Pro Micro in your Arduino environment:

  1. The addon files are supplied in a zip folder, so you’ll need to extract the files within first.
  2. Find your Arduino sketchbook folder. If you don’t know where it is, you can locate your sketchbook by looking at the preferences dialog in your Arduino IDE.
  3. If there isn’t already one, create a folder in your sketchbook called ‘hardware’.
  4. Copy the ‘sparkfun’ folder that was unzipped in the first step into the ‘hardware’ folder.
    • Your directory structure should look something like “Arduino/hardware/sparkfun/avr.”
  5. Restart Arduino, and look under the Tools > Board menu. You should see a few new options, including ‘SparkFun Pro Micro 5V/16MHz’, ‘SparkFun Pro Micro 3.3V/8MHz’, and ‘’SparkFun Fio V3 3.3V/8MHz’.

If the boards are visible, select the option that matches your board. If you have a Pro Micro, make sure you select the correct operating speed and voltage! Then head over to the next page where we’ll upload our first sketch!

3.) Replace the code in the new file with the code below
4.) Select Tools > Board > Sparkfun Pro Micro > ATMEGA32U4 (3.3V, 8MHz)
5.) Put your glove on and make sure the usb is plugged into the glove and your computer
6.) Program the forceValue If Statement

Screen Shot 2016-03-03 at 11.57.16 AM                  Screen Shot 2016-03-03 at 11.53.56 AM

As you can see, the sample code has “if forceValue is less or equal to 415 then do…” but each person’s will vary slightly. To see which values you need, open up your serial port. The serial port is a magnifying glass icon on the top right of your sketch window

Numbers should start scrolling through. Move your fingers around and watch how they change. Your Force Sense Resistor is measuring the amount of bend force you are applying. Now make a fist. Make a fist a few times will noting the value at which you clench your fist and at which you release it.

Note that value and replace the “415” after if(forceValue <= 415)

Since everyone is unique you may find that your values go higher once your fist is clenched. Simply change the “<=” to “>=” which means “greater than or equal to”

7.) Upload your code via the USB to your glove
8.) Play and feel empowered!

You should now be the proud, empowered engineer, designer, and programmer of an Empower Glove!

Share your creation to Instagram, Facebook, Twitter, etc with 

#HaptikaEmpowered

///Haptika ***THE EMPOWER GLOVE!!!***
// v.03 with through hole NeoPixel LEDs
/*

The Haptika Empower Glove is an electronic DIY project which
aims to represent a thereaputic DIY wearable platform to enable a sense of
embodiment and empowerment in special regards to those who are survivors
of trauma and abuse. Through the access, creation, remix, and use of the
Haptika platform, survivors have the potential to RE-member personal trauma
through play, embodiment, and empowerment.

This project in particular aims to mitigate the effects of abuse through intentional gesture and
somatic awareness of the haptic interaction of pressure. The intentional gesture is simple yet
profound. The concept is “I complete an action, I create change.” —
“I clench my fist and the light comes on.”
By clenching one’s fist, in an intentional gesture, and enacting the reciprocal feedback,
the project teaches both embodiment through intentional somatic awareness and empowerment
through creation, gesture, and reciprocity.

Parts list:
ELECTRONICS:
1x Breadboard
1x Sparkfun Pro Micro (https://www.sparkfun.com/products/12640)
1x Force Sense Resistor
1x Addressable Neopixel
1x 10k Resistor
Wires

DIY PARTS:
1x Glove
1x velcro or attaching material

Included in this code is Adafruit’s Neopixel library:
https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library

*/
//Include these libraries and parameters
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 3 //PWM pin 3 for output to Neopixel

// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic ‘v1’ (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 – 500 Ohm resistor on first pixel’s data input
// and minimize distance between Arduino and first pixel. Avoid connecting
// on a live circuit…if you must, connect GND first.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_RGB + NEO_KHZ800);

int forceValue; //calling out this variable to use below for the Force Sense Resistor (FSR)

void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //Starting the serial so that we can read data that comes in

pinMode(3, OUTPUT);//LED on pin 3
strip.begin();
strip.show(); // Initialize all pixels to ‘off’

}

void loop() {
// put your main code here, to run repeatedly:
//Open up the serial port to read what the FSR reads as fist clenched and unclenched
//Note these values to use in the if statement below
forceValue = analogRead(A0);
Serial.println(forceValue);

//if statement allows for a cause and effect situation
//here place the value for fist clenched
//note that in this example, my reading is less than 415 when my fist is clenched)
if(forceValue <= 415){

rainbow(20);

}
else{ //else says that if the value is not less than 415 do this…
strip.setPixelColor(0, 0, 0, 0); //sets the Neopixel to “off” (pixel #, r, g, b)
strip.show(); // Initialize all pixels to ‘off’
}

}
//NeoPixel functions to call above!
void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r – g – b – back to r.
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0);
} else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3);
}
}

 

If you run into any problems, don’t hesitate to contact me