Showing posts with label networked objects. Show all posts
Showing posts with label networked objects. Show all posts

Tuesday, April 24, 2007

Final Summary

While this isn't the end of these kinds of projects for me, this is the end of this specific iteration. This project was a combination of two classes I was taking this semester: Networked Objects and Wearable Technology, at ITP. The point of the project was to create a proof of concept that a system could be set up between a remote place (i.e. a server) and some kind of wearable application, using a cellphone as the persistant gateway to the internet.


What, Why, How
I augmented a garment, in this case a dress, with conductive fibers, designed to heat up and turn thermochromic ink (i.e., Hypercolor), from one color to another. The participant would wear the garment, which would dynamically reflect the current number of people who have come by his/her site for that day. By comparing the previous day's numbers against the daily average, one of two icons are 'turned on' via resistive heating, displaying whether or not there has been a dip or rise in daily visitors.

I wrote a java app that communicates with the dress via bluetooth, which pings a php script responsible for reporting the server's number of hits for the week. The user is required to fire up the app on their cellphone, which initiates the datascraping and transmission process.

Here's a diagram that illustrates this interaction:


Hardware/Software
The hardware in this project is minimal, with most of the work being done in the software.

Here's a list of parts I'm using:

Arduino
BlueSMiRF
2 Darlington transistors (TIP120)
2 - 1k resistors
3 - 9v Batteries
Conductive thread (which takes the place of wires in my circuit)
Thermochromic ink, mixed with regular screening ink.

And here's a list of what I coded in:

PHP for datascraping
Arduino code for chip
J2ME

Circuit Schematic


Each conductive thread has its own power supply, since I am shorting out a battery in order to get enough heat generated to cause color change in the ink. I'm PWMing transistors, which switch the threads on and off. All of the components in the circuit share a common ground, but for the threads running through the thermochromic ink icons, when and if they receive power is controlled by turning the gate that goes to ground, on and off, in the transistor.

Set-backs
There are many issues that came up during this project, that are discused in more detail in the blog entries below this one, but these are some of the major ones:

- Conductive thread is fairly tricky to work with. Voltage is lost very rapidly down a length of thread, and you have to be sure to insulate everything in your circuit, since the fiber acts as a live, unshielded wire, when it has power running through it! Fabric glue, hot glue, and/or interfacing (which has glue on its backside; you adhere it to your garment by ironing it on) all work well for insulating soft circuits.

- Related to the voltage/current dropping along the conductive threads, it was hard to get the ink to change color enough without using a 9V battery, and even then, it wasn't as noticeable as it could have been.

- The ink doesn't change as much on my dress, and I had it changing on a test swatch of fabric earlier. This was due to not only a lack of current, from power being lost down the thread; it was also from a poor mixture of screen inks. You have to experiment, in order to get the right combination of thermo/regular screen ink. Also, it works better to have the ink painted over the thread that is responsible for heating it up, versus just having it stitched on top.

- Power supply is the biggest bear of a problem, considering this is a wearable. Having three 9V batteries tethered close to your body isn't the most ideal set up.

- Related to power supply, using Bluetooth is VERY power consuming. The batteries were being drained fairly quickly because of it. I don't have an exact battery lifetime expectancy figured out yet, because I haven't had the garment running long enough to completely drain a battery out. I will post later what I find, in terms of exact numbers.

What worked well
- Darlington transistors to switch the threads on and off works wonderfully, and most importantly, simply. I started out using MOSFET chips, but found that the transistors did the job well enough.

- Using the phone as a constant access point for the internet was a lot less complicated than I had anticipated. It's a great, convenient way to send and retrieve data between the net and your device.

- Using fabric interfacing to create battery holders was a fast, strong, and easy way to get the job done. You just have to iron them in place, leaving a pocket to slip the battery into.

Wednesday, April 4, 2007

Talked to Tom and found out how to use a MOSFET driver. I was advised that a MOSFET is the way to go for sending current down threads. I will still be shorting out a battery, but the MOSFET will allow me to control when and which threads get power sent through them via the arduino (or any microcontroller, for that matter). I am going to try to track down a smaller version of the arduino, which is being developed here at itp. It is much more conducive to being sewn into a wearable application than the mini or full-sized arduino, because of its smaller dimensions, including thickness.

Today I'm going to get in touch with a couple people to figure out how to connect to the internet via my cellphone.

current steps outline:
- get cellphone to connect to net and return data to arduino
- build working mosfet circuit with basic on/off code
- try creating a bus.. see how long battery drains when you have multiple threads attached
- see how long battery drains with just one thread attached.
- build circuit with working arduino code, doing data scrape.
- create design for dress
- stitch threads into dress
- screen on design
- stitch in circuitry!
- figure out power source

Much thanks to Marcelo, who has been advising me along the way, particularly with giving me the idea to use MOSFETs in the first place.

Sunday, April 1, 2007

Doing more research on ways to heat the thread so as to avoid shorting out batteries. I am looking at peltier junctions, although the problem of power supply suitable for a wearable (and thus, non-tethered) application emerges from going down this road. Peltier junctions consume quite a bit of power. It seems I could power two of them with 5V and 0.7A (as found off this project's page: web.media.mit.edu/~marcelo/pureplay/index.htm).

I am also looking at Joe Paradiso's Parasitic Power Shoes, which harvest excess energy from walking.

Reference: http://www.media.mit.edu/resenv/power.html

I think that's probably going to have to be saved for another project, but wearable technology that is powered from harvesting energy your body creates is a very interesting concept.

I also checked out cute circuit's hug shirt, which transmits a hug over bluetooth to a bluetooth enabled cell phone to another hug shirt.

I can also try using TC4432 MOSFET drivers for sending current down threads, controlled by the arduino. Thermistors can check current temp, to prevent hazardous situations from occurring.

Reference: http://web.media.mit.edu/~marcelo/kukkia_vilkas/berzowska.pdf

Looked at heating elements too: http://www.thermion.com/heaters/

You can custom order heating elements from Thermion, specifying dimensions and input power! That sounds promising.

Saturday, March 31, 2007

Today I researched how to connect to the internet via my phone by looking at the (ITP's) mobile ubiquitous computing class' website. I was successful in gettinga text message sent through my phone, to my gmail account, and back to my phone, via php and perl.

I also tested sending current down different conductive threads to affect color change in my thermochromic ink, designed to change color at body temp or above. Threads with higher resistance work best, and I have placed an order for Bekaert VN 14 1/90 thread. It has a resistivity of 70 ohms/meter. Also, the thread is quite thin, almost like regular thread, so I may be able to use a sewing machine (I hope so!)

observe:

before power!


after power!


How to safely power this is still a problem, however. The easiest, yet obviously least desirable way, is to short a battery out while heating the thread. This naturally occurs when you respectively place either ends of the thread you are trying to heat, on the power and negative terminals of a battery; there are no components along the circuit using up all the voltage. It's basically a direct connection from the negative end of the battery terminal to the positive. Sparks fly and smoke wafts... something which is a bit disconcerting.

Thursday, March 29, 2007

On getting power to the threads:

So there are two ways of getting heat (created from putting power...) down the threads:

- short-circuiting the battery either end of the threads are attached to
- using peltier junctions or some other heating element

So far, sending current down the wire seems to work well. but there are sparks generated when power is connected! kind of scary..

On thermochromic inks:

There are a few different kinds of thermochromic ink out there. From cti inks, aside from being able to buy different colors, there are also inks designed to respond at different temperatures.

I've found that inks which turn color at body temperature work best when working with conductive threads.

I will try mixing the thermochromic ink with regular speedball screen inks. The idea is to get the thermochromic ink to turn to a different color when they are heated. There are a couple colors available from cti inks, which turn from one color to another, but I didn't like the color combinations they had available. Otherwise, the inks turn from their original color (the cold color), to clear. By mixing in regular screen inks (which will change the thermochromic ink's cold color, so don't forget your color theory), you can create a mixture that goes from one color when cold, to another after heated. When the thermochromic ink turns clear, you will be left with the original regular screen ink color.

I'm going to be using black thermochromic ink, so I won't have to deal with my cold color being changed (since black will mask whatever regular ink i add in). I want to go from black to pink, black to orange, or black to blue. Or maybe all three! We'll see.

I give thanks to Mouna for her advice so far, and have also been digging through Joey Berzowska's pages on working with thermochromic inks.

Thursday, March 22, 2007

Project kick-off

This project is going to be a culmination of many interests I've had all year long: thermochromic inks, mobile computing, and bluetooth technology.

Specifically, I am going to design a display system for a dress (which is pre-made, at least for this iteration of the project), whose display is affected by network activity, monitored via a bluetooth connection to my cell phone. The idea is that the cell phone, which maintains constant connection to the net, executes a php script, retreives the data, and then returns it to my garment, which controls the thermochromic display via an arduino.

For those who don't know, thermochromic ink is what Hypercolor was, back in the late 80s (remember those days??). It's ink that changes color with application of heat. Using resistance heating, enough heat is generated from a thread that has current sent down it, to change the color of ink designed to turn at temps above body temperature.

A flow chart, putting those words into a picture, can be seen here.

This is my initial outline for this project:

1. Draw flow diagram, showing how everything is connected

2. Data component
a. figure out how to connect to internet via bluetooth in phone
b. data scrape a site for test data

3. Physical component
a. sew conductive threads into a swatch with ink on it. test different threads for their effectiveness
b. set up circuit that lets me send current down different threads (maybe look at led array that leah buchley made?)

4. Visual component
a. figure out graphic design of print and what I actually want to do with it!
b. silkscreen graphic
c. sew in threads + circuit.