<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>New Textiles 2011 &#187; Assignments</title>
	<atom:link href="http://newtextiles.media.mit.edu/?feed=rss2&#038;cat=14" rel="self" type="application/rss+xml" />
	<link>http://newtextiles.media.mit.edu</link>
	<description></description>
	<lastBuildDate>Thu, 08 Dec 2011 06:12:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>&#8216;Drink Me&#8217; Water Bottle Cozy</title>
		<link>http://newtextiles.media.mit.edu/?p=3098</link>
		<comments>http://newtextiles.media.mit.edu/?p=3098#comments</comments>
		<pubDate>Tue, 17 May 2011 23:13:46 +0000</pubDate>
		<dc:creator>ellann</dc:creator>
				<category><![CDATA[Final Project]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3098</guid>
		<description><![CDATA[For the final project, I decided to make a water bottle cozy that reminds you to drink. I initially got the idea because I often get dehydrated especially when working at a desk all day. I have a water bottle in front of me, but just don&#8217;t think about it. I wanted something to actively [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3417" rel="attachment wp-att-3417"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2367-600x800.jpg" alt="" title="IMG_2367 (600x800)" height="300" class="alignleft size-full wp-image-3417" /></a>For the final project, I decided to make a water bottle cozy that reminds you to drink. I initially got the idea because I often get dehydrated especially when working at a desk all day. I have a water bottle in front of me, but just don&#8217;t think about it. I wanted something to actively remind me to drink throughout the day. Thus, the &#8216;Drink Me&#8217; Water Bottle Cozy was born. </p>
<p>The project concept is a simple cozy covered in LEDs. Every 30 mins, the LEDs will start blinking. When the user picks up the bottle and slightly squeezes it to take a drink, the LEDs turn off and the timer restarts. The LEDs begin blinking again in 30 mins and the cycle repeats. The sensor is simply two pieces of conducting fabric that are connected by the users hand. </p>
<p><span id="more-3098"></span></p>
<p>I started by laying out how I wanted the project to look. I decided to go with a zig zag pattern for the conductive fabric and horizontal stripes so that a hand would definitely connect two side by side stripes. The zig zag pattern was first printed on a piece of paper. One stripe was cut out and traced multiple times onto the conductive fabric and then cut out with an exacto knife. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3406" rel="attachment wp-att-3406"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00041-20110509-2306.jpg" alt="" title="IMG00041-20110509-2306" width="800" class="alignleft size-full wp-image-3406" /></a></p>
<p>I initially started with the LEDs on black triangles but this prevented good contact with the conductive fabric and was not used in the end. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3396" rel="attachment wp-att-3396"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00032-20110509-1710.jpg" alt="" title="IMG00032-20110509-1710" width="800" class="alignleft size-full wp-image-3396" /></a></p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3398" rel="attachment wp-att-3398"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00034-20110509-17102.jpg" alt="" title="IMG00034-20110509-1710(2)" width="800" class="alignleft size-full wp-image-3398" /></a></p>
<p>Note that the LilyPad is in direct contact with the conductive fabric. This is not good because the back of the LilyPad is also conductive at points. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3397" rel="attachment wp-att-3397"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00033-20110509-1710.jpg" alt="" title="IMG00033-20110509-1710" width="800"  class="alignleft size-full wp-image-3397" /></a></p>
<p>Thus, I made an extra insulating circle to go between the LilyPad and the cozy. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3402" rel="attachment wp-att-3402"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00037-20110509-1831.jpg" alt="" title="IMG00037-20110509-1831" height="600" /></a></p>
<p>I also made a pocket to hide and to hold the battery. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3401" rel="attachment wp-att-3401"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00036-20110509-1831.jpg" alt="" title="IMG00036-20110509-1831" height="600" /></a></p>
<p>After sewing on the pocket, ironing on the conductive fabric zig zags (it had heat sensitive glue on the back), and sticking on some velcro the cozy looked like this.</p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3400" rel="attachment wp-att-3400"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG00035-20110509-1831.jpg" alt="" title="IMG00035-20110509-1831" width="800" class="alignleft size-full wp-image-3400" /></a></p>
<p>I then sewed on the LEDs and connected everything appropriately to the LilyPad Arduino.</p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3409" rel="attachment wp-att-3409"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2359-800x600.jpg" alt="" title="IMG_2359 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3409" /></a></p>
<p>The LEDs are very small and were soldered to little metal beads to make a sewable component. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3412" rel="attachment wp-att-3412"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2362-800x600.jpg" alt="" title="IMG_2362 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3412" /></a></p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3418" rel="attachment wp-att-3418"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2368-800x600.jpg" alt="" title="IMG_2368 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3418" /></a></p>
<p>The 11 pin on the LilyPad connects to the LEDs. The A5 pin connects to 1st, 3rd, and 5th stripes from the top. The &#8211; pin connects to the 2nd, 4th, and 6th stripes as well as the negative ends of the LEDs. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3410" rel="attachment wp-att-3410"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2360-800x600.jpg" alt="" title="IMG_2360 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3410" /></a></p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3411" rel="attachment wp-att-3411"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2361-800x600.jpg" alt="" title="IMG_2361 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3411" /></a></p>
<p>The finished circuit from the back looks like this. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3413" rel="attachment wp-att-3413"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2363-800x600.jpg" alt="" title="IMG_2363 (800x600)" width="800" height="600" class="alignleft size-full wp-image-3413" /></a></p>
<p>Finished product. </p>
<p><a href="http://newtextiles.media.mit.edu/?attachment_id=3416" rel="attachment wp-att-3416"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_2366-600x800.jpg" alt="" title="IMG_2366 (600x800)" height="600"  /></a></p>
<p>This video shows the finished product working with a 10 second interval.<br />
<code><br />
<iframe width="640" height="510" src="http://www.youtube.com/embed/4xuuWgBxEQU?rel=0" frameborder="0" allowfullscreen></iframe><br />
</code></p>
<p>There are a few areas where this project could be improved. First, the LilyPad Arduino is not curved or flexible in any way. This means that it cannot sit flat against the side of the bottle. A different design may have not had an issue with this. To get around the curvature issue, only the pins that are parallel to the axis of the bottle were used. This means it can roll if necessary. Second, the cozy is not extremely durable. The LEDs have broken on several occasions. This could be due to the curvature of the bottle or due to the fact that the cozy is wrapped around the bottle quite tightly, which puts stress on the LEDs. The cozy must be wrapped tightly to prevent the bottle from slipping out the bottom when lifted. Third, it would be nicer if the cozy did not have to wrapped so tightly. This might be fixed with something like rubber placed between the bottle and the cozy. </p>
<p>Arduino Code: </p>
<blockquote><p>// This code was modified from the Stopwatch code by Paul Badger in 2008<br />
// http://www.arduino.cc/playground/Code/Stopwatch</p>
<p>// these constants don&#8217;t change:<br />
const int ledPin = 11;                   // LED connected to digital pin 13<br />
const int fabricButton = A5;          // fabric button input to pin A0<br />
const int threshold = 900;               // threshold value to decide when fabric button connected<br />
const int timerInterval = 10000;         // interval to wait for next blinking: sec*1000</p>
<p>// these variables will change:<br />
int value = LOW;                    // previous value of the LED<br />
int blinking;                       // condition for blinking &#8211; timer is not timing<br />
long interval = 100;                // blink interval &#8211; change to suit<br />
long previousMillis = 0;            // variable to store last time LED was updated<br />
long startTime ;                    // start time for timer<br />
long elapsedTime ;                  // elapsed time for time</p>
<p>int sensorReading = 0;      // variable to store the value read from the sensor pin<br />
int ledState = LOW;         // variable used to store the last LED status, to toggle the light</p>
<p>void setup()<br />
{<br />
   pinMode(ledPin, OUTPUT);            // sets the digital pin as output<br />
   pinMode(fabricButton, INPUT);       // sets the analong pin to input<br />
   digitalWrite(fabricButton, HIGH);   // turn on pullup resistors. Wire button so that press shorts pin to ground.<br />
   Serial.begin(9600);                 // use the serial port<br />
}</p>
<p>void loop()<br />
{<br />
    // read the sensor and store it in the variable sensorReading:<br />
   sensorReading = analogRead(fabricButton);</p>
<p>   // this is to check the value of the sensor reading in the Serial Monitor<br />
   Serial.println(analogRead(fabricButton));<br />
   delay(10);</p>
<p>   // check for button press while blinking<br />
   if (sensorReading <= threshold &#038;&#038; blinking == true) {<br />
      // if true, restart the timer and turn off the blinking<br />
      startTime = millis();                                 // store the start time<br />
      blinking = false;                                     // turn off blinking while timing<br />
      delay(5);                                             // short delay to debounce switch<br />
   }<br />
   else{<br />
      elapsedTime = millis() - startTime;                    // calculate the elapsed time<br />
   }</p>
<p>   // check if the timer has reached the desired time length<br />
   if (elapsedTime > timerInterval) {<br />
     // if ture, turn on blinking<br />
     blinking = true;<br />
   }</p>
<p>   // blink routine &#8211; blink the LED while not timing<br />
   // check to see if it&#8217;s time to blink the LED; that is, the difference<br />
   // between the current time and last time we blinked the LED is larger than<br />
   // the interval at which we want to blink the LED.</p>
<p>   if ( (millis() &#8211; previousMillis > interval) ) {</p>
<p>      if (blinking == true){<br />
         previousMillis = millis();                         // remember the last time we blinked the LED</p>
<p>         // if the LED is off turn it on and vice-versa.<br />
         if (value == LOW)<br />
            value = HIGH;<br />
         else<br />
            value = LOW;<br />
         digitalWrite(ledPin, value);<br />
      }<br />
      else{<br />
         digitalWrite(ledPin, LOW);                         // turn off LED when not blinking<br />
      }<br />
   }</p>
<p>}
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3098</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deja Vu</title>
		<link>http://newtextiles.media.mit.edu/?p=3049</link>
		<comments>http://newtextiles.media.mit.edu/?p=3049#comments</comments>
		<pubDate>Thu, 12 May 2011 03:09:51 +0000</pubDate>
		<dc:creator>heidiqc</dc:creator>
				<category><![CDATA[Final Project]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3049</guid>
		<description><![CDATA[by Heidi and Nicole Ladies, have you ever left the house without your cell phone? Locked yourself out without your keys? Paused mid step to hurriedly search your bag for items you thought you may have forgotten? Deja Vu is here to help. The newly developed intelligent bag boasts an RFID system that helps you [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">by Heidi and Nicole</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-3073" title="Deja Vu set with custom tags" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3387.jpg" alt="" width="400" height="600" /><img class="aligncenter size-full wp-image-3071" title="Deja Vu - front view" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3378.jpg" alt="" width="400" height="600" /> <a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3378.jpg"></a></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-3072" title="Deja Vu - top view" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3382.jpg" alt="" width="800" height="600" /></p>
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p>Ladies, have you ever left the house without your cell phone? Locked yourself out without your keys? Paused mid step to hurriedly search your bag for items you thought you may have forgotten?</p>
<p>Deja Vu is here to help. The newly developed intelligent bag boasts an RFID system that helps you to remember to take important items like your wallet, keys, and cell phone with you. Just attach our custom RFID tags to your things, turn on the bag, and you&#8217;re all set. The bag will automatically scan items as they enter and leave, keeping track of what&#8217;s in the bag.  A simple squeeze of the soft button and the LED display will light up to show which items are accounted for, so that you never have to frantically search the bag to check if your items are there.  The bag can take up to 5 tags for important items.<br />
<span id="more-3049"></span></p>
<p style="text-align: left;">
<p style="text-align: center;">
<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/jbWgcs8AtyU?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jbWgcs8AtyU?version=3" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;"><strong>Process:</strong></p>
<p style="text-align: left;">Roll over each picture for more details.</p>

<a href='http://newtextiles.media.mit.edu/?attachment_id=3053' title='Making a mock-up of first draft of pattern'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3013.jpg" class="attachment-thumbnail" alt="Making a mock-up of first draft of pattern" title="Making a mock-up of first draft of pattern" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3054' title='Bag paper prototype'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3017.jpg" class="attachment-thumbnail" alt="Bag paper prototype" title="Bag paper prototype" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3055' title='Soldered RFID breakout board'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3021.jpg" class="attachment-thumbnail" alt="Soldered RFID breakout board" title="Soldered RFID breakout board" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3056' title='Testing the RFID reader'><img width="112" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3023.jpg" class="attachment-thumbnail" alt="Testing the RFID reader" title="Testing the RFID reader" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3058' title='Programming the LilyPad'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3237.jpg" class="attachment-thumbnail" alt="Programming the LilyPad" title="Programming the LilyPad" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3059' title='Testing the program'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3238.jpg" class="attachment-thumbnail" alt="Testing the program" title="Testing the program" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3057' title='Sewing the bag prototype'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3193.jpg" class="attachment-thumbnail" alt="Sewing the bag prototype" title="Sewing the bag prototype" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3060' title='Bag prototype following modified pattern'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3239.jpg" class="attachment-thumbnail" alt="Bag prototype following modified pattern" title="Bag prototype following modified pattern" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3061' title='Mapped circuitry on front showing LEDs and button'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3244.jpg" class="attachment-thumbnail" alt="Mapped circuitry on front showing LEDs and button" title="Mapped circuitry on front showing LEDs and button" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3062' title='Sewing prototype circuit'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3249.jpg" class="attachment-thumbnail" alt="Sewing prototype circuit" title="Sewing prototype circuit" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3063' title='Solving battery and circuitry problems'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3252.jpg" class="attachment-thumbnail" alt="Solving battery and circuitry problems" title="Solving battery and circuitry problems" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3064' title='Solving power issues with AA batteries'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3258.jpg" class="attachment-thumbnail" alt="Solving power issues with AA batteries" title="Solving power issues with AA batteries" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3065' title='Mapping revised circuitry on actual bag handle'><img width="112" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3263.jpg" class="attachment-thumbnail" alt="Mapping revised circuitry on actual bag handle" title="Mapping revised circuitry on actual bag handle" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3066' title='New circuitry map - back'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3265.jpg" class="attachment-thumbnail" alt="New circuitry map - back" title="New circuitry map - back" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3067' title='Sewing the Lilypad'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3268.jpg" class="attachment-thumbnail" alt="Sewing the Lilypad" title="Sewing the Lilypad" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3068' title='Mapping circuitry on front'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3269.jpg" class="attachment-thumbnail" alt="Mapping circuitry on front" title="Mapping circuitry on front" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3069' title='All 5 bag components before being put together'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3292.jpg" class="attachment-thumbnail" alt="All 5 bag components before being put together" title="All 5 bag components before being put together" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3070' title='The complete circuitry'><img width="112" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3296.jpg" class="attachment-thumbnail" alt="The complete circuitry" title="The complete circuitry" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3074' title='Circuit behind-the-scenes'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3278.jpg" class="attachment-thumbnail" alt="Circuit behind-the-scenes" title="Circuit behind-the-scenes" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3071' title='Deja Vu - front view'><img width="112" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3378.jpg" class="attachment-thumbnail" alt="Deja Vu - front view" title="Deja Vu - front view" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3072' title='Deja Vu - top view'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3382.jpg" class="attachment-thumbnail" alt="Deja Vu - top view" title="Deja Vu - top view" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3073' title='Deja Vu set with custom tags'><img width="112" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCF3387.jpg" class="attachment-thumbnail" alt="Deja Vu set with custom tags" title="Deja Vu set with custom tags" /></a>

<p style="text-align: left;">
<p style="text-align: left;">
<p><strong>Download the presentation slides here:</strong><br />
<a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/NewTextilesFinalProjectl.pdf">NewTextilesFinalProjectPresentation-DejaVu</a><br />
It contains more details about the project, including: inspirations, process, circuitry, challenges encountered and future improvements.</p>
<p><strong>Many thanks to:</strong><br />
<a href="http://bildr.org/2011/02/rfid-arduino/">http://bildr.org/2011/02/rfid-arduino/</a> &#8211; for the RFID- Arduino interfacing and code<br />
<a href="http://machenmachen.files.wordpress.com/2007/08/machen-machen-wasp-bag.pdf">http://machenmachen.files.wordpress.com/2007/08/machen-machen-wasp-bag.pdf</a> &#8211; for the bag pattern</p>
<p><strong>Arduino Code:</strong></p>
<div id="_mcePaste">// set pin numbers</div>
<div id="_mcePaste">int RFIDResetPin = 3;</div>
<div id="_mcePaste">int RFIDLedPin = 13;</div>
<div id="_mcePaste">int led1 = 8;</div>
<div id="_mcePaste">int led2 = 9;</div>
<div id="_mcePaste">int led3 = 10;</div>
<div id="_mcePaste">int led4 = 11;</div>
<div id="_mcePaste">int led5 = 12;</div>
<div id="_mcePaste">int CheckStatusPin = A3;</div>
<div id="_mcePaste">int Clasp = A4;</div>
<div id="_mcePaste">int RFIDSwitch= A5;</div>
<div>//Register your RFID tags here</div>
<div id="_mcePaste">char tag1[13] = &#8220;4500B8ED3222&#8243;;</div>
<div id="_mcePaste">char tag2[13] = &#8220;4500B8DAF4D3&#8243;;</div>
<div id="_mcePaste">char tag3[13] = &#8220;4400E6A55453&#8243;;</div>
<div id="_mcePaste">char tag4[13] = &#8220;4400E6A46F69&#8243;;</div>
<div id="_mcePaste">char tag5[13] = &#8220;00365F8F6482&#8243;;</div>
<div>// initialize boolean variables</div>
<div id="_mcePaste">boolean item1 = false;</div>
<div id="_mcePaste">boolean item2 = false;</div>
<div id="_mcePaste">boolean item3 = false;</div>
<div id="_mcePaste">boolean item4 = false;</div>
<div id="_mcePaste">boolean item5 = false;</div>
<div>void setup(){</div>
<div id="_mcePaste">Serial.begin(9600);</div>
<div id="_mcePaste">pinMode(RFIDResetPin, OUTPUT);</div>
<div id="_mcePaste">pinMode(RFIDSwitch, OUTPUT);</div>
<div id="_mcePaste">pinMode(Clasp, INPUT);</div>
<div id="_mcePaste">digitalWrite(Clasp, HIGH);</div>
<div id="_mcePaste">pinMode(RFIDLedPin, OUTPUT); // flashing pin when item is read</div>
<div id="_mcePaste">pinMode(CheckStatusPin, INPUT);</div>
<div id="_mcePaste">digitalWrite(CheckStatusPin, HIGH);</div>
<div id="_mcePaste">//set up led pins</div>
<div id="_mcePaste">pinMode(led1, OUTPUT);</div>
<div id="_mcePaste">pinMode(led2, OUTPUT);</div>
<div id="_mcePaste">pinMode(led3, OUTPUT);</div>
<div id="_mcePaste">pinMode(led4, OUTPUT);</div>
<div id="_mcePaste">pinMode(led5, OUTPUT);</div>
<div id="_mcePaste">}</div>
<div>void loop(){</div>
<div id="_mcePaste">// when the bag is open, turn on RFID reader power via MOSFET</div>
<div id="_mcePaste">if (digitalRead(Clasp) == HIGH) {</div>
<div id="_mcePaste">digitalWrite(RFIDSwitch, HIGH);</div>
<div id="_mcePaste">//Serial.println(500); for debugging</div>
<div id="_mcePaste">} else {</div>
<div id="_mcePaste">digitalWrite(RFIDSwitch, LOW);</div>
<div id="_mcePaste">Serial.println(550); // for debugging</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">char tagString[13];</div>
<div id="_mcePaste">int index = 0;</div>
<div id="_mcePaste">boolean reading = false;</div>
<div id="_mcePaste">//Serial.println(12); for debugging</div>
<div id="_mcePaste">// when a card is passed over the RFID reader, get tag code</div>
<div id="_mcePaste">while(Serial.available()){</div>
<div id="_mcePaste">Serial.println(10);</div>
<div id="_mcePaste">int readByte = Serial.read(); //read next available byte</div>
<div id="_mcePaste">if(readByte == 2) reading = true; //begining of tag</div>
<div id="_mcePaste">if(readByte == 3) reading = false; //end of tag</div>
<div id="_mcePaste">if(reading &amp;&amp; readByte != 2 &amp;&amp; readByte != 10 &amp;&amp; readByte != 13){</div>
<div id="_mcePaste">//store the tag</div>
<div id="_mcePaste">tagString[index] = readByte;</div>
<div id="_mcePaste">index ++;</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">//Serial.println(13); for debugging</div>
<div id="_mcePaste">checkTag(tagString); //Check if it is a match</div>
<div id="_mcePaste">clearTag(tagString); //Clear the char of all value</div>
<div id="_mcePaste">resetReader(); //reset the RFID reader</div>
<div id="_mcePaste">// if button is pressed, light up led corresponding to tag read</div>
<div id="_mcePaste">if (digitalRead(CheckStatusPin) == LOW) {</div>
<div id="_mcePaste">Serial.println(300);</div>
<div id="_mcePaste">if (item1== true) {</div>
<div id="_mcePaste">digitalWrite(led1,HIGH);</div>
<div id="_mcePaste">} if (item2 == true) {</div>
<div id="_mcePaste">digitalWrite(led2, HIGH);</div>
<div id="_mcePaste">} if (item3 == true) {</div>
<div id="_mcePaste">digitalWrite(led3, HIGH);</div>
<div id="_mcePaste">} if (item4 == true) {</div>
<div id="_mcePaste">digitalWrite(led4, HIGH);</div>
<div id="_mcePaste">} if (item5 == true) {</div>
<div id="_mcePaste">digitalWrite(led5, HIGH);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">} else {</div>
<div id="_mcePaste">digitalWrite(led1, LOW);</div>
<div id="_mcePaste">digitalWrite(led2, LOW);</div>
<div id="_mcePaste">digitalWrite(led3, LOW);</div>
<div id="_mcePaste">digitalWrite(led4, LOW);</div>
<div id="_mcePaste">digitalWrite(led5, LOW);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<div>void checkTag(char tag[]){</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">//Check the read tag against known tags, toggle boolean variable</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">if(strlen(tag) == 0) return; //empty, no need to contunue</div>
<div id="_mcePaste">if(compareTag(tag, tag1)){ // if matched tag1, do this</div>
<div id="_mcePaste">lightLED(RFIDLedPin);</div>
<div id="_mcePaste">item1 = !item1;</div>
<div id="_mcePaste">}else if(compareTag(tag, tag2)){ //if matched tag2, do this</div>
<div id="_mcePaste">lightLED(RFIDLedPin);</div>
<div id="_mcePaste">item2 = !item2;</div>
<div id="_mcePaste">}else if(compareTag(tag, tag3)){ //if matched tag3, do this</div>
<div id="_mcePaste">lightLED(RFIDLedPin);</div>
<div id="_mcePaste">item3 = !item3;</div>
<div id="_mcePaste">}else if(compareTag(tag, tag4)){ //if matched tag4, do this</div>
<div id="_mcePaste">lightLED(RFIDLedPin);</div>
<div id="_mcePaste">item4 = !item4;</div>
<div id="_mcePaste">}else if(compareTag(tag, tag5)){ //if matched tag5, do this</div>
<div id="_mcePaste">lightLED(RFIDLedPin);</div>
<div id="_mcePaste">item5 = !item5;</div>
<div id="_mcePaste">}else{</div>
<div id="_mcePaste">Serial.println(tag); //read out any unknown tag</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<div>void lightLED(int pin){</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">//Turn on LED on pin &#8220;pin&#8221; for 250ms</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">Serial.println(pin);</div>
<div id="_mcePaste">digitalWrite(pin, HIGH);</div>
<div id="_mcePaste">delay(250);</div>
<div id="_mcePaste">digitalWrite(pin, LOW);</div>
<div id="_mcePaste">}</div>
<div>void resetReader(){</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">//Reset the RFID reader to read again.</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">digitalWrite(RFIDResetPin, LOW);</div>
<div id="_mcePaste">digitalWrite(RFIDResetPin, HIGH);</div>
<div id="_mcePaste">delay(150);</div>
<div id="_mcePaste">}</div>
<div>void clearTag(char one[]){</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">//clear the char array by filling with null &#8211; ASCII 0</div>
<div id="_mcePaste">//Will think same tag has been read otherwise</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">for(int i = 0; i &lt; strlen(one); i++){</div>
<div id="_mcePaste">one[i] = 0;</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">boolean compareTag(char one[], char two[]){</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">//compare two value to see if same,</div>
<div id="_mcePaste">//strcmp not working 100% so we do this</div>
<div id="_mcePaste">///////////////////////////////////</div>
<div id="_mcePaste">if(strlen(one) == 0) return false; //empty</div>
<div id="_mcePaste">for(int i = 0; i &lt; 12; i++){</div>
<div id="_mcePaste">if(one[i] != two[i]) return false;</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">return true; //no mismatches</div>
<div id="_mcePaste">}</div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3049</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving screen</title>
		<link>http://newtextiles.media.mit.edu/?p=3223</link>
		<comments>http://newtextiles.media.mit.edu/?p=3223#comments</comments>
		<pubDate>Thu, 12 May 2011 01:22:15 +0000</pubDate>
		<dc:creator>denamolnar</dc:creator>
				<category><![CDATA[Final Project]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3223</guid>
		<description><![CDATA[The repeated elements of textile designs not only create a sense of rythm, but they can be quite mesmerizing. While they are capable of creating a sense of movement, in reality they are of often static. As a textile designer,  I have always been interested in the idea of a textile that is capable of [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-3229" href="http://newtextiles.media.mit.edu/?attachment_id=3229"><img class="aligncenter size-full wp-image-3229" title="IMG_9789" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9789.jpg" alt="" width="317" height="300" /></a></p>
<p>The repeated elements of textile designs not only create a sense of rythm, but they can be quite mesmerizing. While they are capable of creating a sense of movement, in reality they are of often static. As a textile designer,  I have always been interested in the idea of a textile that is capable of shifting in terms of pattern and or color. My final project attempts this goal.</p>
<p><a rel="attachment wp-att-3231" href="http://newtextiles.media.mit.edu/?attachment_id=3231"><img class="aligncenter size-full wp-image-3231" title="IMG_9795" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9795.jpg" alt="" width="511" height="341" /></a></p>
<p>To begin, I developed a test on paper. I painted a series of test pieces with thermo chromic paint that represented what would be stripes in the final design. I then sewed conductive thread through each piece. Using an Arduino and  a motion sensor, I wrote a code that allowed for the stripes to be heated up and  in turn change color sequentially when motion was detected.</p>
<p><a rel="attachment wp-att-3232" href="http://newtextiles.media.mit.edu/?attachment_id=3232"><img class="aligncenter size-full wp-image-3232" title="IMG_9796" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9796.jpg" alt="" width="341" height="511" /></a></p>
<p>Above is detail of the first stripe shifting in color.</p>
<p><a rel="attachment wp-att-3227" href="http://newtextiles.media.mit.edu/?attachment_id=3227"><img class="aligncenter size-full wp-image-3227" title="IMG_9710" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9710.jpg" alt="" width="341" height="336" /></a></p>
<p>Once I had the system worked out, I used a shear textile with a striped weft as the surface of the screen. I painted a layer of transparent gesso to make the surface slightly more rigid and suitable for painting on.</p>
<p><a rel="attachment wp-att-3228" href="http://newtextiles.media.mit.edu/?attachment_id=3228"><img class="aligncenter size-full wp-image-3228" title="IMG_9787" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9787.jpg" alt="" width="511" height="341" /></a></p>
<p>I experimented with different ways of applying a patterned layer of thermo chromic pigment, including making a template from a piece of the textile. For the template, I simply gessoed a piece of the shear material to a piece of card stock. Once it was dry, I cut out the striped shapes with an exacto knife. While I used the template, I also found it just as easy to paint directly onto the textile.</p>
<p><a rel="attachment wp-att-3230" href="http://newtextiles.media.mit.edu/?attachment_id=3230"><img class="aligncenter size-full wp-image-3230" title="IMG_9790" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9790.jpg" alt="" width="341" height="511" /></a></p>
<p>After I painted in some areas of the textile, I sewed conductive thread over the black striped weft and added the mosfets and conductive tape which would connect to a 12V AC adaptor, ground and output to the Arduino.</p>
<p><a rel="attachment wp-att-3245" href="http://newtextiles.media.mit.edu/?attachment_id=3245"><img class="aligncenter size-full wp-image-3245" title="IMG_9800" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9800.jpg" alt="" width="511" height="341" /></a></p>
<p>After some initial trial and error (and a failed attempt to get the prototype working during the final presentation)..success!</p>
<p><a rel="attachment wp-att-3244" href="http://newtextiles.media.mit.edu/?attachment_id=3244"><img class="aligncenter size-full wp-image-3244" title="IMG_9798" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/IMG_9798.jpg" alt="" width="511" height="341" /></a></p>
<p>Arduino Code</p>
<div id="_mcePaste">/*</div>
<div id="_mcePaste">AnalogReadSerial</div>
<div id="_mcePaste">Reads an analog input on pin 0, prints the result to the serial monitor</div>
<div id="_mcePaste">This example code is in the public domain.</div>
<div id="_mcePaste">*/</div>
<div id="_mcePaste">int sensorold, sensornew;</div>
<div id="_mcePaste">int sensordif = 3;</div>
<div id="_mcePaste">boolean trigger;</div>
<div id="_mcePaste">void setup() {</div>
<div id="_mcePaste">pinMode(2, OUTPUT);</div>
<div id="_mcePaste">pinMode (6, OUTPUT);</div>
<div id="_mcePaste">pinMode (7, OUTPUT);</div>
<div id="_mcePaste">pinMode (13, OUTPUT);</div>
<div id="_mcePaste">digitalWrite(2, LOW);</div>
<div id="_mcePaste">digitalWrite(6, LOW);</div>
<div id="_mcePaste">digitalWrite(7, LOW);</div>
<div id="_mcePaste">digitalWrite(13, LOW);</div>
<div id="_mcePaste">sensorold = analogRead(A0);</div>
<div id="_mcePaste">sensornew = sensorold;</div>
<div id="_mcePaste">trigger = false;</div>
<div id="_mcePaste">Serial.begin(9600);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">void loop() {</div>
<div id="_mcePaste">sensornew = analogRead(A0);</div>
<div id="_mcePaste">if (abs(sensornew &#8211; sensorold) &gt; sensordif)</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">Serial.println(&#8220;trigger 2&#8243;);</div>
<div id="_mcePaste">digitalWrite(2, HIGH);</div>
<div id="_mcePaste">digitalWrite (13, HIGH);</div>
<div id="_mcePaste">// set the LED on</div>
<div id="_mcePaste">delay(1000);</div>
<div id="_mcePaste">// wait for a second</div>
<div id="_mcePaste">digitalWrite(2, LOW);</div>
<div id="_mcePaste">digitalWrite (13, LOW);  // set the LED off</div>
<div id="_mcePaste">Serial.println(&#8220;off 2&#8243;);</div>
<div id="_mcePaste">delay(10000);</div>
<div id="_mcePaste">Serial.println(&#8220;trigger 6&#8243;);</div>
<div id="_mcePaste">digitalWrite (6, HIGH);</div>
<div id="_mcePaste">delay(1000);</div>
<div id="_mcePaste">Serial.println(&#8220;off 6&#8243;);</div>
<div id="_mcePaste">digitalWrite (6, LOW);</div>
<div id="_mcePaste">delay(10000);</div>
<div id="_mcePaste">Serial.println(&#8220;trigger 7&#8243;);</div>
<div id="_mcePaste">digitalWrite (7, HIGH);</div>
<div id="_mcePaste">delay(1000);</div>
<div id="_mcePaste">digitalWrite (7, LOW);</div>
<div id="_mcePaste">Serial.println(&#8220;off 7&#8243;);</div>
<div id="_mcePaste">delay(10000);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">// Serial.println(sensorValue, DEC);</div>
<div id="_mcePaste">}</div>
<p>/*  AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor   This example code is in the public domain. */<br />
int sensorold, sensornew;int sensordif = 3;boolean trigger;<br />
void setup() {  pinMode(2, OUTPUT);  pinMode (6, OUTPUT);   pinMode (7, OUTPUT);  pinMode (13, OUTPUT);    digitalWrite(2, LOW);  digitalWrite(6, LOW);  digitalWrite(7, LOW);  digitalWrite(13, LOW);  sensorold = analogRead(A0);  sensornew = sensorold;  trigger = false;  Serial.begin(9600);}<br />
void loop() {  sensornew = analogRead(A0);  if (abs(sensornew &#8211; sensorold) &gt; sensordif)  {    Serial.println(&#8220;trigger 2&#8243;);    digitalWrite(2, HIGH);    digitalWrite (13, HIGH);// set the LED on    delay(1000);    // wait for a second    digitalWrite(2, LOW);    digitalWrite (13, LOW);  // set the LED off    Serial.println(&#8220;off 2&#8243;);    delay(10000);    Serial.println(&#8220;trigger 6&#8243;);    digitalWrite (6, HIGH);    delay(1000);    Serial.println(&#8220;off 6&#8243;);    digitalWrite (6, LOW);    delay(10000);    Serial.println(&#8220;trigger 7&#8243;);    digitalWrite (7, HIGH);    delay(1000);    digitalWrite (7, LOW);    Serial.println(&#8220;off 7&#8243;);    delay(10000);  }   // Serial.println(sensorValue, DEC);}</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3223</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Albert&#8217;s Amarino-Powered Kung-Fu Jacket</title>
		<link>http://newtextiles.media.mit.edu/?p=3220</link>
		<comments>http://newtextiles.media.mit.edu/?p=3220#comments</comments>
		<pubDate>Wed, 11 May 2011 23:35:57 +0000</pubDate>
		<dc:creator>mrching</dc:creator>
				<category><![CDATA[Final Project]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3220</guid>
		<description><![CDATA[How do you talk to a jacket?  There was a time when if you did, people would look at you a little bit funny. These days, with a little thing called an Android phone, a powerful little circuitboard called Lilypad Arduino, and an amazing toolkit called Amarino developed by Bonifaz Kaufmann, you can talk to [...]]]></description>
			<content:encoded><![CDATA[<p>How do you talk to a jacket?  There was a time when if you did, people would look at you a little bit funny.</p>
<p>These days, with a little thing called an Android phone, a powerful little circuitboard called Lilypad Arduino, and an amazing toolkit called <a href="http://www.amarino-toolkit.net/">Amarino</a> developed by Bonifaz Kaufmann, you can talk to your jacket &#8212; and even better, you can talk to someone else&#8217;s!</p>
<div class="wp-caption alignnone" style="width: 730px"><img title="User Testing the Kung-Fu Jacket" src="https://lh6.googleusercontent.com/_Y9p6N00ThMQ/TcreQUaSSoI/AAAAAAABIxI/mt7ep1Wrk4Y/s720/IMG_0100.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">User Testing the Kung-Fu Jacket</p></div>
<p><span id="more-3220"></span></p>
<p>The Amarino-Powered Kung-Fu Jacket that I developed started with an understanding of how an Android phone could talk to an Arduino board.  The connection is based on two necessary but ubiquitous components &#8212; a <a href="Lilypad Arduino and Bluetooth modem">bluetooth modem</a> for the Arduino and the free and open toolkit called Amarino that Kaufmann developed back in 2009.</p>
<div class="wp-caption alignnone" style="width: 730px"><img title="Lilypad Arduino and Bluetooth modem" src="https://lh4.googleusercontent.com/_Y9p6N00ThMQ/TcreQE0hlFI/AAAAAAABIxA/oARsUFxu7Rc/s720/IMG_0099.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Lilypad Arduino and Bluetooth modem</p></div>
<div class="wp-caption alignnone" style="width: 730px"><img title="Amarino on the Android" src="https://lh3.googleusercontent.com/_Y9p6N00ThMQ/TcreSkLGvFI/AAAAAAABIyA/MPgdsbz7yd8/s720/IMG_0198.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Amarino on the Android</p></div>
<p>The first test was to see if these items could talk to each other.  After some initial testing, success.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/qIiLoBPwxZ8?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qIiLoBPwxZ8?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/dAGzDLDqMyY?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dAGzDLDqMyY?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>From there, I wanted to incorporate this technology into existing garments &#8212; not just because my sewing skills are quite rough but as much because I wanted to find a way to augment any garment that I had with smart technology.  The challenge was to design it in a way that allowed the garment to be resilient to washing.  The solution was simple in retrospect &#8212; soldered-on snaps! The snaps made it easy to remove the Lilypad board, the bluetooth and the battery when either the technology or the garment needed maintenance.</p>
<div class="wp-caption alignnone" style="width: 730px"><img title="Snaps soldered onto a Lilypad board" src="https://lh5.googleusercontent.com/_Y9p6N00ThMQ/TcreSA3igKI/AAAAAAABIx4/POBcT6aK3cY/s720/IMG_0197.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Snaps soldered onto a Lilypad board The next</p></div>
<p>Next, it was important to know where to put the output device &#8212; in this case, the vibrator to have maximum effect for the user.  After a bit of user-<br />
testing including changing the conductive threat to a thicker one that provided more current and thus a stronger and more tangible vibration, I determined that the most sensitive part of my upper-quadrant (where the Arduino board was located) was the small area smack between my shoulders.  Since I wanted the vibrator to be felt by the user, I ended up sewing a place for snaps there.  (A few users have told me that the vibrator is so strong that if it was a bit stronger, it would give them a good shoulder massage).</p>
<div class="wp-caption alignnone" style="width: 730px"><img title="Vibrator" src="https://lh5.googleusercontent.com/_Y9p6N00ThMQ/TcreRyNDQTI/AAAAAAABIxw/aWZGSBYxdmQ/s720/IMG_0196.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Vibrator</p></div>
<p>With the platform in place, my final step was to program the Arduino board to sync with the multiple sensors on the Android phone in a unique way.  I started with the amazing <a href="http://developer.android.com/reference/android/hardware/Sensor.html">accelerometer</a> on an Android, a sensor that sends different data based on the orientation of the phone through 3 axes &#8211; x, y and z.  While it took a little learning to utilize that data for something that could then be translated into an output on the jacket, I got it to work in a basic and I think fun way!</p>
<div class="wp-caption alignnone" style="width: 730px"><img title="Kung-Fu-ing with My Jacket Take 1" src="https://lh4.googleusercontent.com/_Y9p6N00ThMQ/TcreROWtHkI/AAAAAAABIxY/8k0gGTI9pRY/s720/IMG_0102.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Kung-Fu-ing with My Jacket Take 1 </p></div>
<div class="wp-caption alignnone" style="width: 730px"><img title="Kung-Fu-ing with My Jacket Take 2" src="https://lh5.googleusercontent.com/_Y9p6N00ThMQ/TcreRTqZCJI/AAAAAAABIxg/gwQxtK6-_VM/s720/IMG_0103.JPG" alt="" width="720" height="480" /><p class="wp-caption-text">Kung-Fu-ing with My Jacket Take 2</p></div>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/-eoGoxo752I?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-eoGoxo752I?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The interesting part of the coding was whether or not to precisely to map the accelerometer movements with the outputs of the jacket &#8212; in other words to make it clear what orientations of the phone &#8211; up, down, horizontal &#8211; would respond to what outputs e.g. LED lighting up or a vibrator vibrating.  The looser the constraints e.g. LED lights up when phone is middle down to middle up made it more fun for the user to exaggerate their motions and to discover what actions was triggering what event.</p>
<p>You can see the code I used in the end below:</p>
<div id="_mcePaste">/*</div>
<div id="_mcePaste">Turns on vibrator when phone is vertical down and the LED when phone is horizontal.</div>
<div id="_mcePaste">Both turn off when the phone is vertical up.</div>
<div id="_mcePaste">Author: Albert Ching &#8211; May 2011</div>
<div id="_mcePaste">*/</div>
<div id="_mcePaste">#include &lt;MeetAndroid.h&gt;</div>
<div id="_mcePaste">// declare MeetAndroid so that you can call functions with it</div>
<div id="_mcePaste">MeetAndroid meetAndroid;</div>
<div id="_mcePaste">// starting with 1 LED</div>
<div id="_mcePaste">int vibrator = 16;</div>
<div id="_mcePaste">int LED = 11;</div>
<div id="_mcePaste">void setup()</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">// use the baud rate your bluetooth module is configured to</div>
<div id="_mcePaste">// not all baud rates are working well, i.e. ATMEGA168 works best with 57600</div>
<div id="_mcePaste">Serial.begin(57600);</div>
<div id="_mcePaste">// register callback functions, which will be called when an associated event occurs.</div>
<div id="_mcePaste">meetAndroid.registerFunction(vibrateoff, &#8216;A&#8217;);</div>
<div id="_mcePaste">pinMode(vibrator, OUTPUT);</div>
<div id="_mcePaste">pinMode(LED, OUTPUT);</div>
<div id="_mcePaste">digitalWrite(vibrator, LOW);</div>
<div id="_mcePaste">digitalWrite(LED, LOW);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">void loop()</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">meetAndroid.receive(); // you need to keep this in your loop() to receive events</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">void vibrateoff(byte flag, byte numOfValues)</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">int values[]={0,0,0};</div>
<div id="_mcePaste">meetAndroid.getIntValues(values);</div>
<div id="_mcePaste">// xxx</div>
<div id="_mcePaste">int X=values[1];</div>
<div id="_mcePaste">int Y=values[2];</div>
<div id="_mcePaste">int Z=values[3];</div>
<div id="_mcePaste">if (Y &lt; -4) {</div>
<div id="_mcePaste">digitalWrite(vibrator, LOW);</div>
<div id="_mcePaste">digitalWrite(LED, LOW);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">else if (Y &lt; 4) {</div>
<div id="_mcePaste">digitalWrite(vibrator, HIGH);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">else if (Y &gt; 4) {</div>
<div id="_mcePaste">digitalWrite(LED, HIGH);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">else</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">digitalWrite(vibrator, LOW);</div>
<div id="_mcePaste">digitalWrite(LED, LOW);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<p>Since the phone also had a number of other sensors, I also tested out using the receive SMS sensor in Amarino.  It was simple to set-up and<br />
my intention was to have the LED change based on the message that was received from a user.  Unfortunately, I couldn&#8217;t get the coding correctly so I only got a single LED event but imagine that it would not be too difficult to figure out how to adjust the code below to figure this out.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/AOkZj1eU0Lo?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AOkZj1eU0Lo?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>/*</p>
<p>Turns on LED when phone receives an SMS.</p>
<p>Author: Albert Ching &#8211; May 2011</p>
<p>*/</p>
<p>#include &lt;MeetAndroid.h&gt;</p>
<p>// declare MeetAndroid so that you can call functions with it</p>
<p>MeetAndroid meetAndroid;</p>
<p>// starting with 1 LED</p>
<p>int LED = 11;</p>
<p>void setup()</p>
<p>{</p>
<p>// use the baud rate your bluetooth module is configured to</p>
<p>// not all baud rates are working well, i.e. ATMEGA168 works best with 57600</p>
<p>Serial.begin(57600);</p>
<p>// register callback functions, which will be called when an associated event occurs.</p>
<p>meetAndroid.registerFunction(LEDon, &#8216;A&#8217;);</p>
<p>pinMode(LED, OUTPUT);</p>
<p>digitalWrite(LED, LOW);</p>
<p>}</p>
<p>void loop()</p>
<p>{</p>
<p>meetAndroid.receive(); // you need to keep this in your loop() to receive events</p>
<p>}</p>
<p>void LEDon (byte flag, byte numOfValues)</p>
<p>{</p>
<p>int values[]={0};</p>
<p>meetAndroid.getIntValues(values);</p>
<p>// xxx</p>
<p>int X=values[1];</p>
<p>if (X = &#8216;hey&#8217;) {</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>} else if (X = &#8216;aloha&#8217;) {</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(1000);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>} else if (X = &#8216;aloha baby&#8217;) {</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, HIGH); // set the LED on</p>
<p>delay(200);              // wait for a second</p>
<p>digitalWrite(LED, LOW);    // set the LED off</p>
<p>} else</p>
<p>{</p>
<p>digitalWrite(LED, LOW);</p>
<p>}</p>
<p>}</p>
<p>The great thing with this project (for me at least) is that my jacket is now a platform for expressing anything that my Android phone can do.  With the significant range of the Bluetooth (100 meters), it can even be controlled by someone far away.  After showing the jacket to many of my classmates, I&#8217;ve heard of use cases from a long-distance massage, a way to find someone subtly in a crowd, to give real-time feedback to a presenter or a teacher, to receive text message notifications without being close to our sometimes too clingy  mobile phones.</p>
<p>I can&#8217;t wait to continue the experimentation and am extremely grateful to Leah and the other members of the High-Low Tech lab for introducing this whole new world to me &#8212; and to Bonifaz for creating this very easy to use toolkit.  Mahalo nui loa!</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3220</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archigram Skirt featuring Walking City</title>
		<link>http://newtextiles.media.mit.edu/?p=3109</link>
		<comments>http://newtextiles.media.mit.edu/?p=3109#comments</comments>
		<pubDate>Wed, 11 May 2011 14:00:44 +0000</pubDate>
		<dc:creator>KristyKat</dc:creator>
				<category><![CDATA[Final Project]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3109</guid>
		<description><![CDATA[Last semester, I became very interested in Archigram. As a final project for one of my classes, I modeled and rendered an animation of Walking City. In my final project proposal for this class,  I proposed making a dress that featured Walking City and included charlie plexing circuitry for a scatter/sparkly lighting effect. After speaking [...]]]></description>
			<content:encoded><![CDATA[<p>Last semester, I became very interested in Archigram. As a final project for one of my classes, I modeled and rendered an animation of Walking City. In my final project proposal for this class,  I proposed making a dress that featured Walking City and included charlie plexing circuitry for a scatter/sparkly lighting effect. After speaking with Leah, I decided to scale down my project by excluding the circuitry and  sewing a skirt instead of a dress.</p>
<p><strong>Skirt Design</strong></p>
<p>To simplify things a bit (and after noticing that skirt patterns weren&#8217;t quite available in my size at a local fabric store), I decided to extract a skirt pattern from one of my favorite skirts. I&#8217;m not quite  familiar with sewing clothes, however, with some previous quilting experience, I improvised extracting the pattern and sewing the pieces together. From the previous assignment with the embroidery machine, I chose to use a thick fabric to lessen the chances of the bobbin thread bunching and knotting.</p>
<div id="attachment_3180" class="wp-caption alignleft" style="width: 385px"><a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3726.jpg"><img class="size-full wp-image-3180" title="DSCN3726" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3726.jpg" alt="" width="375" height="279" /></a><p class="wp-caption-text">One of my favorite skirts.</p></div>
<div id="attachment_3172" class="wp-caption alignleft" style="width: 382px"><a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3635.jpg"><img class="size-full wp-image-3172" title="DSCN3635" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3635.jpg" alt="" width="372" height="277" /></a><p class="wp-caption-text">Cutting the pattern out.</p></div>
<p><img class="alignleft size-full wp-image-3184" title="Pattern_skirt" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Pattern_skirt.png" alt="" width="800" height="431" /></p>
<p><strong> Processing Code<br />
</strong></p>
<p>For my original computation assignment, I began working on code  that evaluated the RGB value of a given pixel of an image and then visualized the pixel&#8217;s RGB value with another shape &#8212; such as  a circle. I worked on this code a little more for this project so that I could change the number of pixels that were evaluated in the x and y directions in addition to filtering the image&#8217;s colors into 5 colors.</p>
<p><img class="alignleft size-full wp-image-3183" title="test2" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/test2.jpg" alt="" width="365" height="291" /><img class="alignleft size-full wp-image-3182" title="final" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/final.jpg" alt="" width="380" height="260" /></p>
<p><strong>Embroidery</strong></p>
<p>The embroidery took about ~4 hours. As the embroidery progressed, I cut the needle thread. After the embroidery finished, I cut off the loose needle thread. Here&#8217;s a <a href="http://www.youtube.com/watch?v=I2JNVH6tXu8"><strong>YouTube Video</strong></a> of the embroidery process.</p>
<p><img class="alignleft size-full wp-image-3177" title="DSCN3708" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3708.jpg" alt="" width="256" height="192" /></p>
<p><strong><img class="alignleft size-full wp-image-3176" title="DSCN3706" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3706.jpg" alt="" width="257" height="195" /></strong></p>
<p><strong><img class="alignleft size-full wp-image-3174" title="DSCN3702" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3702.jpg" alt="" width="255" height="198" /></strong></p>
<p><img class="alignnone size-full wp-image-3179" title="DSCN3714" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/DSCN3714.jpg" alt="" width="800" height="600" /></p>
<p><img class="alignnone size-full wp-image-3181" title="Final Presentation10" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Final-Presentation10.jpg" alt="" width="800" height="558" /></p>
<p><strong>Problems</strong></p>
<p>The most problems I had were with the embroidery machine.  There was inconsistency from the color layout as depicted in Processing code to the 29 threads that the embroidery software detected (which I filtered down to five in processing). In the embroidery software, I filtered back down to 5 threads again, but 29 threads still showed up while embroidering.</p>
<p><strong>Further Work</strong></p>
<p>As part of my thesis, I&#8217;ve continued studying Archigram&#8217;s works through 3D modeling and rendering of  one of their other projects: Plug-in City. I&#8217;m interested in continuing modeling their work after I graduate from MIT. As I&#8217;ve worked on the project for this class, I began to consider my skirt being similar to a Girl Scout&#8217;s sash ( i.e., as they complete projects/requirements, they receive a badge as a indication of their work and progress which is sewn onto the sash). For this project, I chose to embroider Walking City because it&#8217;s something I&#8217;ve worked on and completed. And, similar to a Girl Scout&#8217;s badge, I&#8217;ve considered adding embroidery of other Archigram projects on the skirt as I complete modeling and rendering other Archigram Projects. I may be including an embroidery of Plug-in City very soon.</p>
<p>In my proposal, I also considered adding light and this is something I may do after finals.</p>
<p><strong>Files</strong></p>
<p><a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Final-Presentation-_crystalr2.pdf" target="_blank">Final Presentation</a></p>
<p><a href="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Pattern.pdf">Pattern</a></p>
<p><strong>Code</strong></p>
<p>int x=0;<br />
int y=0;<br />
int a=50;<br />
int b=0;<br />
int e=0;<br />
int f=50;<br />
int img_y = 0;<br />
int img_x = 0;<br />
PImage img;</p>
<p>void setup()<br />
{<br />
size (1200,700);<br />
img = loadImage(&#8220;test2.jpg&#8221;);<br />
smooth();<br />
background(255);</p>
<p>//image size<br />
int img_width = img.width;<br />
int img_height = img.height;</p>
<p>int stepsize = 10;<br />
int width_density = round(512/stepsize)-1;<br />
int height_density = round(281/stepsize)-1;</p>
<p>for (int i=0;i&lt; width_density;i++) //X<br />
{</p>
<p>for (int j=0;j&lt; height_density ;j++) //Y<br />
{<br />
//Pick a point<br />
//Archigram Image 512 px by 281 px<br />
img_x = x+i*stepsize ;<br />
img_y = y+j*stepsize ;<br />
int loc = img_x + img_y*img.width;</p>
<p>// Look up the RGB color in the source image<br />
loadPixels();<br />
float r = red(img.pixels[loc]);<br />
float g = green(img.pixels[loc]);<br />
float b = blue(img.pixels[loc]);</p>
<p>//Test to check that shades of gray are when r==g==b<br />
/*if(r==g &amp;&amp; g==b) {</p>
<p>}*/<br />
noStroke();</p>
<p>//Limit fill to 5 shades of gray<br />
//keep dark spots dark<br />
//Values of RGB determined per http://www.w3schools.com/html/html_colors.asp<br />
//Shade 1 &#8212; Black<br />
int shade1 = 32;<br />
int shade2 = 88; // between 25 and 72<br />
int shade3 = 120;<br />
int shade4 = 180;<br />
int shade5 = 220;<br />
int shade6 = 255;</p>
<p>if(r &lt;= shade1 &amp;&amp; g &lt;= shade1 &amp;&amp; b &lt;= shade1) {<br />
r = 0;<br />
g = 0;<br />
b = 0;<br />
}</p>
<p>else if ((r&lt;=shade2 &amp;&amp; r&gt;shade1) || (g&lt;=shade2 &amp;&amp; g&gt;shade1) || (b&lt;=shade2 &amp;&amp; b&gt;shade1))  {<br />
/*r = 48;<br />
g = 48;<br />
b = 48; */</p>
<p>r = 255;<br />
g = 0;<br />
b = 0;  //ReD</p>
<p>}</p>
<p>else if ((r&lt;=shade3 &amp;&amp; r&gt;shade2) || (g&lt;=shade3 &amp;&amp; g&gt;shade2) || (b&lt;=shade3 &amp;&amp; b&gt;shade2))   {<br />
/*r = 96;<br />
g = 96;<br />
b = 96; */</p>
<p>r = 128;<br />
g = 0;<br />
b = 128; //Magenta<br />
}</p>
<p>else if (r&lt;=shade4 &amp;&amp; r&gt;shade3)  {<br />
/*r = 136;<br />
g = 136;<br />
b = 136; */</p>
<p>r = 255;<br />
g = 255;<br />
b = 0; //Yellow</p>
<p>}</p>
<p>else if (r&lt;=shade5 &amp;&amp; r&gt;shade4)  {<br />
r = 255;<br />
g = 128;<br />
b = 0;  //Orange<br />
//print(&#8220;test: &#8220;);<br />
}</p>
<p>else  {<br />
r = 255;<br />
g = 255;<br />
b = 255; //White<br />
}</p>
<p>fill(r, g, b);</p>
<p>int radius = round(random(8,15)); //width<br />
int radius2 = round(random(3,8)); //height<br />
int tester = width_density-5;<br />
if(j==tester) {<br />
radius = 5;<br />
radius2 = 8;<br />
print(&#8220;j: &#8221; + j);<br />
}</p>
<p>ellipse(x+i*10, y+j*10, radius, radius2);</p>
<p>}<br />
}</p>
<p>}</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3109</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game for Gettysburg</title>
		<link>http://newtextiles.media.mit.edu/?p=3042</link>
		<comments>http://newtextiles.media.mit.edu/?p=3042#comments</comments>
		<pubDate>Wed, 11 May 2011 02:50:57 +0000</pubDate>
		<dc:creator>Sheralyn Woon</dc:creator>
				<category><![CDATA[Final Project]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=3042</guid>
		<description><![CDATA[Inspired by an earlier project on the PCB Puzzle, I wanted to use the same concept to develop a game for an online site that teaches 5th graders about the civil war. The embroidery process and writing code in Processing was challenging.  The various pieces had to fit properly. When pieces were sewn separately, the [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by an earlier project on the <a title="PCB Puzzle" href="http://newtextiles.media.mit.edu/?p=1414" target="_blank">PCB Puzzle</a>, I wanted to use the same concept to develop a game for an online site that teaches 5th graders about the civil war.</p>

<a href='http://newtextiles.media.mit.edu/?attachment_id=3081' title='MIT_final1'><img width="150" height="124" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_final1.jpg" class="attachment-thumbnail" alt="The final work" title="MIT_final1" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3082' title='MIT_final3'><img width="121" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_final3.jpg" class="attachment-thumbnail" alt="Test2" title="MIT_final3" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3083' title='MIT_final4'><img width="111" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_final4.jpg" class="attachment-thumbnail" alt="MIT_final4" title="MIT_final4" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3084' title='MIT_final5'><img width="121" height="150" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_final5.jpg" class="attachment-thumbnail" alt="Test1" title="MIT_final5" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3085' title='MIT_Final_project_back'><img width="150" height="67" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_Final_project_back.jpg" class="attachment-thumbnail" alt="Conductive yarn in the quilt" title="MIT_Final_project_back" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3086' title='MIT_Final_project_hats'><img width="150" height="134" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_Final_project_hats.jpg" class="attachment-thumbnail" alt="Resistors in the puzzle pieces" title="MIT_Final_project_hats" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3087' title='MIT_Final_project_untrimmed'><img width="150" height="102" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_Final_project_untrimmed.jpg" class="attachment-thumbnail" alt="The untrimmed puzzle pieces" title="MIT_Final_project_untrimmed" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3088' title='MIT_Final_project_velcro_test'><img width="150" height="113" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_Final_project_velcro_test.jpg" class="attachment-thumbnail" alt="Testing velcro" title="MIT_Final_project_velcro_test" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3089' title='MIT_Final_project'><img width="150" height="111" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/MIT_Final_project.jpg" class="attachment-thumbnail" alt="Before attaching the conductive materials on the quilt" title="MIT_Final_project" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3129' title='Slide01'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide01.jpg" class="attachment-thumbnail" alt="Slide01" title="Slide01" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3130' title='Slide02'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide02.jpg" class="attachment-thumbnail" alt="Slide02" title="Slide02" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3131' title='Slide03'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide03.jpg" class="attachment-thumbnail" alt="Slide03" title="Slide03" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3132' title='Slide04'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide04.jpg" class="attachment-thumbnail" alt="Slide04" title="Slide04" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3133' title='Slide05'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide05.jpg" class="attachment-thumbnail" alt="Slide05" title="Slide05" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3134' title='Slide06'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide06.jpg" class="attachment-thumbnail" alt="Slide06" title="Slide06" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3135' title='Slide07'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide07.jpg" class="attachment-thumbnail" alt="Slide07" title="Slide07" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3136' title='Slide08'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide08.jpg" class="attachment-thumbnail" alt="Slide08" title="Slide08" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3137' title='Slide09'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide09.jpg" class="attachment-thumbnail" alt="Slide09" title="Slide09" /></a>
<a href='http://newtextiles.media.mit.edu/?attachment_id=3138' title='Slide10'><img width="150" height="112" src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/05/Slide10.jpg" class="attachment-thumbnail" alt="Slide10" title="Slide10" /></a>

<p>The embroidery process and writing code in Processing was challenging.  The various pieces had to fit properly. When pieces were sewn separately, the sizes of the items were not of the same scale. To fit everything, all items were put into a hoop at the same time and sewed together at one time. (This took over 4 hrs). When testing the pieces, the snaps and velcro sometimes don&#8217;t snap together properly, giving strange readings. The velcro readings evened out after a while of repeated attachment and removal. Writing the code was also difficult for a first-timer.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/O7rfMBUYwlA?hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/O7rfMBUYwlA?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
I want to keep working on the coding for processing to add a timer and allow 2 players to play simultaneously.</p>
<p>Code:</p>
<p>import processing.serial.*;<br />
Serial myPort;        // The serial port</p>
<p>//variables for collecting and storing information<br />
int ARRAYX = 2;<br />
int ARRAYY = 3;<br />
int [][] sensorArray = new int[ARRAYX][ARRAYY];</p>
<p>int flag = 0;<br />
boolean inGame = false;<br />
boolean prompt = false;<br />
int characterPrompt = 0;<br />
boolean instructions = true;<br />
boolean wonGame = false;<br />
boolean endGame = false;</p>
<p>//variables for drawing information on the screen<br />
int spacing = 100;<br />
PFont font;<br />
PFont fontA;</p>
<p>void setup () {<br />
//set the window size:<br />
size(600, 400);<br />
//initialize the font variables<br />
font = loadFont(&#8220;SansSerif-20.vlw&#8221;);<br />
textFont(font);</p>
<p>fontA = loadFont(&#8220;SansSerif-48.vlw&#8221;);</p>
<p>// list all the available serial ports<br />
println(Serial.list());<br />
// open the appropriate port<br />
myPort = new Serial(this, Serial.list()[0], 9600);<br />
// don&#8217;t generate a serialEvent() until you get an exclamation mark character<br />
myPort.bufferUntil(&#8216;!&#8217;);<br />
// set inital background:<br />
background(0);<br />
}</p>
<p>void draw () {<br />
background(0);<br />
//draw buttonNEXT<br />
fill (255);<br />
rect(520, 350, 50, 30);<br />
text(&#8220;NEXT&#8221;, 520, 350);<br />
//draw buttonEXIT<br />
fill (255);<br />
rect(450, 350, 50,30);<br />
text(&#8220;EXIT&#8221; , 450, 350);</p>
<p>if (inGame==false)<br />
{<br />
if (instructions==true)<br />
{<br />
//draw instructions<br />
text(&#8220;Stick the right clothes onto the right character.&#8221;, 75, 100);<br />
}</p>
<p>else if (prompt==true)<br />
{<br />
// draw prompt<br />
if (characterPrompt == 0)<br />
{<br />
text(&#8220;Mary Tepe&#8221;, width/2, height/2);<br />
}<br />
else if (characterPrompt == 1)<br />
{<br />
text(&#8220;Jenny Wade&#8221;, width/2, height/2);<br />
}<br />
else if (characterPrompt == 2)<br />
{<br />
text(&#8220;General Lee&#8221;, width/2, height/2);<br />
}<br />
else if (characterPrompt == 3)<br />
{<br />
text(&#8220;General Meade&#8221;, width/2, height/2);<br />
}<br />
}<br />
else if (wonGame==true)<br />
{<br />
text(&#8220;You&#8217;re right!&#8221;, width/2, height/2);<br />
}<br />
}<br />
else if (inGame==true &amp; wonGame == false)<br />
{<br />
if (characterPrompt == 0)<br />
{<br />
if (testIfMary() == true)<br />
{<br />
text(&#8220;You&#8217;re right!&#8221;, width/2, height/2);<br />
wonGame=true;<br />
inGame = false;<br />
}<br />
else<br />
text(&#8220;That&#8217;s not Mary, keep trying.&#8221;, 200, height/2);<br />
}</p>
<p>if (characterPrompt == 1)<br />
{<br />
if (testIfJenny() == true)<br />
{<br />
text(&#8220;You&#8217;re right!&#8221;, width/2, height/2);<br />
wonGame=true;<br />
inGame = false;<br />
}<br />
else<br />
text(&#8220;That&#8217;s not Jenny, keep trying.&#8221;, 200, height/2);<br />
}</p>
<p>if (characterPrompt == 2)<br />
{<br />
if (testIfGeneralL() == true)<br />
{<br />
text(&#8220;You&#8217;re right!&#8221;, width/2, height/2);<br />
wonGame=true;<br />
inGame = false;<br />
}<br />
else<br />
text(&#8220;That&#8217;s not Gen. Lee, keep trying.&#8221;, 200, height/2);<br />
}</p>
<p>if (characterPrompt == 3)<br />
{<br />
if (testIfGeneralM() == true)<br />
{<br />
text(&#8220;You&#8217;re right!&#8221;, width/2, height/2);<br />
wonGame=true;<br />
inGame = false;<br />
}<br />
else<br />
text(&#8220;That&#8217;s not Gen Meade, keep trying.&#8221;, 200, height/2);<br />
}<br />
}<br />
}</p>
<p>void mousePressed() {<br />
//test if over area<br />
if (( mouseX&gt; 519 &amp; mouseX&lt; 571) &amp; (mouseY&gt;349 &amp; mouseY&lt;381))<br />
{<br />
if (instructions==true)<br />
{<br />
instructions = false;<br />
inGame=false;<br />
prompt=true;<br />
characterPrompt = int(random(4));<br />
//characterPrompt = 0;<br />
}<br />
else if (prompt== true)<br />
{<br />
prompt = false;<br />
inGame= true;<br />
}<br />
else if (wonGame== true)<br />
{<br />
wonGame= false;<br />
prompt=true;<br />
characterPrompt = int(random(4));<br />
}</p>
<p>}</p>
<p>else if (( mouseX&gt; 449 &amp; mouseX&lt; 501 ) &amp; (mouseY&gt;349  &amp; mouseY&lt;381))<br />
{<br />
println(&#8220;clicked exit&#8221;);<br />
exit();<br />
}<br />
}</p>
<p>void serialEvent (Serial myPort) {<br />
//store a batch of data into variable &#8220;inString&#8221;<br />
//batches are separated by exclamation mark characters<br />
String inString = myPort.readStringUntil(&#8216;!&#8217;);<br />
//split the data into rows (rows separated by new line characters)<br />
String[] incomingArrayRows = splitTokens(inString, &#8220;\n&#8221;);<br />
//loop through all of the rows<br />
for (int i=0;i&lt;ARRAYX;i++)<br />
{<br />
//split each row into entries (entries separated by tab characters)<br />
String[] incomingArrayEntries = splitTokens(incomingArrayRows[i], &#8220;\t&#8221;);<br />
//loop through all of these entries<br />
for (int j=0;j&lt;ARRAYY;j++)<br />
{<br />
//store entries in the &#8220;sensorArray&#8221; variable<br />
sensorArray[i][j]=int(incomingArrayEntries[j]);<br />
//print the entries to the terminal, separated by tab characters<br />
print(sensorArray[i][j]);<br />
print(&#8216;\t&#8217;);<br />
}<br />
//print a new line after each row<br />
println();<br />
}<br />
//print a new line after each batch of data<br />
println();<br />
}</p>
<p>void printArray()<br />
{<br />
for (int i=0;i&lt;ARRAYX;i++)<br />
{<br />
for (int j=0;j&lt;ARRAYY;j++)<br />
{<br />
print(sensorArray[i][j]);<br />
print(&#8216;\t&#8217;);<br />
}<br />
//print a new line after each row<br />
println();<br />
}<br />
println();<br />
}</p>
<p>boolean testIfMary()<br />
{<br />
int hat = sensorArray[0][1];<br />
int clothes = sensorArray[0][0];<br />
int other = sensorArray[0][2];</p>
<p>if ((hat&gt;10 &amp; hat &lt;29) &amp; (clothes&gt;10 &amp; clothes&lt;29)  &amp; (other&gt;10 &amp; other&lt;29))<br />
{<br />
return true;<br />
}<br />
else<br />
return false;<br />
}</p>
<p>boolean testIfJenny()<br />
{<br />
int hat = sensorArray[0][1];<br />
int clothes = sensorArray[0][0];<br />
int other = sensorArray[0][2];</p>
<p>if ((hat&gt;30 &amp; hat &lt;60) &amp; (clothes&gt;30 &amp; clothes&lt;60)  &amp; (other&gt;30 &amp; other&lt;60))<br />
{<br />
return true;<br />
}<br />
else<br />
return false;<br />
}</p>
<p>boolean testIfGeneralM()<br />
{<br />
int hat = sensorArray[1][2];<br />
int clothes = sensorArray[1][0];<br />
int other = sensorArray[1][1];</p>
<p>if ((hat&gt;10 &amp; hat&lt;60) &amp; (clothes&gt;10 &amp; clothes&lt;60)  &amp; (other&gt;10 &amp; other&lt;60))<br />
{<br />
return true;<br />
}<br />
else<br />
return false;<br />
}</p>
<p>boolean testIfGeneralL()<br />
{<br />
int hat = sensorArray[1][2];<br />
int clothes = sensorArray[1][0];<br />
int other = sensorArray[1][1];</p>
<p>if ((hat&gt;200 &amp; hat&lt;300) &amp; (clothes&gt;200 &amp; clothes&lt;300)  &amp; (other&gt;200 &amp; other&lt;300))<br />
{<br />
return true;<br />
}<br />
else<br />
return false;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=3042</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Project Presenatations and Documentation</title>
		<link>http://newtextiles.media.mit.edu/?p=2982</link>
		<comments>http://newtextiles.media.mit.edu/?p=2982#comments</comments>
		<pubDate>Tue, 03 May 2011 21:50:54 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Final Project]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=2982</guid>
		<description><![CDATA[Due: Tuesday, May 10, 2011 See student final projects here Your final project assignment has 3 pieces: the project itself, a short presentation about the project, and a web page documenting the project. Information about presentations and documentation is below. Presentations Prepare a short formal presentation to present to the class. It should include: * [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, May 10, 2011<br />
<a href="http://newtextiles.media.mit.edu/?cat=21">See student final projects here</a></p>
<p>Your final project assignment has 3 pieces: the project itself, a short presentation about the project, and a web page documenting the project.  Information about presentations and documentation is below.<span id="more-2982"></span></p>
<p><strong>Presentations</strong><br />
Prepare a short formal presentation to present to the class. It should include:</p>
<p>    * A short survey of previous work in the area.<br />
    * A demonstration of the project in action (the core of your presentation)<br />
    * A short discussion of your construction process including challenges and learning experiences.<br />
    * A short discussion of what you would do to improve the project if you were to keep working on it.</p>
<p><strong>Documentation</strong><br />
Create a post that documents your project and add it to the Final Projects category. Your page should include a description of your project, a pdf copy of your presentation slides, a few work-in-progress photos, photos of your final piece, and a video of your final piece.  Documentation is due by the end of the day on Wednesday May 11.</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=2982</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nonwoven Assignment</title>
		<link>http://newtextiles.media.mit.edu/?p=2658</link>
		<comments>http://newtextiles.media.mit.edu/?p=2658#comments</comments>
		<pubDate>Tue, 26 Apr 2011 16:45:51 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Nonwoven]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=2658</guid>
		<description><![CDATA[Due: Tuesday, May 3, 2011 See student designs here Make a piece of flexible nonwoven fabric with some noteworthy characteristic. (An unusual blend of materials, interesting structural characteristics, embedded circuitry, special electrical properties, &#8230;?) Create a post that documents your project and add it to the Nonwoven category. Your page should include a photo of [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, May 3, 2011<br />
<a href="http://newtextiles.media.mit.edu/?cat=20">See student designs here</a></p>
<p>Make a piece of flexible nonwoven fabric with some noteworthy characteristic. (An unusual blend of materials, interesting structural characteristics, embedded circuitry, special electrical properties, &#8230;?) Create a post that documents your project and add it to the Nonwoven category. Your page should include a photo of the finished nonwoven and a short description of the fabric and how it was built.  Since you are also working on your final projects I am not expecting you to spend as much time as usual on this assignment or its documentation, but I wanted you to get a chance to play with some of these materials and techniques.  A single photo and a few sentences is fine.</p>
<p><a href="http://newtextiles.media.mit.edu/2010/pmwiki.php?n=Main.NonWoven">See designs from last year&#8217;s class here.</a></p>
<p>Bring your fabric to class on the 3rd for demos! </p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=2658</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computational Design</title>
		<link>http://newtextiles.media.mit.edu/?p=2072</link>
		<comments>http://newtextiles.media.mit.edu/?p=2072#comments</comments>
		<pubDate>Tue, 29 Mar 2011 12:50:55 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Computational Design]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=2072</guid>
		<description><![CDATA[Due: Tuesday, April 26, 2011 See student designs here For this assignment you will create a computationally generated textile pattern. You&#8217;ll write a program that generates a pattern and use the embroidery machine, laser cutter, knitting machine (or another CNC device, ie: a CNC loom or a 3D printer) to automatically produce the pattern. Create [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, April 26, 2011<br />
<a href="http://newtextiles.media.mit.edu/?cat=19">See student designs here</a></p>
<p>For this assignment you will create a computationally generated textile pattern.  You&#8217;ll write a program that generates a pattern and use the embroidery machine, laser cutter, knitting machine (or another CNC device, ie: a CNC loom or a 3D printer) to automatically produce the pattern.<br />
<span id="more-2072"></span></p>
<p>Create a post that documents your project and add it to the Computational Design category. Your page should include pictures of your finished textile, the code you wrote to generate the pattern, a few photographs of the construction process, and a paragraph about your experience.</p>
<p>Something to think about&#8230;You have three weeks to finish this assignment.  This would give you time to order fabric from a service like <a href=http://www.spoonflower.com/welcome>Spoonflower</a> (custom fabric prints) or <a href="http://www.shapeways.com/model/152170/">Shapeways</a> (3D printed fabrics).  A 3D printed fabric:</p>
<p><a href="http://www.shapeways.com/model/152148/"><img src="http://newtextiles.media.mit.edu/wp-content/uploads/2011/03/photo_23377_shapeways.jpg" alt="" title="photo_23377_shapeways" width="400" class="aligncenter size-full wp-image-2080" /></a></p>
<p>Tutorials, including sample code are available in the Machine Tutorial category of the <a href="http://hlt.media.mit.edu/wiki/">HLT wiki</a>.</p>
<p>Bring your projects to class on April 19 for demonstrations.</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=2072</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Project Proposals</title>
		<link>http://newtextiles.media.mit.edu/?p=2067</link>
		<comments>http://newtextiles.media.mit.edu/?p=2067#comments</comments>
		<pubDate>Tue, 29 Mar 2011 12:41:36 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Final Project Proposal]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=2067</guid>
		<description><![CDATA[Due: Tuesday, April 5, 2011 See student proposals here. For your final project, you&#8217;ll explore a specific set of materials, techniques, or applications in depth. You are very welcome (in fact encouraged) to work in groups. The project could take many different forms, including but not limited to: A finished garment with unique functionality, design, [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, April 5, 2011<br />
<a href="?cat=18">See student proposals here.</a></p>
<p>For your final project, you&#8217;ll explore a specific set of materials, techniques, or applications in depth. You are very welcome (in fact encouraged) to work in groups. The project could take many different forms, including but not limited to:<span id="more-2067"></span></p>
<ul>
<li>A finished garment with unique functionality, design, or material composition.</li>
<li>A finished textile with unique functionality or material composition.</li>
<li>A prototype for a new tool that could help others work with textiles and technology.</li>
<li>A series of documented material or technique explorations.</li>
</ul>
<p>The final project proposals will consist of short (10 minute) formal presentations that you will present in class and short online descriptions. Your presentation should include:</p>
<ul>
<li> A concise description of your project.</li>
<li>A preliminary survey of previous work in the area.</li>
<li>If you are planning a project whose outcome is a specific artifact (ie: a garment), preliminary sketches of the artifact.</li>
<li>A time line/plan of work.</li>
</ul>
<p>Create a post on the site for your proposal and add it to the Final Project Proposal Category. Your page should contain a short description and a downloadable version of your presentation.  You can see proposals from last year&#8217;s class <a href="http://newtextiles.media.mit.edu/2010/pmwiki.php?n=Main.ProjectProposal">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=2067</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textile Sensor</title>
		<link>http://newtextiles.media.mit.edu/?p=1828</link>
		<comments>http://newtextiles.media.mit.edu/?p=1828#comments</comments>
		<pubDate>Tue, 15 Mar 2011 16:27:06 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Textile Sensor]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=1828</guid>
		<description><![CDATA[Due: Tuesday, March 29, 2011 See student sensors here For this assignment you will create a soft, flexible, textile-based sensor and a simple screen-based interface that displays information from the sensor. Part 1. Felt, knit, sew, fuse, or crochet a soft sensor. Document your construction process with pictures. Write a paragraph that describes your sensor [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, March 29, 2011<br />
<a href="http://newtextiles.media.mit.edu/?cat=17">See student sensors here</a></p>
<p>For this assignment you will create a soft, flexible, textile-based sensor and a simple screen-based interface that displays information from the sensor.<br />
<span id="more-1828"></span></p>
<p>Part 1.  Felt, knit, sew, fuse, or crochet a soft sensor.  Document your construction process with pictures.  Write a paragraph that describes your sensor and a scenario for its use.  If your sensor is a resistive sensor, use the multimeter to measure its resting and activated resistances and include this information in your paragraph.</p>
<p>Part 2.  Connect your sensor to an Arduino (you will be loaned an Arduino for the duration of this assignment).  Write a simple Arduino program that takes readings from your sensor and sends them to the computer.  Write a simple Processing program that uses the data from the Arduino to create an interactive program&#8211;a small game&#8211;that can be controlled with your sensor.  Take a video of your sensor controlling your program.  Include your video and your Arduino and Processing code in your write-up.  This <a href="http://www.arduino.cc/en/Tutorial/Graph">tutorial</a> will be useful.  Note: don&#8217;t permanently attach your sensor to the Arduino.  You will return the Arduino on March 29.</p>
<p>Create a post that documents your project as described above and add it to the Textile Sensor category. </p>
<p>Bring your projects to class on March 29 for demonstrations.  </p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=1828</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Knitting</title>
		<link>http://newtextiles.media.mit.edu/?p=1430</link>
		<comments>http://newtextiles.media.mit.edu/?p=1430#comments</comments>
		<pubDate>Tue, 08 Mar 2011 14:51:24 +0000</pubDate>
		<dc:creator>leah buechley</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Knitting]]></category>

		<guid isPermaLink="false">http://newtextiles.media.mit.edu/?p=1430</guid>
		<description><![CDATA[Due: Tuesday, March 15, 2011 See student knits here For this assignment you will create two knit pieces, one by following an existing pattern and one by developing your own pattern. This assignment will focus on different knit structures. A later assignment will focus on color and pattern. Part 1. Create a knit swatch from [...]]]></description>
			<content:encoded><![CDATA[<p>Due: Tuesday, March 15, 2011<br />
<a href="http://newtextiles.media.mit.edu/?cat=16">See student knits here</a></p>
<p>For this assignment you will create two knit pieces, one by following an existing pattern and one by developing your own pattern.  This assignment will focus on different knit structures.  A later assignment will focus on color and pattern.<br />
<span id="more-1430"></span><br />
<strong>Part 1.  Create a knit swatch from the following pattern:</strong><br />
Cast on 20 needles.  Knit 10 rows.  Carriage should be on right side.  Make sure carriage is in the proper mode (Russel levers should be in position I).  Bring needle closest to carriage into hold position.  Knit one row (carriage should be on left side).  Bring needle closest to carriage into hold position. Knit one row (carriage should be on right side).  Continue bringing one needle into hold position on the carriage side until you have 2 needles in knit position in the center of your pattern.  Carriage should be on right side.  </p>
<p>Begin taking needles out of hold position.  Push the needle closest to the knitting on the opposite side of the carriage (the left side) into B (knit) position.  Knit one row (carriage should be on right side).  Push the needle closest to the knitting on the opposite side of the carriage (the right side) into B (knit) position. Knit one row (carriage should be on left side).  Continue bringing one needle out of hold position opposite the carriage side until all needles are back in knit position.  Knit 10 rows.  Cast off.</p>
<p><strong>Part 2. Create and document your own pattern</strong><br />
Create a knit swatch that is at least 6&#8243; x 6&#8243; large that has a noteworthy topography or topology.  Write out the pattern for your swatch.</p>
<p>Create a post that documents your projects and add it to the Knitting category. Your page should include pictures of both of your finished pieces, the pattern for the Part 2 assignment, and a paragraph about your experience&#8211;including an explanation of why your Part 2 pattern is interesting or novel.</p>
<p>Bring your projects to class on March 15 for demonstrations.  Note: you&#8217;ll turn these assignments in for closer inspection.</p>
]]></content:encoded>
			<wfw:commentRss>http://newtextiles.media.mit.edu/?feed=rss2&#038;p=1430</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
