loading
So, after lurking around in the shadows for years I've finally gotten round to making my first step-by-step instructable.  *yay*

A little background as to how this whole idea came about.

Back in 2009, I needed some bend sensors for a sign language translation glove I was making for fun, and the commercial ones that just came out were over my budget considering I needed at least 10. 

Then I came across plusea's DIY bend sensors on Instructables.
It was what I was looking for but I had one small problem. Well, a few problems actually. (Not with the 'ible of course)
All the different instructables required the use of neoprene, or at least conductive thread and conductive fabric.
I could get the anti static bags locally, but getting the above items would mean the total bill (after shipping and currency exchange rates and tax) would consist of mostly that, and not the cost of the items.

So I decided to see if I could just experiment with the conductive anti static bag(although in all honesty I tried matching it with a whole bunch of other stuff; like carbon paper). It took 2 weeks of playing around during my free time before I finally had a decent build. (Still works to date! )

So for all of you who has a tight budget or like me, can't get easy access to items in the states, this is for you.



Step 1: Materials and Tools

Aside from the anti static bags, you should have the rest lying around or easily make your own wires.

Materials
◆ Anti Static Bags 10x15cm ( I used Vermason Conductive Bags) element14/ farnell order code: 522740 
    ◣  http://sg.element14.com/vermason/bp3eg/bag-conductive-100x150mm/dp/522740?Ntt=522740
◆ Cable Tie (20 - 25cm is great)
◆ Masking Tape (We have them in 3 sizes here. But I found the 2.4cm and 1.1cm to be great. We'll need both)
◆ Jumper Wires (I'm using ones in 20cm length)
     â—£ http://shop.aiscube.com/Cables-And-Connectors/Jumper-Wires-20cm-Pack-Of-20


Tools
◆ Pencil. I would not recommend mechanical pencils as it's too sharp and it might damage the material while marking out the border. (true story)
◆ Pen Knife
◆ Wire Stripper

Step 2: Preparation

IMHO, The preparation part is the one that takes up the most amount of time. The making is actually a lot faster once you get the hang of it.

Okay, loads of tips to share here.


-----------------------------------------------
Preparing the Conductive Bags
-----------------------------------------------
The 10*15cm size bags are great as you can make use of the dimension itself and just cut (mostly) length wise to get the pieces. 
Please note, you'll have to trim off the edges (just the little bit of edge!!) along the 15cm side. I strongly recommend leaving cutting off the bottom of the bag till last, so you can use it as a guide and cut 2 sheets of the conductive bag at the same time. 
Check out the photos for an illustrated view of this.


Tip: It really helps to have a stencil for cutting out consistent rectangles for the anti static bags. 
What I did was draw the rectangles with a thin black border in the exact sizing and got it printed on card stock paper.
Cut on the border line with a pen knife and lay it on the conductive bags length wise, and use a pencil to draw the lines using the stencil as guide.

To Do: Cut 2 pieces of 0.8cm by 15cm, and 1 piece of 1.7cm by 15cm.

IMPORTANT! In the event that you accidentally:
- Stretch/Pull it
- Spill stuff on it
- Damage it with the pencil (remember the true story warning earlier?)
- ...or any other stuff that causes it to not look nice and perfect.. 
Well.. Do another one.


-----------------------------------------------
Preparing the Jumper Wires
-----------------------------------------------
These ready made jumper wires are great. Cut them into half and we'll have 2x 10cm connectors and we can use to make one bend sensor.

If you're making your own, follow likewise =)
1. Measure 5cm of the wire and strip it. Twist / Twine the multi-core strands so they're easier to handle. 
2. Make a loop back down to the base where the insulation starts, and twist the wires together a little so that it stays there.
3. You should now have a nice loop.
4. Do the same for all.

Warning: DO NOT solder/ tin/add flux to the wires. This affects the resistance value later on. Just leave it in its *natural* state. 

-----------------------------------------------
Preparing the Masking Tape
-----------------------------------------------
Take the thin masking tape (1.1cm in width), measure 17cm and cut.
Put it aside on the edge of the table and do another one. You'll need 2 of this.

Take the thicker masking tape (2.4cm in width), measure 19cm and cut.
Put it aside. You'll need just 1 of this.





Step 3: The Making

Slowly and steadily.. 

Using the thinner masking tape (1.1cm) with the sticky side facing up, Place the conductive bag piece that we just cut, right in the middle of it. Make sure there's a border of sticky tape all around. Smooth it out.
The conductive bag piece should have the nice black side facing up.
IMPORTANT! Any printed sides should be faced down on the sticky side.


Take one of the jumper wire connectors and place it slightly off-center onto the edge as shown. 
The exposed loop wire should be kept within the black conductive piece. (No peeking out on the sides!!!)
Allow a 0.5cm of insulated wire part to be within the black piece as well. 

Do the same for the other piece.

Take the large conductive bag piece that we cut just now (the one that is 1.7cm in width), and fold it in half, lengthwise.
IMPORTANT! Any printed sides should be inside, leaving the completely black surface on the outside.

Lengthwise, align the 2 thin pieces and match the sticky border together.
Place the large piece that we just folded into half into the sandwich.
Now we can close off the whole thing. 
IMPORTANT! Make sure nothing is peeking out or invading into the sticky border's personal space! Re-align and nudge things into place as you're closing the sandwich if you have to!

You should now have something that looks like the right-most illustration.





Step 4: Reinforcements Have Arrived.

*gawd i'm having so much fun with the titles*


Anyway, the sensor in its current state is too flimsy, and because masking tape will fold rather than bend nicely, we'll need to reinforce it with a cable tie so that the cable tie provides it with a nice bend.


01. Take the thicker masking tape piece and with the sticky side up, place the cable tie right in the middle of it as shown.
*Smooth side facing up*
02. Trim off the excess cable tie that is sticking out.
03. Place the sensor on top of the cable tie, right smack in the middle.
04. Fold the sticky edges up of the thicker masking tape onto the sensor.
05. You'll notice a gap in the middle.  (Yeah, I just made that a step of its own)
06. Take the roll of thin (1.1cm) masking tape, and cover it up the gap nicely. Leave a bit excess to fold down to the back.
07. Near the jumper wire connectors, 1cm from the edge, fold down (towards the back) at an angle as shown in the illustration.
08. Slip a shrink tube (1.5cm in length, 1.1cm in width before shrinking) that covers the 1cm where you just folded and leave the 0.5cm for the wire connectors. 
09. Shrink the tubing using a soldering iron or a lighter. (Please be careful when doing this! <insert usual disclaimer here>)
I personally prefer using the lighter because it's quick and even. 


And.. You're done! 
Now to test it.


 

Step 5: Interfacing It to a Microcontoller

I'm going to be using a BCore100 Microcontroller to test the bend sensor.
You can get them here: http://shop.aiscube.com/Microcontrollers/BlazingCore/BlazingCore100-Development-Kit

However, before connecting it to the BCore100 ADC pins, we'll need to have a voltage divider circuit.
The BCore100 is a 3.3V system with a 10bit resolution ADC. So I'm using the resistor values as shown in the image for a 3.3V version. If you're using a 5.0V system, I have provided the values as well.

Connect the voltage divider and bend sensor as shown to the BCore100's ADC pin 17.
We'll do a really quick check in the debug window for the values.

Open Sonata IDE, Create a new Project, and Inside the module Code1, copy and paste the following. 
__________________________________________________________________

'CODE1
Public Const BendSensorPin As Integer = 17
Public BS1 As integer

'===============================================================================
PUBLIC SUB MAIN()

     BS1 = GetADC(BendSensorPin)

     Do
            BS1 = GetADC(BendSensorPin) 
            'Convert the Integer Value of the Sensor to String,
            'and send it back to the PC
            Debug.Print Cstr(BS1)
            Delay(100)
 
     Loop


End Sub


__________________________________________________________________

Press F5 to download. (I'm assuming that you have already given the Sonata IDE the COM number that the download key is using, if you're not sure, check here)

Once downloaded, you should see values like the ones in the photo (Look at the right most yellow pane). 


For a better view, check out the next step for a Visualized U.I view that I did on an OLED screen, with a video of the Bend Sensor Flexing.


Step 6: OLED User Interface: Bend Sensor Flex Visualization

For the User Interface and the screen that you see, I'm using the BCore OLED Graphic Development Kit that can be found here: 
http://shop.aiscube.com/Microcontrollers/BlazingCore/BCore-OLED-Graphics-Development-Kit

.==============================================================================
There's a low cost BCore PIC32 BASIC 2.8" TFT Touchscreen Platform version of the OLED platform now going on pre-order for SGD$99. (That makes it about US$79, with free worldwide shipping) Pre-order ends 16th June 2013, Kits start shipping end July 2013. http://shop.aiscube.com/Microcontrollers/BCore-PIC32/BCore-PIC32-BASIC-2.8-TFT-Graphics-Development-Kit
=============================================================================


I wrote a little Progress Bar library since I needed different progress bars for a whole bunch of various projects. It's not perfect, but serves well enough for whatever I need it for. 

You can download the entire project code I used here: http://www.mediafire.com/?gfx65kjlokb24oo

The code is extremely easy to understand. Most of it is initializing the Progress Bar dimensions and position, then performing a limit check on the value of the Sensor, and then sending the value to the library to draw it to the OLED screen.
As you can see, I scaled it to a 0 - 100% value range.

Vimeo Video


Youtube Video



Thanks for reading!
Let me know what you guys think =)
<p>Hi,I want to know if it still work when using a smaller Anti Static Bags?</p>
<p>Hi, I will need to make six of these for a glove im using to control some servos with an arduino uno. 1. How do I interface these with the arduino 2. Will i need the voltage divider ? (3) How do i make one ?</p>
1) The same way you would with normal ones, except you need to play around with reaistance in circuit.2) highly dubt it, but id yes a bunch of resistors will do the job. )Tutorial there ia for a reason?
<p>Apologies for the noob question ! but i was unsure :) thanks for the help !</p>
<p>That's perfectly normal and nothing to apology for. Just keep on learning :)</p>
I need some help regarding the calibration of the bend sensor. The change in resistance corresponding to each bend is there, but the value doesn't seem to be the same everytime. So eventually it becomes difficult for me to write the code. How do I overcome this problem? I'm using Arduino Uno for the testing.
Hello VigneshK23,<br><br>I'm not too sure if I understand you correctly, but is the change in resistance from resting position to bend position roughly the same?<br>If so, you can just calculate for the change (resting value - bend value) to get the approximate bend position. This should help with the drift in values, and also for the different values of the different sensors.<br><br>Cheers
I'm sorry but I don't get you properly. I'll just elaborate ny problem. <br>I'm doing the sensors for a sign language translator glove. I'm testing it using Arduino uno. I connected the sensor through a voltage divider circuit with a 15k resistor. I observed the ADC output on the serial monitor. For one trial, for a fully stretched finger, I got values from 360-400 . For a later trial, I got values in a different range for the same finger position. So that makes it difficult for me to fix the range of values for each finger position.
*my problem
<p>Hi Vignesh,</p><p>Assuming a fully stretched finger is &quot;resting position&quot;, and when you bend your finger (maybe halfway). Is the difference (resting position value - bend position value) about the same across the different trials? If so, you can just make use of the resistance change (difference in value) and not the actual values, since you're experiencing some sort of drift.</p>
<p>Love this instructable. Its exactly what I'm looking for. One question. Will anti static bags that hard drives come in work? They are blue and semi-transparent and I a bunch of em. </p>
Hi JasonR23,<br><br>Unfortunately not, those are just anti-static bags, and similar to the semi-transparent pink ones, black &amp; white ones, shimmery ones, or any other plasticky anti-static bags which fall under the same category.<br><br>The key thing we're looking for is conductive bags, and not anti-static bags. They're very different things =)<br><br>A good way to test them is to use an ohm-meter on the material.<br>The resistance should vary depending on the distance between the 2 points. <br><br>Cheers<br>tonll<br>
<p>I really appreciate the efforts of Instructor.... Very well explained... Most catchy are the replies given by the Instructor...They are really grt..thanks...</p>
<p>true<br></p>
whr do i will get this conductive bags ? <br>
<p>the comps motherboard comes in em</p>
<p>thanks a lot :)<br>and can I use it instead of a linear rotative potentiometer on a square wave oscilaltor? for controle over frequency?</p>
<p>Hi There! Nice project! Have a question here: If I want to connect 2, 3 or 4 flex sensors in my Arduino, is it necessary one voltage divider for each one? Or just ONE voltage divider is enough for connect all of them? Thanx for sharing this DIY !! Greets from Argentina!!</p>
Hello! Thanks!<br><br>You'll need a voltage divider for each one of them. =)<br>Hope that helps.<br>Greetings from Singapore =)<br><br>Cheers<br>tonll
<p>Hi again! Thanx for your reply! I&acute;ve got another question here.<br>I&acute;m having some trouble here trying to get Velostat sheets. Is there any similar product or replacement material I could use instead of Velostat?<br>It&acute;s getting difficult to me to get Velostat here in my country (Argentina). I&acute;m trying to get some conductive fabric but got the same problem :(<br>Any idea?<br> Thanx a lot for any help you can share with me.</p>
<p>Hmmm.. would getting some off ebay work? </p><p>otherwise, your local distributors of farnell/RS/digikey/mouser or equivalent in your country might work.</p><p>Pretty much guess work. Hope you get it sorted out.</p>
<p>Hey! I can't seem to find any Velostat or Linqstat or black conductive bags (as you have used here) in any hardware store. I live in Europe and can't find an online shop to order some also. Any help on a substitute material that is easy to find or some shop that ships it worldwide? Thanks!</p>
Hello!<br><br>UK Farnell has it. <br>http://uk.farnell.com/vermason/bp3eg/bag-conductive-100x150mm/dp/522740<br><br>You can check to see if your country is listed under &quot;Change Country&quot; - Europe <br>Hope that helps!<br><br>tonll<br>
<p>Do you think that this might work (the bag in the ebay link provided) ? I've found some on ebay, and can be shipped to me. <br><br><a href="http://www.ebay.co.uk/itm/BLACK-CONDUCTIVE-BAG-102X102MM-PK100-006-0002FI-1687802/271241147817?_trksid=p2047675.c100011.m1850&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D24436%26meid%3Da46034c049d34fb4b4c073886a748fae%26pid%3D100011%26prg%3D9173%26rk%3D1%26rkt%3D10%26sd%3D320843661626" rel="nofollow">http://www.ebay.co.uk/itm/BLACK-CONDUCTIVE-BAG-102...</a></p>
<p>It does look similar, and it'll probably work.</p><p>But there's no datasheet, so I'm not sure if you'll get the same results since the resistance could be different.</p><p>Cheers</p>
<p>what are the range of values will u get from this sensor</p>
<p>what are the range of values will u get from this sensor</p>
<p>Hi tonll / Michelle! Quick question here: I have some of the silver-gray, semi-transparent anti-static bags that are also common, do you know if this sensor would work with those too? You specifically say to use the heavy black bags (Velostat, which I'm not as familiar with), so it sounds like it won't work with the silver-gray bags.<br>So, I'd need to use something that looks like the image here:<br><a href="http://sg.element14.com/multicomp/006-0003f/black-conductive-bag-100x150mm/dp/1687804?in_merch=true&MER=MER-L53-L5IB-PD-ALT-TPS" rel="nofollow">http://sg.element14.com/multicomp/006-0003f/black-...</a></p><p>and the bag in the image here wouldn't work?? :<br><a href="http://sg.element14.com/multicomp/mc35830/bag-static-shielding-355-x-254/dp/2135903" rel="nofollow">http://sg.element14.com/multicomp/mc35830/bag-stat...</a></p>
<p>Hello!</p><p>Hmm. I'm not sure if it'd work as I haven't tried it on those anti-static bags.</p><p>2 main important points to note is that the velostat bag is made of a electrically conductive material (carbon), as well as the surface resistance.</p><p>A quick test that can be done to see if the bag you have conducts, is by taking a multimeter and measuring the resistance from one point of the surface of the bag to another.</p><p>Changing the distance of the 2 probes from each other should result in a proportionate change in resistance reading. As with the velostat bag, readings tallied with the datasheet's specs of 100K ohm ++ to values in mega ohms. </p><p>Which in turn, affected the size I chose for the final dimensions used. (due to the resistive readings)</p><p>Although the silver grayish bags have a surface resistive spec, the build of it uses polyester, and the datasheet says nothing about it being one of those conductive polyester films that has carbon black in it. </p><p>I'd suggest trying the above test method.</p><p>Hope that helps!</p><p>Cheers</p>
<p>Thanks for the quick reply! I figured it had to do with the surface resistance, thanks for confirming and sharing the testing idea. I'll try it out and see if it works.</p>
Hi. Just wondering if the resistance value is more linear than logarithmic?
Hi there just for the sake of trial what is the range of values that you get?
Also i have it working, in the way that if i press the surface it goes up the voltage, but only if i press there not if i bend it... what can it be worng?
Hello <br> <br>With the voltage divider, would you beable to show a picture of the circuit from underneath or tell me, because I do not know where to solder together for current to flow through in the right directions. I can't read the schematics well. <br>Thankyou
Do you know some material to replace Velostat?
Hi guys <br>I just wanted to ask, what level ohm or kohm resistors are being used for the voltage divider I have 100ohm resistors would they be sufficient for the voltage divider, I will be using arduino to do this project. <br> <br>Also, I am making a robotic hand which is controlled by the flex sensors connected to a glove, would this type of homemade flex sensor do the job well and be sensitive enough. <br>It is for a competition and will be doing more than just the glove.
Hi,<br><br>Please refer to step 5 for the diagram and values of the resistor for the respective voltage.<br><br>Most arduinos are 5V systems. So you'll probably need 2x 10k Ohm resistors.<br><br>Yes. It's sensitive enough. If you read the introduction, these sensors were originally made for use with a glove for a sign language translation application.<br><br>Hope that helps!<br><br><br>Cheers
Great DIY ...i def want to make these ..... 1 question tho would i need to use the voltage divider circuit you used for an arduino application of these sensors???
Hello!<br>Thanks! =)<br>Yes, you do. Depending on the arduino you're using, please following the resistor values for a 5V or 3.3V arduino version.<br>Cheers
sorry for the newbie question. Just getting started. I'm using arduino. I'd like to try this with it. How do we know which of the wires from the flex sensor goes to VCC and which goes to GND?
Hi, you'll need to connect it to a voltage divider before you can connect it to a microcontroller.<br>Please read through the entire instructable, you'll find helpful schematics on step 5 that states that the sensor is just like a variable resistor, and how you can perform the interfacing.<br><br>Hope that helps!<br>
Hi Tonll, <br>Thanks for your reply. I did read the through the entire instructable and I saw step 5 and the illustration for 5V. As I said I am a newbie so perhaps I'm misunderstanding something (although I've been reading a ton on electronics as well as beginning the MITx class EE). I used the Flex Sensor from Spark Fun and it too needs to be wired through a voltage divider. Your schematic in Step 5 looks like the schematic I used for the wiring of the Spark Fun Flex Sensor. So I thought I knew what I voltage divider was. In the Spark fun Flex sensor there is a lead that goes to VCC and one that goes to GND. My question was which of the leads in your Flex Sensor goes to VCC and which goes to GND ? Maybe it doesn't matter or maybe I'm missing something? <br> <br>Thanks again!! and great instructable
Hi mhussar,<br> <br> It's great that you're picking up electronics and programming. I hope you have fun with the many adventures I'm sure you'll have. =) Makes life all the more interesting.<br> <br> From what you have expressed in your post above, it seems to me (I could be wrong) that perhaps there's been a fundamental misunderstanding of what resistors or maybe just the flex sensors are, and its role in a voltage divider. If I may try to explain as plainly as possible from now on, so hopefully it clears some misunderstandings and make you go AH-HA! or OOOOH! out loud as you're reading.<br> <br> For that, here's some background references for what I'm about to explain.<br> Since you're coming from a previous understanding of the Flex Sensor that Sparkfun carries;<br> &acirc;—†Tutorial for the flex sensor I assume you're referring to:<br> http://www.sparkfun.com/tutorials/270<br> &acirc;—†There's a great link on explaining what voltage dividers are here:<br> http://www.sparkfun.com/tutorials/207<br> <br> &quot;I used the Flex Sensor from Spark Fun and it too needs to be wired through a voltage divider.&quot;<br> Actually, The reference circuit given in the&nbsp; datasheet uses the sensor as a resistor to form part of the voltage divider. Because the flex sensor is just that. A resistor that varies when it bends. The same concept goes for the DIY Bend Sensor.<br> <br> &quot;In the Spark fun Flex sensor there is a lead that goes to VCC and one that&nbsp;goes to GND.&quot;<br> Back to my previous point. It's a resistor. Resistors have no polarity. The flex sensor's (carried by Sparkfun) leads are actually interchangeable. You don't actually connect one to VCC and the other to GND. It's used as R1 of a simple voltage divider circuit. So one goes to VCC, and the other lead to another resistor of a chosen value (pre-calculated) that connects to GND. In which case you then take the point in between the 2 resistors, and connect it to an ADC pin. (Refer to the voltage divider equation at this point)<br> <br> To help visualize and maybe simplify things.. I made an image.<br> I really hope that helps.<br> https://www.instructables.com/files/deriv/FFQ/NG9W/H5TUCAFL/FFQNG9WH5TUCAFL.THUMB.jpg<br> <br> So when you asked this before..<br> &quot;My question was which of the leads in your Flex Sensor goes to VCC and which goes to GND ?&quot;<br> Actually... I answered your question.<br> &quot;the sensor is just like a variable resistor&quot;<br> <br> I really hope at this point, you've understood.<br> If you still don't, please point out which part you don't understand, and we'll try again from there.<br> <br> Cheers.
Oohh and Ahh. <br>Totally get it. Not sure where I picked up that Flex Sensors have polarity. Maybe I mistook the brown bit on the right wire in the Spark Fun Flex Sensor as indicating polarity. However, as I am beginning to understand in general, once one grasps these concepts more fundamentally, mistakes like that should be less likely to happen. I already knew that resistors don't have polarity and also how a POT works as a variable resistor creating a voltage divider. Just didn't get that the Flex sensor was essentially the same thing until you explained it. Thanks so much!!!
Hey! YAY! You got it! Hahahah. That's great!<br>Glad I could help. And yeah.. gain as much experience as possible while learning. You'll find that doing will let you appreciate all the theory even more. It did for me.<br><br>Cheers
Your design would have a limited use-life and the fatigue reading would degrade after a threshold number of bends is reached. Better materials (plastic dip perhaps) to take the place of the tape would increase lifetime use of the sensor. I really like the simple approach you used to address a need. You prove we need not be slaves to commercial suppliers when we really CAN do it our self. I hope to see more instructables authored by you.
Hello. Hmmm. Maybe. I don't exactly have a technical specification and test results that prove that point about the fatigue, but it has done its job for the time frame of at least 8 months that the project lasted. (the occasional taking out and playing with it) <br>I do like your idea of plastic dip. And yes, I agree that better materials will really take this sensor's life time and perhaps performance to the next level. But at that time, I really had to make do with what I had lying around. And this instructable was the result =) <br> <br>Thank you for the motivation. I really hope to be submitting more instructables very soon. <br>
it doesnt matter if the life is low atleast its like 10 times cheaper!!and could ya tell us ur idea(with plastic dip?)
THis is really cool. One thing I noticed is what looks like some &quot;fatigue&quot; where the readings seemed to drop with time. Was that a problem in regular use?
Hello! Thanks! <br>Perhaps you're referring to the part where I tried bending it further in the middle and the values didn't change. The thing is, there's a sweet spot to this bend sensor and that is where the jumper wire is. <br>It responds to the bend at that junction the most. <br>If there really is a fatigue.. I wouldn't be able to hit the max value and that was kinda based on the min and max values I was getting. <br>I've had some bend sensors that I made 2 years back and it still works with the same program and gives out the same reading. Perhaps there may be chance of fatigue reading on very constant use over a long period of time. But as of yet, I have not had the chance to do a thorough test like that. <br> <br>Thanks for the keen observations. You made me ponder about the possibility of fatigue over regular use. =) <br> <br>And thanks for the kind words dude!

About This Instructable

80,466views

209favorites

License:

More by tonll:DIY Bend Sensor (Using only Conductive Bags and Masking Tape) 4 Legged Robot Transformation (2 Robots Merging Into 1) Animatronics: Lion Dance 
Add instructable to: