<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>LEESEAN.NET &#187; Physical Computing</title>
	<atom:link href="http://leesean.net/category/physical-computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://leesean.net</link>
	<description>The Life of an Artist-Activist-Musician-Nerd</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:09:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>2006-2009 </copyright>
	<managingEditor>ls@leesean.net (LEESEAN.NET)</managingEditor>
	<webMaster>ls@leesean.net (LEESEAN.NET)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://leesean.net/wp-content/plugins/podpress/images/powered_by_podpress.png</url>
		<title>LEESEAN.NET</title>
		<link>http://leesean.net</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>the adventures of lee-sean: life, media, music, art, politics, activism, style, travel, cuisine, and more...</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>LEESEAN.NET</itunes:author>
	<itunes:owner>
		<itunes:name>LEESEAN.NET</itunes:name>
		<itunes:email>ls@leesean.net</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://leesean.net/wp-content/plugins/podpress/images/powered_by_podpress.png" />
		<item>
		<title>Anti-Paparazzi Bags, Burqas, and Backlash</title>
		<link>http://leesean.net/2009/07/08/anti-paparazzi-bags-burqas-and-backlash/</link>
		<comments>http://leesean.net/2009/07/08/anti-paparazzi-bags-burqas-and-backlash/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 22:34:35 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Adam Harvey]]></category>
		<category><![CDATA[burqa]]></category>
		<category><![CDATA[Michael Jackson]]></category>
		<category><![CDATA[Paparazzi]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=2097</guid>
		<description><![CDATA[My ITP classmate Adam Harvey has invented an anti-paparazzi clutch bag that &#8220;communicates the desire to NOT be photographed.&#8221;  According to Adam, &#8220;when the device detects a camera flash it responds with another flash that obscures the photo.&#8221;  Awesome idea Adam! Apparently one paparazzo doesn&#8217;t like the idea too much.  Adam recently received his first [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ahprojects.com/exhibitions/anti-paparazzi"><img class="alignnone size-full wp-image-2099" title="anti-paparazziClutch" src="http://leesean.net/wp-content/uploads/2009/07/anti-paparazziClutch.jpg" alt="anti-paparazziClutch" /></a></p>
<p>My <a href="http://itp.nyu.edu">ITP</a> classmate <a href="http://ahprojects.com/exhibitions/anti-paparazzi">Adam Harvey has invented an anti-paparazzi clutch bag</a> that &#8220;communicates the desire to NOT be photographed.&#8221;  According to Adam, &#8220;when the device detects a camera flash it responds with another flash that obscures the photo.&#8221;  Awesome idea Adam!</p>
<p>Apparently one paparazzo doesn&#8217;t like the idea too much.  Adam recently received his first hate mail from an angry paparazzo:</p>
<p><a href="http://leesean.net/wp-content/uploads/2009/07/paparazziHateMail.jpg"><img class="alignnone size-full wp-image-2100" title="paparazziHateMail" src="http://leesean.net/wp-content/uploads/2009/07/paparazziHateMail.jpg" alt="paparazziHateMail" /></a></p>
<p>&#8220;Reducing income for my growing young family&#8221;!? Oh no, the paparazzi are breeding?</p>
<p>If he&#8217;s worried that the device won&#8217;t work, why is this pissed-off paparazzo worried about his economic livelihood?  By the way, for the record, I&#8217;ve tried out the prototype, and it definitely works.</p>
<p>In any case, I think that celebs should take a cue from the late King of Pop, Michael Jackson (peace be upon him), and wear a burqa in public to avoid being photographed.  I don&#8217;t want to name anyone in particular, but if your last name is Hilton or Beckham, you might want to consider it.</p>
<p><a href="http://leesean.net/wp-content/uploads/2009/07/michael-burqa.jpg"><img class="alignnone size-full wp-image-2101" title="michael-burqa" src="http://leesean.net/wp-content/uploads/2009/07/michael-burqa.jpg" alt="michael-burqa" /></a></p>
<p>But if you are a celeb that MUST be seen in public <em>sans</em>-burqa (like <a href="http://www.guardian.co.uk/world/2009/jun/22/islamic-veils-sarkozy-speech-france">if you&#8217;re in France</a> for the Cannes Film Festival, for example), then check out <a href="http://ahprojects.com/exhibitions/anti-paparazzi">Adam&#8217;s site for more information about his invention</a>.  A limited supply will be available in Spring 2010.</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2009/06/26/michael-jackson-rip/" rel="bookmark" class="crp_title">Michael Jackson RIP</a></li><li><a href="http://leesean.net/2009/06/29/michael-jackson-fan-pride-sf/" rel="bookmark" class="crp_title">Michael Jackson Fan Pride</a></li><li><a href="http://leesean.net/2009/11/24/purpose-com-photoshoot-outtakes/" rel="bookmark" class="crp_title">Purpose.com photoshoot outtakes</a></li><li><a href="http://leesean.net/2009/10/14/live-web-midterm-part-2-monkey-watching-monkey-watching-monkey/" rel="bookmark" class="crp_title">Live Web Midterm Part 2: monkey watching monkey watching monkey&#8230;</a></li><li><a href="http://leesean.net/2009/10/08/live-web-midterm-idea/" rel="bookmark" class="crp_title">Live Web Midterm Idea</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2009/07/08/anti-paparazzi-bags-burqas-and-backlash/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kris &amp; Sophia meet the head(banger)phones</title>
		<link>http://leesean.net/2009/01/14/kris-sophia-meet-the-headbangerphones/</link>
		<comments>http://leesean.net/2009/01/14/kris-sophia-meet-the-headbangerphones/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 18:25:53 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[head(banger)phones]]></category>
		<category><![CDATA[Photos]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1465</guid>
		<description><![CDATA[Here are some photos of Sophia and Kris trying out my head(banger)phones the other day: I&#8217;m finding more blog posts about the head(banger)phones from across the international Internets. Here are posts from Australia, Brazil, and France. Related Postshead(banger)phones @ ITP Winter Show 2008head(banger)phoneshead(banger)phones &#8211; FINALhead(banger)phones part 2ITP Winter ShowPowered by Contextual Related Posts]]></description>
			<content:encoded><![CDATA[<p>Here are some photos of <a href="http://52faces.blogspot.com/">Sophia</a> and <a href="http://krishartley.com/">Kris</a> trying out <a href="http://leesean.net/2008/12/18/headbangerphones-itp-winter-show-2008/">my head(banger)phones</a> the other day:</p>
<p><a href="http://52faces.blogspot.com/"><img class="alignnone size-full wp-image-1466" title="Sophia meets head(banger)phones" src="http://leesean.net/wp-content/uploads/2009/01/3197327044_ea90145e35.jpg" alt="Sophia meets head(banger)phones" /></a></p>
<p><img class="alignnone size-full wp-image-1467" title="Kris meets head(banger)phones" src="http://leesean.net/wp-content/uploads/2009/01/3197331314_278af3eca5.jpg" alt="Kris meets head(banger)phones" /></p>
<p>I&#8217;m finding more blog posts about the head(banger)phones from across the international Internets.</p>
<p>Here are posts from <a href="http://www.mrgadget.com.au/gadget/2008/experience-music-in-motion-via-accelerometer-headphones/">Australia</a>, <a href="http://superbacana-djs.blogspot.com/2009/01/fones-de-ouvido-com-acelermetros.html">Brazil</a>, and <a href="http://www.gizmodo.fr/2008/12/23/mixez-vos-morceaux-en-secouant-la-tete.html">France</a>.</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/12/18/headbangerphones-itp-winter-show-2008/" rel="bookmark" class="crp_title">head(banger)phones @ ITP Winter Show 2008</a></li><li><a href="http://leesean.net/2008/11/05/headbangerphones/" rel="bookmark" class="crp_title">head(banger)phones</a></li><li><a href="http://leesean.net/2008/12/16/headbangerphones-final/" rel="bookmark" class="crp_title">head(banger)phones &#8211; FINAL</a></li><li><a href="http://leesean.net/2008/12/06/headbangerphones-part-2/" rel="bookmark" class="crp_title">head(banger)phones part 2</a></li><li><a href="http://leesean.net/2008/12/13/itp-winter-show/" rel="bookmark" class="crp_title">ITP Winter Show</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2009/01/14/kris-sophia-meet-the-headbangerphones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>head(banger)phones &#8211; FINAL</title>
		<link>http://leesean.net/2008/12/16/headbangerphones-final/</link>
		<comments>http://leesean.net/2008/12/16/headbangerphones-final/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 22:54:02 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[New York]]></category>
		<category><![CDATA[NYC]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[head(banger)phones]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1444</guid>
		<description><![CDATA[I&#8217;m getting ready to present the head(banger)phones for the ITP Winter Show.  A little bit of solder helped to get rid of the short circuit problem I was having periodically with the accelerometer.  I also replaced the orchestral audio samples I originally used to demo the head(banger)phones with some synth samples I recorded from my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m getting ready to present the head(banger)phones for the <a href="http://itp.nyu.edu/shows/winter2008/">ITP Winter Show</a>.  A little bit of solder helped to get rid of the short circuit problem I was having periodically with the accelerometer.  I also replaced the orchestral audio samples I originally used to demo the head(banger)phones with some synth samples I recorded from my <a href="http://www.sidstation.com/">Sidstation</a>.</p>
<p><em>The head(banger)phones are a personal music device made up of a pair of headphones and a sensor.  When the user wears the head(banger)phones, the motion and position of her head triggers different sounds, creating a dynamic interactive musical experience.</em></p>
<p>Source code after the jump:<span id="more-1444"></span></p>
<blockquote><p>import ddf.minim.signals.*;<br />
import ddf.minim.*;<br />
import ddf.minim.analysis.*;<br />
import ddf.minim.effects.*;<br />
import processing.serial.*;</p>
<p>int counter = 0;  //variable for controlling tempo<br />
int tempo = 20; //the higher the number, the slower it goes</p>
<p>//minimum and maximum values coming from accelerometer<br />
int minX = 270;<br />
int maxX = 440;<br />
int minY = 270;<br />
int maxY = 440;</p>
<p>Serial myPort;  // The serial port<br />
int accelX=0;<br />
int accelY=0;</p>
<p>Minim minim;<br />
AudioSample kick;<br />
AudioSample x1;<br />
AudioSample x2;<br />
AudioSample x3;<br />
AudioSample x4;<br />
AudioSample x5;<br />
AudioSample x6;<br />
AudioSample y1;<br />
AudioSample y2;<br />
AudioSample y3;<br />
AudioSample y4;<br />
AudioSample y5;<br />
AudioSample y6;</p>
<p>void setup()<br />
{<br />
println(Serial.list());<br />
myPort = new Serial (this, Serial.list()[0], 9600);<br />
minim = new Minim(this);<br />
size(1440,850);<br />
background(0);<br />
textFont(createFont(&#8220;Helvetica&#8221;, 80));<br />
textAlign(CENTER);<br />
fill(255,0,0);<br />
text(&#8220;head(banger)phones&#8221;, width/2, height/2 &#8211; 50);<br />
fill(255);<br />
text(&#8220;(move your head)&#8221;, width/2, height/2 + 50);</p>
<p>kick = minim.loadSample(&#8220;kick.mp3&#8243;, 1440);</p>
<p>x1 = minim.loadSample(&#8220;x1.mp3&#8243;, 1440);<br />
x2 = minim.loadSample(&#8220;x2.mp3&#8243;, 1440);<br />
x3 = minim.loadSample(&#8220;x3.mp3&#8243;, 1440);<br />
x4 = minim.loadSample(&#8220;x4.mp3&#8243;, 1440);<br />
x5 = minim.loadSample(&#8220;x5.mp3&#8243;, 1440);<br />
x6 = minim.loadSample(&#8220;x6.mp3&#8243;, 1440);</p>
<p>y1 = minim.loadSample(&#8220;y1.mp3&#8243;, 1440);<br />
y2 = minim.loadSample(&#8220;y2.mp3&#8243;, 1440);<br />
y3 = minim.loadSample(&#8220;y3.mp3&#8243;, 1440);<br />
y4 = minim.loadSample(&#8220;y4.mp3&#8243;, 1440);<br />
y5 = minim.loadSample(&#8220;y5.mp3&#8243;, 1440);<br />
y6 = minim.loadSample(&#8220;y6.mp3&#8243;, 1440);<br />
}</p>
<p>void draw()<br />
{<br />
counter = (counter+1)%tempo;</p>
<p>if (counter == 0)<br />
{<br />
//always play the kick<br />
kick.trigger();<br />
//play samples according the the X value<br />
if (accelX == 1) {<br />
x1.trigger();<br />
}<br />
else if (accelX == 2) {<br />
x2.trigger();<br />
}<br />
else if (accelX == 3) {<br />
x3.trigger();<br />
}<br />
else if (accelX == 4) {<br />
x4.trigger();<br />
}<br />
else if (accelX == 5) {<br />
x5.trigger();<br />
}<br />
else if (accelX == 6) {<br />
x6.trigger();<br />
}</p>
<p>//play samples according the the Y value<br />
if (accelY == 1) {<br />
y1.trigger();<br />
}<br />
else if (accelY == 2) {<br />
y2.trigger();<br />
}<br />
else if (accelY == 3) {<br />
y3.trigger();<br />
}<br />
else if (accelY == 4) {<br />
y4.trigger();<br />
}<br />
else if (accelY == 5) {<br />
y5.trigger();<br />
}<br />
else if (accelY == 6) {<br />
y6.trigger();<br />
}<br />
}<br />
}</p>
<p>void serialEvent(Serial myPort)<br />
{<br />
// read the serial buffer:<br />
String myString = myPort.readStringUntil(&#8216;\n&#8217;);<br />
// if you got any bytes other than the linefeed:<br />
if (myString != null) {<br />
myString = trim(myString);<br />
// split the string at the commas<br />
// and convert the sections into integers:<br />
int sensors[] = int(split(myString, &#8216;,&#8217;));<br />
if (sensors.length &gt; 0) {<br />
accelX = int(map(sensors[0], minX,maxX,1,6));<br />
accelY = int(map(sensors[1], minY,maxY,1,6));<br />
println(accelX + &#8220;,&#8221; +accelY); //debugging to make sure the values are coming through and being translated<br />
}<br />
}<br />
}</p>
<p>//don&#8217;t really know what this does, but the Minim sample code says to be sure to do this, so can&#8217;t hurt<br />
void stop()<br />
{<br />
x1.close();<br />
x2.close();<br />
x3.close();<br />
x4.close();<br />
x5.close();<br />
x6.close();<br />
y1.close();<br />
y2.close();<br />
y3.close();<br />
y4.close();<br />
y5.close();<br />
y6.close();<br />
minim.stop();<br />
super.stop();<br />
}</p></blockquote>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/12/06/headbangerphones-part-2/" rel="bookmark" class="crp_title">head(banger)phones part 2</a></li><li><a href="http://leesean.net/2008/11/13/icm-final-musical-typewriter-take-2/" rel="bookmark" class="crp_title">ICM Final: Musical Typewriter &#8211; take 2</a></li><li><a href="http://leesean.net/2008/11/14/icm-final-musical-typewriter-screenshot/" rel="bookmark" class="crp_title">ICM Final: Musical Typewriter Screenshot</a></li><li><a href="http://leesean.net/2008/12/02/icm-final-source-code/" rel="bookmark" class="crp_title">ICM Final: Post-Modern Poster Child (Musical Typeface Reinvention)</a></li><li><a href="http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/" rel="bookmark" class="crp_title">P-Comp: Sine Wave of Doom AKA the Poser Theremin</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/12/16/headbangerphones-final/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ITP Winter Show</title>
		<link>http://leesean.net/2008/12/13/itp-winter-show/</link>
		<comments>http://leesean.net/2008/12/13/itp-winter-show/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 05:18:23 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[New York]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Show]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1436</guid>
		<description><![CDATA[I will be presenting the head(banger)phones.  Please come Related PostsITP Winter Show on the Internetshead(banger)phones @ ITP Winter Show 2008Kris &#038; Sophia meet the head(banger)phonesITP Spring Show 2010Kia&#8217;s Homemade Bake SalePowered by Contextual Related Posts]]></description>
			<content:encoded><![CDATA[<p><a href="http://itp.nyu.edu/shows/winter2008/"><img class="alignnone size-full wp-image-1437" title="ITP Winter Show 2008" src="http://leesean.net/wp-content/uploads/2008/12/picture-11.png" alt="" /></a><a href="http://itp.nyu.edu/shows/winter2008/"><img class="alignnone size-full wp-image-1440" title="picture-211" src="http://leesean.net/wp-content/uploads/2008/12/picture-211.png" alt="" /></a></p>
<p><a href="http://itp.nyu.edu/shows/winter2008/"></a>I will be presenting the <a href="http://leesean.net/2008/12/06/headbangerphones-part-2/">head(banger)phones</a>.  Please come <img src='http://leesean.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/12/18/itp-winter-show-on-the-internets/" rel="bookmark" class="crp_title">ITP Winter Show on the Internets</a></li><li><a href="http://leesean.net/2008/12/18/headbangerphones-itp-winter-show-2008/" rel="bookmark" class="crp_title">head(banger)phones @ ITP Winter Show 2008</a></li><li><a href="http://leesean.net/2009/01/14/kris-sophia-meet-the-headbangerphones/" rel="bookmark" class="crp_title">Kris &#038; Sophia meet the head(banger)phones</a></li><li><a href="http://leesean.net/2010/05/10/itp-spring-show-2010/" rel="bookmark" class="crp_title">ITP Spring Show 2010</a></li><li><a href="http://leesean.net/2008/12/04/kias-homemade-bake-sale/" rel="bookmark" class="crp_title">Kia&#8217;s Homemade Bake Sale</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/12/13/itp-winter-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>head(banger)phones part 2</title>
		<link>http://leesean.net/2008/12/06/headbangerphones-part-2/</link>
		<comments>http://leesean.net/2008/12/06/headbangerphones-part-2/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 03:10:47 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[head(banger)phones]]></category>
		<category><![CDATA[Headphones]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1428</guid>
		<description><![CDATA[UPDATE to the update:  I&#8217;ve just uploaded my final presentation slides for the head(banger)phones in PDF format.  Download here. This is an progress update on my final project for Physical Computing, the head(banger)phones. Since I presented my work in progress in class two weeks ago, I have moved the accelerometer (pictured above) to the top [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE to the update:  I&#8217;ve just uploaded <a href="http://leesean.net/itp/pcomp/head(banger)phones.pdf">my final presentation slides for the head(banger)phones</a> in PDF format.  <a href="http://leesean.net/itp/pcomp/head(banger)phones.pdf">Download here</a>.</p>
<p>This is an progress update on my final project for Physical Computing, the <a href="http://leesean.net/2008/11/05/headbangerphones/">head(banger)phones</a>.</p>
<p><a title="head(banger)phones by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/3088425250/"><img src="http://farm4.static.flickr.com/3200/3088425250_a94f9b33be.jpg" alt="head(banger)phones" width="500" height="375" /></a></p>
<p><a title="head(banger)phones by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/3088428150/"><img src="http://farm4.static.flickr.com/3278/3088428150_b1455f4dfb.jpg" alt="head(banger)phones" width="500" height="375" /></a></p>
<p><a title="head(banger)phones by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/3087589177/"><img src="http://farm4.static.flickr.com/3026/3087589177_0f96187851.jpg" alt="head(banger)phones" width="500" height="375" /></a></p>
<p><span id="more-1428"></span>Since I presented my work in progress in class two weeks ago, I have moved the accelerometer (pictured above) to the top of the headphones instead of on the side of the left headphone.  I also reconsidered the actual &#8220;headbanging&#8221; motion required by the user to trigger sounds.  After doing some user testing on myself, I realized that this wasn&#8217;t the most comfortable of motions to keep up (or to track in software).  I am still going to retain the name head(banger)phones for the project though, because it sounds cool, is unique enough to show up first on Google, and because the parentheses evoke headphones.</p>
<p>Anyway, the new concept is to have the user move his/her head front and back, left and right while wearing the head(banger)phones.  The program will play a constant minimalist beat, and the action of head tilt on 2 axes trigger other sound elements to be played at different degress of head tilt.  In other words, I am composing a musical object that exists in the perceptual space of the headphones, and the user will hear different aspects of the musical object depending on the position of his/her head.</p>
<p>Also, I&#8217;ve decided that I don&#8217;t actually need to use MIDI at all to make this work.  I can just have the <a href="http://arduino.cc">Arduino</a> send a serial out message to <a href="http://processing.org/">Processing</a>, which in turn interprets the accelerometer tilt readings and uses the <a href="http://code.compartmental.net/tools/minim/">Minim</a> library to play back samples I have created.</p>
<p><a href="http://leesean.net/2008/11/05/headbangerphones/">[head(banger)phones part 1]</a></p>
<p>Here is the simple and straightforward Arduino code I am using to send the accelerometer readings to Processing:</p>
<blockquote><p>int accelerometerX = 0;<br />
int accelerometerY = 1;</p>
<p>int accelValueX=0;<br />
int accelValueY=0;<br />
void setup()<br />
{<br />
// start serial port at 9600 bps:<br />
Serial.begin(9600);<br />
}</p>
<p>void loop()<br />
{<br />
accelValueX = analogRead(accelerometerX);<br />
accelValueY = analogRead(accelerometerY);<br />
Serial.print(accelValueX, DEC);<br />
Serial.print(&#8220;,&#8221;);<br />
Serial.println(accelValueY, DEC);<br />
// pause for 10 milliseconds:<br />
//delay(10);<br />
}</p></blockquote>
<p><strong>Update:</strong> Here is my Processing code:</p>
<blockquote><p>import ddf.minim.signals.*;<br />
import ddf.minim.*;<br />
import ddf.minim.analysis.*;<br />
import ddf.minim.effects.*;<br />
import processing.serial.*;</p>
<p>int counter = 0;  //variable for controlling tempo<br />
int tempo = 60; //the higher the number, the slower it goes</p>
<p>//minimum and maximum values coming from accelerometer<br />
int minX = 250;<br />
int maxX = 480;<br />
int minY = 250;<br />
int maxY = 480;</p>
<p>Serial myPort;  // The serial port<br />
int accelX=0;<br />
int accelY=0;</p>
<p>Minim minim;<br />
AudioSample x1;<br />
AudioSample x2;<br />
AudioSample x3;<br />
AudioSample x4;<br />
AudioSample x5;<br />
AudioSample x6;<br />
AudioSample y1;<br />
AudioSample y2;<br />
AudioSample y3;<br />
AudioSample y4;<br />
AudioSample y5;<br />
AudioSample y6;</p>
<p>void setup()<br />
{<br />
println(Serial.list());<br />
myPort = new Serial (this, Serial.list()[0], 9600);<br />
minim = new Minim(this);<br />
size(1440,850);<br />
background(0);<br />
textFont(createFont(&#8220;Courier&#8221;, 80));<br />
textAlign(CENTER);<br />
fill(255);<br />
text(&#8220;head(banger)phones&#8221;, width/2, height/2 &#8211; 50);<br />
text(&#8220;(move your head)&#8221;, width/2, height/2 + 50);</p>
<p>x1 = minim.loadSample(&#8220;x1.mp3&#8243;, 1440);<br />
x2 = minim.loadSample(&#8220;x2.mp3&#8243;, 1440);<br />
x3 = minim.loadSample(&#8220;x3.mp3&#8243;, 1440);<br />
x4 = minim.loadSample(&#8220;x4.mp3&#8243;, 1440);<br />
x5 = minim.loadSample(&#8220;x5.mp3&#8243;, 1440);<br />
x6 = minim.loadSample(&#8220;x6.mp3&#8243;, 1440);</p>
<p>y1 = minim.loadSample(&#8220;y1.mp3&#8243;, 1440);<br />
y2 = minim.loadSample(&#8220;y2.mp3&#8243;, 1440);<br />
y3 = minim.loadSample(&#8220;y3.mp3&#8243;, 1440);<br />
y4 = minim.loadSample(&#8220;y4.mp3&#8243;, 1440);<br />
y5 = minim.loadSample(&#8220;y5.mp3&#8243;, 1440);<br />
y6 = minim.loadSample(&#8220;y6.mp3&#8243;, 1440);<br />
}</p>
<p>void draw()<br />
{<br />
counter = (counter+1)%tempo;</p>
<p>if (counter == 0)<br />
{<br />
//play samples according the the X value<br />
if (accelX == 1) {<br />
x1.trigger();<br />
}<br />
else if (accelX == 2) {<br />
x2.trigger();<br />
}<br />
else if (accelX == 3) {<br />
x3.trigger();<br />
}<br />
else if (accelX == 4) {<br />
x4.trigger();<br />
}<br />
else if (accelX == 5) {<br />
x5.trigger();<br />
}<br />
else if (accelX == 6) {<br />
x6.trigger();<br />
}</p>
<p>//play samples according the the Y value<br />
if (accelY == 1) {<br />
y1.trigger();<br />
}<br />
else if (accelY == 2) {<br />
y2.trigger();<br />
}<br />
else if (accelY == 3) {<br />
y3.trigger();<br />
}<br />
else if (accelY == 4) {<br />
y4.trigger();<br />
}<br />
else if (accelY == 5) {<br />
y5.trigger();<br />
}<br />
else if (accelY == 6) {<br />
y6.trigger();<br />
}<br />
}<br />
}</p>
<p>void serialEvent(Serial myPort)<br />
{<br />
// read the serial buffer:<br />
String myString = myPort.readStringUntil(&#8216;\n&#8217;);<br />
// if you got any bytes other than the linefeed:<br />
if (myString != null) {<br />
myString = trim(myString);<br />
// split the string at the commas<br />
// and convert the sections into integers:<br />
int sensors[] = int(split(myString, &#8216;,&#8217;));<br />
if (sensors.length &gt; 0) {<br />
accelX = int(map(sensors[0], minX,maxX,1,6));<br />
accelY = int(map(sensors[1], minY,maxY,1,6));<br />
println(accelX + &#8220;,&#8221; +accelY); //debugging to make sure the values are coming through and being translated<br />
}<br />
}<br />
}</p>
<p>//don&#8217;t really know what this does, but the Minim sample code says to be sure to do this, so can&#8217;t hurt<br />
void stop()<br />
{<br />
x1.close();<br />
x2.close();<br />
x3.close();<br />
x4.close();<br />
x5.close();<br />
x6.close();<br />
y1.close();<br />
y2.close();<br />
y3.close();<br />
y4.close();<br />
y5.close();<br />
y6.close();<br />
minim.stop();<br />
super.stop();<br />
}</p></blockquote>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/12/16/headbangerphones-final/" rel="bookmark" class="crp_title">head(banger)phones &#8211; FINAL</a></li><li><a href="http://leesean.net/2008/11/13/icm-final-musical-typewriter-take-2/" rel="bookmark" class="crp_title">ICM Final: Musical Typewriter &#8211; take 2</a></li><li><a href="http://leesean.net/2008/11/14/icm-final-musical-typewriter-screenshot/" rel="bookmark" class="crp_title">ICM Final: Musical Typewriter Screenshot</a></li><li><a href="http://leesean.net/2008/12/02/icm-final-source-code/" rel="bookmark" class="crp_title">ICM Final: Post-Modern Poster Child (Musical Typeface Reinvention)</a></li><li><a href="http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/" rel="bookmark" class="crp_title">P-Comp: Sine Wave of Doom AKA the Poser Theremin</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/12/06/headbangerphones-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>head(banger)phones</title>
		<link>http://leesean.net/2008/11/05/headbangerphones/</link>
		<comments>http://leesean.net/2008/11/05/headbangerphones/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 21:29:07 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Headphones]]></category>
		<category><![CDATA[Instrument]]></category>
		<category><![CDATA[MIDI]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1311</guid>
		<description><![CDATA[My final project proposal for Physical Computing at ITP: head(banger)phones &#8211; a personal musical device A set of headphones rigged with an accelerometer that detects the motion of the user&#8217;s head and converts that motion data into MIDI data via an Arduino microprocessor.  The MIDI then triggers percussion sounds in a software synth on the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://leesean.net/wp-content/uploads/2008/11/headbphones.jpg"><img class="alignnone size-full wp-image-1312" title="headbphones" src="http://leesean.net/wp-content/uploads/2008/11/headbphones.jpg" alt="" /></a></p>
<p>My final project proposal for <a href="http://itp.nyu.edu/physcomp/Intro/HomePage">Physical Computing at ITP</a>:</p>
<p><strong>head(banger)phones &#8211; a personal musical device</strong></p>
<p>A set of headphones rigged with an accelerometer that detects the motion of the user&#8217;s head and converts that motion data into MIDI data via an Arduino microprocessor.  The MIDI then triggers percussion sounds in a software synth on the computer, which feeds the audio signal back to the user wearing the headphones.</p>
<p><a href="http://vimeo.com/2164624">Here is a video</a> of my proposal to my class.</p>
<p><object width="500" height="377"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2164624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2164624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="377"></embed></object><br /><a href="http://vimeo.com/2164624">head(banger)phones</a> from <a href="http://vimeo.com/hepnova">lee-sean</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/26/protest-against-the-bush-bailout-on-wall-street/" rel="bookmark" class="crp_title">Protest Against the Bush Bailout on Wall Street</a></li><li><a href="http://leesean.net/2007/11/08/avaazorgs-ricken-patel-on-bbcs-hardtalk/" rel="bookmark" class="crp_title">Avaaz.org&#8217;s Ricken Patel on BBC&#8217;s HARDtalk</a></li><li><a href="http://leesean.net/2008/10/18/herbivores/" rel="bookmark" class="crp_title">Herbivores</a></li><li><a href="http://leesean.net/2010/01/25/video-of-mumbo-jumbo-maracas-high-res/" rel="bookmark" class="crp_title">Video of Mumbo Jumbo Maracas (High Res)</a></li><li><a href="http://leesean.net/2009/05/27/cant-stop-music-video/" rel="bookmark" class="crp_title">Can&#8217;t Stop Music Video</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/11/05/headbangerphones/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Electric Chair Bear</title>
		<link>http://leesean.net/2008/10/21/electric-chair-bear/</link>
		<comments>http://leesean.net/2008/10/21/electric-chair-bear/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 03:40:41 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Bear]]></category>
		<category><![CDATA[Care Bear]]></category>
		<category><![CDATA[Electric Chair]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1223</guid>
		<description><![CDATA[Liesje, Tim and I finished our midterm project for Physical Computing tonight.  Our original concept was the Voodoo Bear, but after managing to break a couple sensors and a vibration motor in the building process, we decided go with a slightly different concept. Here it is in action: The setup allows us to inflict Arduino-based [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1225" title="ecb500" src="http://leesean.net/wp-content/uploads/2008/10/ecb500.jpg" alt="" /></p>
<p><a href="http://itp.nyu.edu/blogs/lah432">Liesje</a>, <a href="http://itp.nyu.edu/blogs/th913">Tim</a> and I finished our midterm project for Physical Computing tonight.  Our original concept was the <a href="http://leesean.net/2008/10/17/p-comp-midterm-voodoo-bear/">Voodoo Bear</a>, but after managing to break a couple sensors and a vibration motor in the building process, we decided go with a slightly different concept.</p>
<p><img class="alignnone size-full wp-image-1224" title="electricchairbear" src="http://leesean.net/wp-content/uploads/2008/10/electricchairbear.jpg" alt="" /></p>
<p><span id="more-1223"></span>Here it is in action:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=5070076eb1&amp;photo_id=2963450006" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=61761" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=61761" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=5070076eb1&amp;photo_id=2963450006"></embed></object></p>
<p>The setup allows us to inflict Arduino-based violence against the bear, representing our frustration with the bear and the difficulties of building something from the outside in rather than from the inside out.  It can also be read as a demented commentary on the death penalty (which I&#8217;m against) or as a kind of shock therapy that de-incentivizes eating candy &#8211; good for people trying to control their diet.  Eat chocolate and the bear dies.</p>
<p><a href="http://itp.nyu.edu/blogs/th913">Tim</a> talks more about the process on <a href="http://itp.nyu.edu/blogs/th913">his blog</a>:</p>
<blockquote><p>The Electric Chair Bear came to fruition this evening as Liesje, Lee-Sean, and I had a revelation yesterday evening about making the voodoo bear concept we had be a voodoo/electric chair bear.  We were having some serious problems making the servo motors do everything we wanted by building the bear’s components, sensors, and motors from the inside out.  We also destroyed about 3 different things including a flex and stretch sensor and a mini vibrating motor.  This was all due to the structure of the bear and the complexity of inserting motors and sensors into the bear.  We did get the bear to do some cool things with the eye connected to a motor as well as putting an LED into the bear’s eye, so that when you shake an accelerometer the bear’s eye moves and the LED turns on and off.  The accelerometer also turns on another servo motor to give slight motion to an arm.    We constructed a chair that looks like previous teddy bears could have been put to death in, and connected tin foil as a metal helmet, sharp teeth, leg shackles, and a lighting bolt across the chest so that the bear sits in the chair, and when the accelerometer is activated, the bear reacts accordingly and looks like he is being electrocuted.  The lightning bolt really makes it “The Electric Chair Bear,” the anti-care bear.  The acceleromoter is attached to a candy bar as incentive so that when a famished passerby sees it, he will pick it up and activate the acceleromoter.  We also wrote a Processing program so that when the accelerometer is activated, the Electric Chair Bear shakes in the processing sketch that has an image of the bear.  The background also freaks out between blue and red to give an added effect of electric proportions.  We also wrote a function so that when the mouse rolls over the distinctly weird eye in question, the LED turns on.  We are very happy with our Electric Chair Bear, and feel as though this idea is even creepier and better for the Haunted House than the original idea.</p></blockquote>
<p><strong>Here is the Arduino code:</strong></p>
<blockquote><p>int servoPin = 11;     // Control pin for servo motor &#8211; Eye<br />
int servoPin2 = 12;    // Hand<br />
int minPulse = 500;   // Minimum servo position<br />
int maxPulse = 2500;  // Maximum servo position<br />
int pulse = 0;        // Amount to pulse the servo<br />
int ledPin = 4;<br />
int pulseWidth;</p>
<p>long lastPulse = 0;    // the time in milliseconds of the last pulse<br />
int refreshTime = 20; // the time needed in between pulses</p>
<p>int analogValue = 0;  // the value returned from the analog sensor<br />
int analogPin = 0;    // the analog pin that the sensor&#8217;s on</p>
<p>int buttonSwitch = 2;      // switch<br />
int buzzerPin = 8;         //buzzer<br />
int motor = 0;<br />
int sensorValue = 0;     // reading from the sensor<br />
int buttonValue;<br />
int ledOn = 0;<br />
int accelerometer = 0;<br />
int accelValuePrev;<br />
int accelValue;</p>
<p>void setup() {<br />
// configure the serial connection:<br />
pinMode(ledPin, OUTPUT);<br />
pinMode(servoPin, OUTPUT);  // Set servo pin as an output pin<br />
pinMode(servoPin2, OUTPUT);</p>
<p>Serial.begin(9600);<br />
// configure the digital input:<br />
pinMode(buttonSwitch, INPUT);<br />
pinMode(buzzerPin, OUTPUT);<br />
pinMode(accelerometer, INPUT);<br />
digitalWrite(buzzerPin, HIGH);</p>
<p>}</p>
<p>void loop() {<br />
if (Serial.available() &gt; 0) {<br />
ledOn = Serial.read();<br />
if(ledOn == 1){<br />
digitalWrite(ledPin, HIGH);<br />
}<br />
else if (ledOn == 0){<br />
digitalWrite(ledPin, LOW);<br />
}<br />
}<br />
accelValue = analogRead(accelerometer);<br />
sensorValue = digitalRead(buttonSwitch);<br />
buttonValue = sensorValue;</p>
<p>if (abs(accelValue-accelValuePrev) &gt;15){<br />
Serial.print(1, BYTE);<br />
turnServo(180);<br />
delay(20);<br />
turnServo(5);</p>
<p>digitalWrite(buzzerPin, HIGH);<br />
digitalWrite(ledPin, HIGH);</p>
<p>}<br />
else  {<br />
Serial.print(0, BYTE);<br />
digitalWrite(ledPin, LOW);<br />
digitalWrite(buzzerPin, LOW);<br />
}<br />
accelValuePrev = accelValue;<br />
}</p>
<p>void turnServo(int angle) {<br />
int i;<br />
// this loop is done in order to turn the servo motor to the wanted angle<br />
for( i=1;i&lt;angle ;i=i+10 ){</p>
<p>// calculates the amount to pulse to the servo (this servo can turn maximum 180 degrees)<br />
pulse = (i*2500)/180;<br />
// add the minimum amount for the pulse, and the relative position of the given angle<br />
// compared to the maximum angle<br />
pulse += 500+((2000/180)*i);<br />
// pulse the servo motor<br />
pulsout( servoPin, pulse);<br />
pulsout( servoPin2, pulse);<br />
}<br />
}</p>
<p>void pulsout( int servoPin, int pulse) {<br />
digitalWrite(servoPin, HIGH); // Turn the motor on<br />
delayMicroseconds(pulse); // Length of the pulse sets the motor position<br />
digitalWrite(servoPin, LOW); // Turn the motor off<br />
delay(20); // 20 millisecond delay is needed between pulses<br />
}</p></blockquote>
<p><strong>Here is the Processing code</strong></p>
<blockquote><p>import processing.serial.*;<br />
Serial myPort;  // The serial port</p>
<p>float  buttonSwitch, accelerometer, accelerometerPrev;<br />
float accelSensitivity = 5;<br />
//the values below are calibrated for use in the processing program</p>
<p>int accel = 0;<br />
PImage[] bear = new PImage [8];<br />
int frame = 0;  //frame counter for vibration</p>
<p>void setup()<br />
{<br />
println(Serial.list());<br />
myPort = new Serial (this, Serial.list()[0], 9600);<br />
size(600,800);<br />
noStroke();<br />
bear[0] = loadImage(&#8220;voodoo-bear_blue_small.jpg&#8221;);<br />
bear[1] = loadImage(&#8220;voodoo-bear_red_small.jpg&#8221;);<br />
bear[2] = loadImage(&#8220;voodoo-left-red.jpg&#8221;);<br />
bear[3] = loadImage(&#8220;voodoo-left-blue.jpg&#8221;);<br />
bear[4] = loadImage(&#8220;voodoo-bear_blue_small.jpg&#8221;);<br />
bear[5] = loadImage(&#8220;voodoo-bear_red_small.jpg&#8221;);<br />
bear[6] = loadImage(&#8220;voodoo-right-blue.jpg&#8221;);<br />
bear[7] = loadImage(&#8220;voodoo-right-red.jpg&#8221;);<br />
image(bear[0], 0,0);<br />
}</p>
<p>void draw()<br />
{<br />
frame = (frame+1)%8;<br />
//turn background red if mouse gets close to the zombie eye<br />
if(dist(mouseX, mouseY, 240, 190) &lt; 56)<br />
{<br />
fill(255,0,0,160); //transparent red<br />
myPort.write(1); //send one to Arduino to turn on eye<br />
image(bear[1], 0,0);<br />
//ellipse(240,190,55,55);  //Finding the eye<br />
}<br />
else {<br />
image(bear[0], 0,0);<br />
// myPort.write(0);<br />
}<br />
if(accel==1){<br />
shakeBear();<br />
}<br />
}</p>
<p>void serialEvent (Serial myPort) {<br />
// get the byte:<br />
int inByte = myPort.read();<br />
// print it:<br />
println(inByte);<br />
accel = inByte;<br />
}</p>
<p>void shakeBear(){<br />
image (bear[frame], 0,0);<br />
}</p></blockquote>
<p><a href="http://flickr.com/photos/leesean/sets/72157608259357199/">More photos and videos on Flickr.</a></p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/27/physical-computing-week-4-analog-output-servo-motor/" rel="bookmark" class="crp_title">Physical Computing Week 4: Analog Output &#038; Servo Motor</a></li><li><a href="http://leesean.net/2008/10/17/p-comp-midterm-voodoo-bear/" rel="bookmark" class="crp_title">P-Comp Midterm: Voodoo Bear</a></li><li><a href="http://leesean.net/2008/10/07/p-comp-serial-output/" rel="bookmark" class="crp_title">P-Comp: Serial Output</a></li><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/10/21/electric-chair-bear/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Transistor Lab and Voodoo Bear Update</title>
		<link>http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/</link>
		<comments>http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 02:06:48 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[P-Comp]]></category>
		<category><![CDATA[Voodoo Bear]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1214</guid>
		<description><![CDATA[In this week&#8217;s Physical Computing lab, we learned how to power a DC motor using a transistor. I wired up my Arduino and motor following the schematic in the lab documentation exactly: The connectors on the DC motor are extremely fragile.  I managed to break one off accidentally, so I had to borrow Tim&#8217;s motor.  [...]]]></description>
			<content:encoded><![CDATA[<p>In this week&#8217;s <a href="http://itp.nyu.edu/physcomp/Intro/HomePage">Physical Computing</a> lab, we learned how to power a DC motor using a transistor.  I wired up my Arduino and motor following the schematic in the lab documentation exactly:</p>
<p><a title="IMG_4905 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2952594193/"><img src="http://farm4.static.flickr.com/3136/2952594193_ac8f5f6a91.jpg" alt="IMG_4905" width="500" height="375" /></a></p>
<p>The connectors on the DC motor are extremely fragile.  I managed to break one off accidentally, so I had to borrow Tim&#8217;s motor.  I haven&#8217;t had the best of luck lately with components.  While working on our midterm project, the <a href="http://flickr.com/photos/leesean/sets/72157608099794200/">Voodoo Bear</a>, we managed to break a flex sensor and a stretch sensor today.</p>
<p>In any case, I got the DC motor to work:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=7430964e59&amp;photo_id=2952173157" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=61761" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=61761" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=7430964e59&amp;photo_id=2952173157"></embed></object></p>
<p>With the addition of a potentiometer and the additional code provided, I now have a potentiometer-controlled spastic DC motor!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=dde6c48608&amp;photo_id=2953028310" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=61761" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=61761" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=dde6c48608&amp;photo_id=2953028310"></embed></object></p>
<p><a href="http://www.flickr.com/photos/leesean/2952202355/" title="voodoo-bear_red by leesean, on Flickr"><img src="http://farm4.static.flickr.com/3010/2952202355_e33188b6dd.jpg" width="375" height="500" alt="voodoo-bear_red" /></a></p>
<p>In other news, we managed to complete most of the construction on the Voodoo Bear today.  We put two servomotors into the bear.  One makes the bear blink and the other one makes the bear&#8217;s arm wave.  The servos and other components are affixed to a flexible &#8220;skeleton&#8221; inside the bear that is made out of thick ethernet cables.     </p>
<p><object type="application/x-shockwave-flash" width="500" height="375" data="http://www.flickr.com/apps/video/stewart.swf?v=61761" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=45c3d323ff&amp;photo_id=2953023150"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=61761"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=61761" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=45c3d323ff&amp;photo_id=2953023150" height="375" width="500"></embed></object></p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2010/02/21/making-spicy-scrambled-eggs-with-sardines/" rel="bookmark" class="crp_title">Making spicy scrambled eggs with sardines</a></li><li><a href="http://leesean.net/2009/11/02/wiimote-as-midi-controller/" rel="bookmark" class="crp_title">Wiimote as MIDI controller</a></li><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2008/11/05/election-night/" rel="bookmark" class="crp_title">Election Night</a></li><li><a href="http://leesean.net/2010/01/02/itp-winter-show-2/" rel="bookmark" class="crp_title">ITP Winter Show</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P-Comp Midterm: Voodoo Bear</title>
		<link>http://leesean.net/2008/10/17/p-comp-midterm-voodoo-bear/</link>
		<comments>http://leesean.net/2008/10/17/p-comp-midterm-voodoo-bear/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 16:56:51 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Bear]]></category>
		<category><![CDATA[Voodoo]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1204</guid>
		<description><![CDATA[I worked with Tim and Liesje yesterday on our Physical Computing midterm, the Voodoo Bear, which is a bit like Frankenstein&#8217;s monster, built from the shell of a Build-a-Bear and various wires, sensors and other components.  The bear will move in reaction to human actions on a connected Processing program or through triggering sensors built [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Voodoo Bear by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2948469992/"><img src="http://farm4.static.flickr.com/3208/2948469992_66d40d86ce.jpg" alt="Voodoo Bear" width="500" height="375" /></a></p>
<p>I worked with <a href="http://itp.nyu.edu/blogs/th913">Tim</a> and <a href="http://itp.nyu.edu/blogs/lah432/category/itp/physical-computing/">Liesje</a> yesterday on our Physical Computing midterm, the Voodoo Bear, which is a bit like Frankenstein&#8217;s monster, built from the shell of a <a href="http://www.buildabear.com/">Build-a-Bear</a> and various wires, sensors and other components.  The bear will move in reaction to human actions on a connected <a href="http://processing.org/">Processing</a> program or through triggering sensors built into the bear.  Click on the schematic below for details.  Still very much a work in progress, so I&#8217;ll save full the explanation for later.</p>
<p><a title="Voodoo Bear by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2948471816/"><img src="http://farm4.static.flickr.com/3275/2948471816_d1a7f45998.jpg" alt="Voodoo Bear" width="500" height="375" /></a></p>
<p><a title="Voodoo Bear by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2947621839/"><img src="http://farm4.static.flickr.com/3251/2947621839_f0e0b79f70.jpg" alt="Voodoo Bear" width="500" height="375" /></a></p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2008/10/21/electric-chair-bear/" rel="bookmark" class="crp_title">Electric Chair Bear</a></li><li><a href="http://leesean.net/2008/11/02/southampton/" rel="bookmark" class="crp_title">Southampton</a></li><li><a href="http://leesean.net/2008/11/15/protest-against-prop-8-nyc/" rel="bookmark" class="crp_title">Protest Against Prop 8 &#8211; NYC</a></li><li><a href="http://leesean.net/2008/06/05/an-evening-with-maker-faire/" rel="bookmark" class="crp_title">An Evening With Maker Faire</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/10/17/p-comp-midterm-voodoo-bear/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>P-Comp: Sine Wave of Doom AKA the Poser Theremin</title>
		<link>http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/</link>
		<comments>http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 02:54:30 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Minim]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1198</guid>
		<description><![CDATA[In this week&#8217;s lab, we learned about Serial Duplex and continued to learn more about how to get Arduino and Processing to talk to each other. In my spin on the lab, I hooked up 2 potentiometers through the Arduino to control the frequency and panning of a sine wave in Processing that is manifested [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://leesean.net/itp/pcomp/sine_wav_screenshot.png" alt="" /></p>
<p>In this <a href="http://itp.nyu.edu/physcomp/Labs/SerialDuplex">week&#8217;s lab</a>, we learned about <a href="http://itp.nyu.edu/physcomp/Labs/SerialDuplex">Serial Duplex</a> and continued to learn more about how to get <a href="http://arduino.cc/">Arduino</a> and <a href="http://processing.org/">Processing</a> to talk to each other.</p>
<p>In my spin on the lab, I hooked up 2 potentiometers through the Arduino to control the frequency and panning of a sine wave in Processing that is manifested on screen and as audio.  I don&#8217;t know why I chose red and blue for the sine waves.  Maybe I&#8217;ve been watching too much TV coverage of the presidential campaign.  In any case, the effect is that of a sine wave of doom or a poser theremin.</p>
<p>To get Processing to play sound, I used the <a href="http://code.compartmental.net/tools/minim/">Minim library</a>.  I basically <a href="http://code.compartmental.net/minim/examples/AudioOutput/SineWaveSignal/SineWaveSignal.pde">poached some example code from the Minim</a> site and tweaked it so the sound responds to analog ins from the Arduino instead of mouseX and Y in the original sketch.</p>
<p><a title="IMG_4826 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2930689346/"><img src="http://farm4.static.flickr.com/3054/2930689346_2c6e922488.jpg" alt="IMG_4826" width="500" height="375" /></a></p>
<p>I hope to use more exciting sensors later on to make it more expressive and musical when I get back from fall break next week, but it took me awhile to tweak the software side of things and the computer store was already closed by the time I got around to this.  Here it is in action:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=d331f1843a&amp;photo_id=2929870543" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=60247" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=60247" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=d331f1843a&amp;photo_id=2929870543"></embed></object></p>
<p>My digital camera didn&#8217;t pick up the audio very well,<a href="http://leesean.net/itp/pcomp/sine1.mp3"> so here is an MP3 of some &#8220;music&#8221; I made</a>.  And <a href="http://leesean.net/itp/pcomp/sine2.mp3">here is another attempt</a>.</p>
<p>And finally, here is the Processing code:</p>
<blockquote><p>import processing.serial.*;     // import the Processing serial library<br />
import ddf.minim.*;<br />
import ddf.minim.signals.*;</p>
<p>Serial myPort;                  // The serial port<br />
AudioOutput out;<br />
SineWave sine;<br />
int sensors[] = new int[2];</p>
<p>int passX;<br />
int passY;</p>
<p>void setup(){<br />
myPort = new Serial(this, Serial.list()[0], 9600);<br />
myPort.bufferUntil(&#8216;\n&#8217;);<br />
size(512, 200);<br />
// always start Minim before you do anything with it<br />
Minim.start(this);<br />
// get a line out from Minim, default sample rate is 44100, bit depth is 16<br />
out = Minim.getLineOut(Minim.STEREO, 512);<br />
// create a sine wave Oscillator, set to 440 Hz, at 0.5 amplitude, sample rate 44100 to match the line out<br />
sine = new SineWave(440, 0.5, 44100);<br />
// set the portamento speed on the oscillator to 200 milliseconds<br />
sine.portamento(200);<br />
// add the oscillator to the line out<br />
out.addSignal(sine);<br />
passX = 0;<br />
passY = 0;<br />
}</p>
<p>void draw()<br />
{<br />
background(0,50);<br />
stroke(255);<br />
// draw the waveforms<br />
for(int i = 0; i &lt; out.left.size()-1; i++)<br />
{<br />
stroke(#FF0000); //left is red<br />
line(i, 50 + out.left.get(i)*50, i+1, 50 + out.left.get(i+1)*50);<br />
stroke(#0023FC); //right is blue<br />
line(i, 150 + out.right.get(i)*50, i+1, 150 + out.right.get(i+1)*50);<br />
}<br />
float freq = map(passY, 0, 1023, 1500, 60);<br />
sine.setFreq(freq);<br />
// pan always changes smoothly to avoid crackles getting into the signal<br />
// note that we could call setPan on out, instead of on sine<br />
// this would sound the same, but the waveforms in out would not reflect the panning<br />
float pan = map(passX, 0, 1023, -1, 1);<br />
sine.setPan(pan);<br />
}</p>
<p>void stop()<br />
{<br />
out.close();<br />
super.stop();<br />
}</p>
<p>void serialEvent(Serial myPort)<br />
{<br />
// read the serial buffer:<br />
String myString = myPort.readStringUntil(&#8216;\n&#8217;);<br />
myString = trim(myString);<br />
int sensors[] = int(split(myString, &#8216;,&#8217;));<br />
for (int sensorNum = 0; sensorNum &lt; sensors.length; sensorNum++)<br />
{<br />
// print(&#8220;Sensor &#8221; + sensorNum + &#8220;: &#8221; + sensors[sensorNum] + &#8220;\t&#8221;);<br />
}<br />
passX = sensors[0];<br />
passY = sensors[1];<br />
//println();<br />
//print(&#8220;PassX= &#8221; + passX + &#8220;, PassY= &#8221; + passY);<br />
//println();</p>
<p>}</p></blockquote>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/12/16/headbangerphones-final/" rel="bookmark" class="crp_title">head(banger)phones &#8211; FINAL</a></li><li><a href="http://leesean.net/2008/12/06/headbangerphones-part-2/" rel="bookmark" class="crp_title">head(banger)phones part 2</a></li><li><a href="http://leesean.net/2008/10/07/p-comp-serial-output/" rel="bookmark" class="crp_title">P-Comp: Serial Output</a></li><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2008/11/14/icm-final-musical-typewriter-screenshot/" rel="bookmark" class="crp_title">ICM Final: Musical Typewriter Screenshot</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<enclosure url="http://leesean.net/itp/pcomp/sine1.mp3" length="732768" type="audio/mpeg" />
		<enclosure url="http://leesean.net/itp/pcomp/sine2.mp3" length="343522" type="audio/mpeg" />
	</item>
		<item>
		<title>P-Comp: Serial Output</title>
		<link>http://leesean.net/2008/10/07/p-comp-serial-output/</link>
		<comments>http://leesean.net/2008/10/07/p-comp-serial-output/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 01:06:37 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[Interactive]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Serial Output]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1195</guid>
		<description><![CDATA[I worked on this week&#8217;s lab with Meredith.  First we set everything up as specified in the lab.  No real problems, pretty straight forward as the video below shows. Then we wanted to visualize the signal from the serial in a more personal, creative way, so I adapted the big orange circle and blue background [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Serial Output Lab by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2916740695/"><img src="http://farm4.static.flickr.com/3274/2916740695_d6700c19a4.jpg" alt="Serial Output Lab" width="500" height="375" /></a></p>
<p>I worked on this week&#8217;s lab with <a href="http://blog.mjhasson.com/2008/10/serial-output/">Meredith</a>.  First we set <a href="http://itp.nyu.edu/physcomp/Labs/SerialOut">everything up as specified in the lab</a>.  No real problems, pretty straight forward as the video below shows.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=3f060e2787&amp;photo_id=2916696671" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=60247" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=60247" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=3f060e2787&amp;photo_id=2916696671"></embed></object></p>
<p>Then we wanted to visualize the signal from the serial in a more personal, creative way, so I adapted the big orange circle and blue background from an <a href="http://leesean.net/2008/09/12/icm-week-2-assignment/">old ICM project</a> and tried to link the pot reading to the diameter of the circle.  Something stopped working though.  We started double checking wires and scanning every line of the code, but we still could not get the Arduino to talk to Processing.  Then we had a &#8220;duh&#8221; moment nearly an hour later and just ran the Arduino setup program again.  Then it worked.  Still don&#8217;t know why Arduino &#8220;forgot&#8221; how to output to Processing, even though we didn&#8217;t do anything.</p>
<p>The circle diameter did move along with the pot, but there was this nasty flicker that really bothered me, which made me not want to mess with the sketch anymore.  In any case, I think we got the hang of Serial Output.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=556f432ab7&amp;photo_id=2916728955" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=60247" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=60247" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=556f432ab7&amp;photo_id=2916728955"></embed></object></p>
<p>Here is the code we used:</p>
<p>import processing.serial.*;</p>
<p>Serial myPort;        // The serial port<br />
float bigOrangeCircleDiameter = 1; //the big orange circle starts out really small<br />
int bigOrangeCircleGrowthRate = 5;</p>
<p>void setup ()<br />
{<br />
size(800, 800);        // window size<br />
myPort = new Serial(this, Serial.list()[0], 9600);<br />
}</p>
<p>void draw()<br />
{<br />
}</p>
<p>void serialEvent(Serial myport)<br />
{<br />
rectMode(CORNER);<br />
noStroke();</p>
<p>// get the byte:<br />
int inByte = myPort.read();<br />
// print it:<br />
println(inByte);</p>
<p>//Draw the big orange circle that grows and shrinks<br />
fill(247,101,42); //Orange fill<br />
bigOrangeCircleDiameter = map (inByte, 0, 255, 0,800);<br />
ellipse(width/2,height/2,bigOrangeCircleDiameter,bigOrangeCircleDiameter);<br />
background(68,66,211,20); //turn the background blue<br />
}</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2010/02/21/making-spicy-scrambled-eggs-with-sardines/" rel="bookmark" class="crp_title">Making spicy scrambled eggs with sardines</a></li><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2008/10/10/p-comp-sine-wave-of-doom-aka-the-poser-theremin/" rel="bookmark" class="crp_title">P-Comp: Sine Wave of Doom AKA the Poser Theremin</a></li><li><a href="http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/" rel="bookmark" class="crp_title">Physical Computing: Week 3 Basic Electronics</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/10/07/p-comp-serial-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical Computing Week 4: Analog Output &amp; Servo Motor</title>
		<link>http://leesean.net/2008/09/27/physical-computing-week-4-analog-output-servo-motor/</link>
		<comments>http://leesean.net/2008/09/27/physical-computing-week-4-analog-output-servo-motor/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 23:40:32 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[Output]]></category>
		<category><![CDATA[Servo Motor]]></category>
		<category><![CDATA[Servobot]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1164</guid>
		<description><![CDATA[Week 4 of Intro to Physical Computing @ ITP involved learning about analog output on the Arduino microprocessor and getting familiar with servo motors. Physical Computing Week 4 &#8211; Evil Servobot from lee-sean on Vimeo. I decided to take a riff on the lab assignment and attempt to create pure evil with limited resources (and [...]]]></description>
			<content:encoded><![CDATA[<p>Week 4 of <a href="http://itp.nyu.edu/physcomp/Main/HomePage">Intro to Physical Computing @ ITP</a> involved learning about analog output on the <a href="http://www.arduino.cc/">Arduino</a> microprocessor and getting familiar with <a href="http://itp.nyu.edu/physcomp/Labs/Servo">servo motors</a>.</p>
<p><object width="500" height="333"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1821440&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1821440&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="333"></embed></object><br /><a href="http://vimeo.com/1821440?pg=embed&amp;sec=1821440">Physical Computing Week 4 &#8211; Evil Servobot</a> from <a href="http://vimeo.com/hepnova?pg=embed&amp;sec=1821440">lee-sean</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1821440">Vimeo</a>.</p>
<p>I decided to take a riff on the lab assignment and attempt to create pure evil with limited resources (and skills for that matter).  I hooked up the servo to a photocell via the Arduino, which controls the movement of the servo based on how much light the photocell detects.  Then I added an LED that dims/brightens, also following the analog reading on the photocell.  And for the final step (and the one the really unleashed pure evil), I added a small speaker that modulates its audio output, also according to the photocell reading.  With all the wires going into the LED and servo acting as anchors, the Evil Servobot is able to dance and shake its demonic robot hips.</p>
<p>Here is the code:</p>
<blockquote><p>int servoPin = 2;     // Control pin for servo motor<br />
int buzzerPin = 5;<br />
int ledPin = 11;  // Control pin for buzzer<br />
int minPulse = 500;   // Minimum servo position<br />
int maxPulse = 2500;  // Maximum servo position<br />
int pulse = 0;        // Amount to pulse the servo<br />
int brightness = 0;        //pitch of the</p>
<p>long lastPulse = 0;    // the time in milliseconds of the last pulse<br />
int refreshTime = 20; // the time needed in between pulses</p>
<p>int analogValue = 0;  // the value returned from the analog sensor<br />
int analogPin = 0;    // the analog pin that the sensor&#8217;s on</p>
<p>void setup() {<br />
pinMode(servoPin, OUTPUT);  // Set servo pin as an output pin<br />
pinMode(buzzerPin, OUTPUT); //set buzzer pin as output<br />
pinMode(ledPin, OUTPUT);  //set LED as output<br />
pulse = minPulse;           // Set the motor position value to the minimum<br />
Serial.begin(9600);<br />
}</p>
<p>void loop() {</p>
<p>analogValue = analogRead(analogPin);      // read the analog input<br />
brightness = map(analogValue,0,800,0,255);<br />
pulse = map(analogValue,0,800,minPulse,maxPulse);    // convert the analog value<br />
// to a range between minPulse<br />
// and maxPulse.<br />
// pulse the servo again if rhe refresh time (20 ms) have passed:<br />
Serial.println(analogValue);<br />
if (millis() &#8211; lastPulse &gt;= refreshTime) {<br />
digitalWrite(servoPin, HIGH);   // Turn the motor on<br />
delayMicroseconds(pulse);       // Length of the pulse sets the motor position<br />
digitalWrite(servoPin, LOW);    // Turn the motor off<br />
analogWrite(ledPin,brightness);<br />
analogWrite(buzzerPin,analogValue*10);<br />
lastPulse = millis();           // save the time of the last pulse<br />
}<br />
}</p></blockquote>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/10/21/electric-chair-bear/" rel="bookmark" class="crp_title">Electric Chair Bear</a></li><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2008/10/18/herbivores/" rel="bookmark" class="crp_title">Herbivores</a></li><li><a href="http://leesean.net/2008/09/26/protest-against-the-bush-bailout-on-wall-street/" rel="bookmark" class="crp_title">Protest Against the Bush Bailout on Wall Street</a></li><li><a href="http://leesean.net/2008/11/05/headbangerphones/" rel="bookmark" class="crp_title">head(banger)phones</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/27/physical-computing-week-4-analog-output-servo-motor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical Computing: Week 3 Basic Electronics</title>
		<link>http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/</link>
		<comments>http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 14:51:18 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1101</guid>
		<description><![CDATA[I worked with Catherine on this week&#8217;s lab in Physical Computing, which involved getting familiar with basic electronics. First we made a basic LED circuit: We wired everything up according to the diagram, but nothing happened.  After getting some help from Michael, one of the residents, we discovered that we had mistaken a transistor for [...]]]></description>
			<content:encoded><![CDATA[<p>I worked with <a href="http://itp.nyu.edu/~clw336/myblog/">Catherine</a> on this <a href="http://itp.nyu.edu/physcomp/Labs/Electronics">week&#8217;s lab in Physical Computing</a>, which involved getting familiar with <a href="http://itp.nyu.edu/physcomp/Labs/Electronics">basic electronics</a>.<span id="more-1101"></span></p>
<p>First we made a basic LED circuit:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=c42f7872f9&amp;photo_id=2870676464" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=60247" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=60247" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=c42f7872f9&amp;photo_id=2870676464"></embed></object></p>
<p>We wired everything up according to the diagram, but nothing happened.  After getting some help from Michael, one of the residents, we discovered that we had mistaken a transistor for a voltage regulator (the three-pronged black thingie with the hole on top).  It&#8217;s definitely an easy mistake to make, especially since they look exactly alike except for the cryptic type printed on the parts.  Anyway, as you can see in the video above, we did get the basic LED circuit to work after all.</p>
<blockquote><p>Measure the voltage across the switch as you did in the last step, both in the on position and the off position. Measure the voltage across the LED and the resistor as well. Does the total resistance across all the components add up to the voltage between power and ground on your board? Remember, in any circuit, all of the voltage must be used up. If the voltage across all the components doesn&#8217;t add up, that indicates to you that some of the electrical energy is getting converted to light, heat, and other forms of energy. No component is 100% efficient, so there&#8217;s always some loss.</p></blockquote>
<p>Using the multimeter, we got the following voltage measurements.  Of course, they did not add up to 5 volts, but that is because of the energy loss to heat and light.</p>
<p>Switch (on) = 0v<br />
Switch (off) = -3.4v</p>
<p>LED (on) = 1.7v<br />
LED (off) = 0v</p>
<p>Resistor (on) = 2.45v<br />
Resistor (off) = 0v</p>
<p>Totals:<br />
On = 0 + 1.7 + 2.45 = 4.15v<br />
Off = 3.4 + 0 + 0 = 3.4v</p>
<p>Then we wired up 2 LEDs in series:<a title="PhysComp: Week 3 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2870676638/"><img src="http://farm4.static.flickr.com/3185/2870676638_2bf057c1f3.jpg" alt="PhysComp: Week 3" width="500" height="375" /></a></p>
<p>Voltage across 1st LED = 2.47v<br />
Voltage across 2nd LED = 2.47v</p>
<p>There was no need for a resistor in this circuit as the LEDs were acting as resistors when arranged in this manner.</p>
<p>Adding the 3rd LED made all LED&#8217;s much dimmer as their resistance was too much, voltage reading was 1.59v per LED.</p>
<p><a title="PhysComp: Week 3 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2869846631/"><img src="http://farm4.static.flickr.com/3011/2869846631_33fb48a2f3.jpg" alt="PhysComp: Week 3" width="500" height="375" /></a></p>
<p>Now moving on to LEDs in parallel:<br />
<a title="PhysComp: Week 3 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2869846865/"><img src="http://farm4.static.flickr.com/3127/2869846865_5f7ebdea86.jpg" alt="PhysComp: Week 3" width="500" height="375" /></a><br />
Although the circuit looks ok in the photo, there was actually too much voltage for the LEDs and one of them burned out after the photo op, so we had to add a resistor in the mix.<br />
<a title="PhysComp: Week 3 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2869847071/"><img src="http://farm4.static.flickr.com/3189/2869847071_02afe2743b.jpg" alt="PhysComp: Week 3" width="500" height="375" /></a><br />
The amperage reading on the multimeter was 12 on a 20m scale, therefore 12 milliamps.</p>
<p>And finally, we modified the circuit to supply a variable voltage output with a potentiometer:<br />
<a title="PhysComp: Week 3 by leesean, on Flickr" href="http://www.flickr.com/photos/leesean/2869847433/"><img src="http://farm4.static.flickr.com/3097/2869847433_584ce6b192.jpg" alt="PhysComp: Week 3" width="500" height="375" /></a><br />
When off the voltage reading was 0v<br />
When fully turned in the other direction and LED at its brightest, the voltage reading was 2.08v<br />
Halfway between the two, LED was dim and the reading was 1.78v<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=9ef2d65ff5&amp;photo_id=2869856275" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=60247" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=60247" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=9ef2d65ff5&amp;photo_id=2869856275"></embed></object></p>
<p><a href="http://portdouglas.blip.tv/file/1294687">More video from Catherine here.</a></p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2010/02/21/making-spicy-scrambled-eggs-with-sardines/" rel="bookmark" class="crp_title">Making spicy scrambled eggs with sardines</a></li><li><a href="http://leesean.net/2008/10/07/p-comp-serial-output/" rel="bookmark" class="crp_title">P-Comp: Serial Output</a></li><li><a href="http://leesean.net/2010/01/02/itp-winter-show-2/" rel="bookmark" class="crp_title">ITP Winter Show</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical Computing: Week 2 Analog In</title>
		<link>http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/</link>
		<comments>http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 03:46:58 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1099</guid>
		<description><![CDATA[I worked with my classmate Meredith for the Analog In lab in week 2 of Intro to Physical Computing @ ITP. First, we reconstructed the potentiometer and LED breadboard &#38; Arduino setup according to the lab documentation.  After getting familiar with the hardware last week, this week was much easier, and we were able to [...]]]></description>
			<content:encoded><![CDATA[<p>I worked with my classmate Meredith for the <a href="http://itp.nyu.edu/physcomp/Labs/AnalogIn">Analog In</a> lab in week 2 of <a href="http://itp.nyu.edu/physcomp/Intro/HomePage">Intro to Physical Computing @ ITP</a>.</p>
<p>First, we reconstructed the potentiometer and LED breadboard &amp; <a href="http://www.arduino.cc/">Arduino</a> setup according to the lab documentation.  After getting familiar with the hardware last week, this week was much easier, and we were able to get the everything to work right very quickly.  The LED gets brighter or dimmer depending on the position of the potentiometer.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=4972fa7b1c&amp;photo_id=2856359275" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=59809" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=59809" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=4972fa7b1c&amp;photo_id=2856359275"></embed></object></p>
<p>Then we decided to do a riff on the theme.  We replaced the pot with a photocell, which required an extra resistor to work correctly, since the photocell only has 2 prongs, while the pot has 3 connections.  We then tweaked the Arduino program by adding an if-else statement to create a kind of nightlight.  When there is a light shining on the photocell, the LED turns off.  When the lamp is turned off, the LED turns on.  The aluminum foil around the red LED is just for aesthetic effect.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=09b6f4e0fe&amp;photo_id=2856340543" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=59809" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=59809" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=09b6f4e0fe&amp;photo_id=2856340543"></embed></object></p>
<p>Here is the code we used:</p>
<blockquote><p>int potPin = 0;    // Analog input pin that the potentiometer is attached to<br />
int potValue = 0;   // value read from the pot<br />
int led = 9;    // PWM pin that the LED is on.  n.b. PWM 0 is on digital pin 9</p></blockquote>
<blockquote><p>void setup() {<br />
// initialize serial communications at 9600 bps:<br />
Serial.begin(9600);<br />
}</p>
<p>void loop() {<br />
potValue = analogRead(potPin); // read the pot value<br />
Serial.println(potValue);      // print the pot value back to the debugger pane<br />
if(potValue&gt;70)<br />
{<br />
analogWrite(led, potValue);  // PWM the LED with the pot value<br />
}<br />
else<br />
{<br />
analogWrite(led, 0);  // this turns the LED off<br />
}<br />
//delay(10);                     // wait 10 milliseconds before the next loop<br />
}</p></blockquote>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/10/07/p-comp-serial-output/" rel="bookmark" class="crp_title">P-Comp: Serial Output</a></li><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/" rel="bookmark" class="crp_title">Physical Computing: Week 3 Basic Electronics</a></li><li><a href="http://leesean.net/2010/02/21/making-spicy-scrambled-eggs-with-sardines/" rel="bookmark" class="crp_title">Making spicy scrambled eggs with sardines</a></li><li><a href="http://leesean.net/2009/11/02/wiimote-as-midi-controller/" rel="bookmark" class="crp_title">Wiimote as MIDI controller</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Physical Computing: Week 2 Observation Assignment</title>
		<link>http://leesean.net/2008/09/12/physical-computing-week-2-observation-assignment/</link>
		<comments>http://leesean.net/2008/09/12/physical-computing-week-2-observation-assignment/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 19:41:08 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[New York]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Observation]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1059</guid>
		<description><![CDATA[Here are my notes from my observation assignment from week 2 of Intro to Physical Computing at ITP. Observation Assignment The goal of this assignment is to develop the habit of detailed observation of what people physically do when they use the kinds of technologies we&#8217;re developing. In order to develop good physical interfaces, you [...]]]></description>
			<content:encoded><![CDATA[<p>Here are my notes from my <a href="http://itp.nyu.edu/physcomp/Intro/ObservationAssignment">observation assignment</a> from week 2 of <a href="http://itp.nyu.edu/physcomp/Intro/Topics">Intro to Physical Computing at ITP</a>.</p>
<blockquote><p><strong>Observation Assignment</strong></p>
<p>The goal of this assignment is to develop the habit of detailed observation of what people physically do when they use the kinds of technologies we&#8217;re developing. In order to develop good physical interfaces, you need to know how people use existing ones. Do learn this, it helps to observe carefully, and to limit your assumptions as to what the person&#8217;s intentions are while you&#8217;re observing.</p>
<p><strong>Counting Daily Uses</strong></p>
<p>To begin with, take a one-hour hour walk or ride around the city. Try to travel as far as you can from your start and get back in an hour, this will give more variety. Take note of every time you see a person using a digital device. This could be anything from buying and using a Metrocard on the subway to playing video games in an arcade to making cell phone calls to using an ATM to swiping an ID at the gym. With each action you note, take note of:</p>
<p>* location and time of day<br />
* apparent intent of the actor<br />
* time taken for the action<br />
* number of people involved<br />
* motor skills needed (hands, legs, seeing, hearing, etc)</p>
<p>Collect your notes on your blog. Do this in pairs, with one person observing and the other keeping notes. Alternate roles as well.</p>
<p>The goal of this stage is to notice how many everyday technology interactions we experience that we&#8217;re largely unconscious of, and what it takes to do them. In many cases, the success of these transactions depends on the lack of attention we have to pay to completing them. The goal of most of these moments is not to use a technology, but to reach some other goal.</p></blockquote>
<p>We chose to walk around Greenwich Village, in the immediate vicinity of NYU.  We noticed that the overwhelming majority of human-technology interactions we observed on the streets of NY involved mobile devices (cellphones, iPhones, Blackberries) and portable music players (iPods, CD players, etc).  We also observed a large degree of multitasking: people listening to music or talking/texting on their phones while walking/cycling down the street, a process that involves quite a bit of coordination between the senses and human motor functions.  For listening to music while walking the streets of NY, the intended purpose seems to be escape &#8211; a way of isolating oneself from the excess of sensory stimuli.  However, for people on their cellphones, the intended purpose seems to be connection with others, even when alone in the streets.  Technology thus allows us to be both isolated and alone (with headphones and iPod) or hyperconnected to others we know (cellphones) when we are in public space.  Headphones and portable music players act as an invisible wall that shields us from others, while cellphones and their ilk act as extensions of our voices and ears that allow us to reach out to those not in our physical vicinity.  This projection of the senses is both freeing and constricting.  By being able to multitask, for example, taking a walk and talking on your phone, one is freed from the physical constraints of having to be face to face to communicate with others.  But at the same time, the tether of social cohesion and pressures is extended.  One is not really &#8220;away&#8221; if one is reachable by cellphone or Blackberry.  Herein lies the paradox of technology &#8211; we are simultaneously liberated and constrained by it.</p>
<p>Well, enough holding forth for me.  Click below to read the raw data we collected.</p>
<p><span id="more-1059"></span>Sept 11, 2008 &#8211; New York City<br />
Observation: Lee-Sean<br />
Note-taking: <a href="http://leejayxia.com/blog/category/itp/introduction-to-physical-computing/">Liangjie</a></p>
<p>12:34 PM / Broadway &amp; Waverly<br />
guy walking with cd-player (finger &#8211; pressing, ear &#8211; headset &#8211; listening)</p>
<p>12:34 PM / Broadway &amp; Waverly<br />
girl talking on cellphone (hands &#8211; holding, mouth)</p>
<p>12:35 PM / Subway @ 8th St.<br />
guy swiping metro card, entering the subway (hands, arms, ears &#8211; listening to the beep)</p>
<p>12:35 PM / Broadway &amp; Astor Pl.<br />
man talking on cellphone (hands, mouth)<br />
girl listening to ipod (ears)</p>
<p>12:36 PM / Broadway &amp; 8th St.<br />
guy playing with iphone (hands/fingers, eyes)</p>
<p>12:37 PM / 8th St. (lens &amp; craft)<br />
shop clerk operating computer with mouse (hands, fingers, arms, eyes)</p>
<p>12:37 PM / Broadway &amp; 8th St.<br />
guy checking time/text message on his iphone (eyes, hands, not-talking)</p>
<p>12:38 PM / 8th St. &amp; St. Green<br />
woman at the cash register (finger, eyes)</p>
<p>12:39 PM / 8th St.<br />
fedex guy working with portable POS (finger, eyes, hands)</p>
<p>12:40 PM / 8th St.<br />
women in car at steering wheel</p>
<p>12:40 PM / 8th St. &amp; University Pl.<br />
women with baby, holding cellphone with shoulder and cheek (shoulder, face, mouth)</p>
<p>12:41 PM / 8th St. &amp; University Pl.<br />
tour guide talking on the bus with microphone (hand, mouth, arm)</p>
<p>12:45 PM / 8th St. &amp; 5th Ave.<br />
guy standing at the entrance, red flag in hand, watching traffic (hand, eyes)</p>
<p>12:46 PM / 8th St. &amp; 6 Ave.<br />
postman scanning mail with scanner (hands, eyes)<br />
guy wearing headset and talking on cellphone (ear, mouth)</p>
<p>12:47 PM / 8th St. &amp; 6th Ave.<br />
woman sitting in shop using nail-dryer</p>
<p>12:48 PM / 8th St. &amp; 6th Ave.<br />
police officer carrying walkie-talkie and ticket printer(?) on the waist (waist)</p>
<p>12:49 PM / 9th St. &amp; 6th Ave<br />
guy standing and holding a big subway ad board beside a parking cab. (hands arms legs)</p>
<p>12:49 PM / 9th St. &amp; 6th Ave<br />
guy texting on cellphone (fingers eyes hands)</p>
<p>12:50 PM / 9th St. &amp; 6th Ave<br />
guy walking through the automatic door (body, legs)</p>
<p>12:50 PM / 9th St. &amp; 6th Ave, village paper party store<br />
guy climbing onto the ladder (hands, feet)</p>
<p>12:52 PM / Greenwich Ave &amp; 10th St.<br />
truck driver horning (hands, ears)</p>
<p>12:53 PM / Greenwich Ave &amp; 10th St.<br />
window cleaning operating the elevator/basket (hands, eyes)<br />
guy texting on cellphone</p>
<p>12:54 PM / Greenwich Ave &amp; 10th St.<br />
woman at auto car door(?)</p>
<p>12:54 PM / W 10th St.<br />
girl holding digital camera shooting a firefighter and baby (in front of a fire truck) (hands, legs, eyes, mouth &#8211; directing)</p>
<p>12:55 PM / W 10th St.<br />
man playing with ipod/iphone, sitting on stairs(fingers,eyes)<br />
guying walking along the street without looking, playing his iphone (eyes, hands, legs, feet &#8211; balancing?)</p>
<p>12:57 PM / 10th St. &amp; 7th Ave.<br />
guy standing, finger touching iphone (fingers,eyes,another hand)</p>
<p>12:57 PM / 10th St. &amp; 7th Ave.<br />
man and woman talking on cellphones while sitting on the bench.(hands, mouth)<br />
girl having camera hung around neck (?)</p>
<p>12:59 PM / Christopher St. &amp; 7th Ave. A Park<br />
woman texting on cellphone (finger, eye, hand)<br />
guy showing picture from camera to a friend sitting next to him on the bench (hands, finger, eyes, mouth)<br />
girl listening to mp3 player, tuning channels/tracks, showing pictures from it to friend (hand, fingers, mouth, ears, eyes)</p>
<p><strong>Switch! Observations by <a href="http://leejayxia.com/blog/category/itp/introduction-to-physical-computing/">Liangjie</a>.  Note-taking by Lee-Sean.</strong></p>
<p>West 4th &amp; Grove<br />
1:03 PM<br />
A man is standing and texting on his cell phone (fingers)<br />
A man is cycling w/ headphones on, listening to music (arms, legs, hands, feet, ears, eyes)</p>
<p>1:04 PM<br />
A man talks on cellphone while walking down the street (hand, arm, legs, eyes)</p>
<p>7th Avenue &amp; Grove<br />
1:05 PM<br />
A girl listening to iPod is walking down the street (hand, arm, legs, eyes)</p>
<p>Bleeker &amp; Barrow<br />
1:06 PM<br />
A man is sitting while talking on his cellphone and smoking (both hands)</p>
<p>7th Ave&amp; Bleeker<br />
Another man is pacing, carrying a pizza, waiting to for the crosswalk to change (eyes, hand)</p>
<p>1:07 PM<br />
A policewomen inspects a parking meter (hand, eyes)</p>
<p>1:09 PM<br />
A man listens to iPod while walking up 7th Ave @ Bedford (legs, ears)<br />
Another man is carrying a cellphone on a keyring, it is swinging as he walks (legs, hand)</p>
<p>7th Ave &amp; Bedford<br />
1:10 PM<br />
Man cycles down the street.  He wears a helmut, but is not sitting on the seat of the bike. (hands, arms, legs, eyes)</p>
<p>Bedford &amp; Carmine<br />
1:12 PM<br />
Man cycles by on a portable mini-bike.  No cell phone.  (eyes, both arms and legs)<br />
Man carries shoebox w/ sticker on it.  He grabs the box on the edge to carry it because there is no handle (hand)</p>
<p>1:13 PM<br />
Man paces while talking on cellphone (mouth, hand, ear, legs)</p>
<p>1:14 PM<br />
Man in pickup truck tries to park by backing into a space.<br />
Another man w/ cell phone is standing and talking<br />
Pacing man from 1:13 starts walking towards Houston street w/ a suitcase in his other hand while still talking on cellphone.</p>
<p>1:15 PM<br />
Man jogs by while listening to iPod.  (eyes, ears, legs)</p>
<p>1:16 PM<br />
A girl walks by w/ her backpack in front of her (arms, back, legs, eyes)</p>
<p>6th Ave &amp; Bedford<br />
1:18 PM<br />
Man in bodega is scraping thorns off of flowers with a knife (hands, eyes)<br />
Another man inserts coins into parking meter (hand, eyes)<br />
A woman stands while talking on cellphone</p>
<p>1:19 PM<br />
10 Downing Street &#8211; Construction zone<br />
Man carries tool belt on waist<br />
Another 2 men are in a lift, hammering at a brick façade (hands, eyes, balance)</p>
<p>1:20 PM<br />
Downing &amp; Bleeker<br />
Men unload a truck w/ gloves and a trolley (hands, arms, legs, back, eyes)</p>
<p>1:21 PM<br />
Man walks by, listening to iPod (legs, eyes, ears)<br />
Another man looks through trash bags carried in a supermarket trolley (hands, eyes, searching)<br />
A woman takes a picture (eyes, hands)</p>
<p>1:22 PM<br />
Father Demo Square<br />
Another woman takes a picture<br />
No one on cellphone now.  Most people eating and/or reading<br />
Man looks at watch to check out the time (arm, eye)<br />
Woman walks by talking on cellphone</p>
<p>1:24 PM<br />
Man takes a picture of woman while smoking cigarette (both hands, eyes)<br />
Girl talks on cellphone</p>
<p>1:28 PM<br />
Minetta Lane &amp; MacDougal<br />
2 men in lift on top of a van fix a sign on a restaurant (arms, eyes, hands)<br />
Man makes ice cream cone with a cone making tool (hands, eyes)</p>
<p>1:30 PM<br />
MacDougal &amp; 3rd Street<br />
Man delivers fridge w/ a hand cart (hands, arms, legs, eyes)</p>
<p>3rd &amp; Sullivan<br />
Girl talks on cellphone while walking<br />
Man looks through window of a building, trying to find somebody to leave a flower delivery with (hands, eyes)</p>
<p>1:32 PM<br />
3rd &amp; Thompson<br />
Man looks at cellphone<br />
Another talks on cellphone</p>
<p>3rd &amp; La Guardia<br />
Man walks while listening to iPod</p>
<p>1:34 PM<br />
Woman texts on phone while pushing a stroller.</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/07/physical-computing-week-1-lab/" rel="bookmark" class="crp_title">Physical Computing: Week 1 Lab</a></li><li><a href="http://leesean.net/2009/10/25/nyc-taxicab-rider-bill-of-rights-aka-anger-makes-an-activist/" rel="bookmark" class="crp_title">NYC Taxicab Rider Bill of Rights AKA Anger Makes an Activist</a></li><li><a href="http://leesean.net/2006/12/28/hey-man-do-you-make-beats/" rel="bookmark" class="crp_title">Hey man, do you make beats?</a></li><li><a href="http://leesean.net/2011/01/03/petrosino-square/" rel="bookmark" class="crp_title">Petrosino Square</a></li><li><a href="http://leesean.net/2007/11/09/yogyakarta-principles-and-rude-racist-guard-at-the-un/" rel="bookmark" class="crp_title">Yogyakarta Principles and rude, racist guard at the UN</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/12/physical-computing-week-2-observation-assignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Response to Crawford&#8217;s The Art of Interactive Design (Chapters 1 &amp; 2)</title>
		<link>http://leesean.net/2008/09/10/response-to-crawfords-the-art-of-interactive-design-chapters-1-2/</link>
		<comments>http://leesean.net/2008/09/10/response-to-crawfords-the-art-of-interactive-design-chapters-1-2/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 16:00:27 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1041</guid>
		<description><![CDATA[This is my response to chapters 1 &#38; 2 of Chris Crawford&#8217;s The Art of Interactive Design, the reading assignment for week 1 of Physical Computing at ITP. Interactivity is a fuzz term that is hard to define.  Crawford says that &#8220;the term interactivity is overused and underunderstood.&#8221;  As a buzzword, it has been applied [...]]]></description>
			<content:encoded><![CDATA[<p>This is my response to chapters 1 &amp; 2 of <a href="http://www.amazon.com/Art-Interactive-Design-Euphonious-Illuminating/dp/1886411840">Chris Crawford&#8217;s The Art of Interactive Design</a>, the reading assignment for <a href="http://itp.nyu.edu/physcomp/Intro/Topics">week 1 of Physical Computing at ITP.</a></p>
<p>Interactivity is a fuzz term that is hard to define.  Crawford says that &#8220;the term <em>interactivity</em> is overused and underunderstood.&#8221;  As a buzzword, it has been applied to things as absurd as a rug for children and even shampoo!  Many things/activities claiming to be interactive are really not.</p>
<p>While he does not claim to have the final definition of interactivity, Crawford does propose that interactivity be defined &#8220;<strong>in terms of a conversation: a cyclic process in which two actors alternately listen, think, and speak</strong>.&#8221;  If this is the case, then the ultimate interactive activity is direct human social interaction.  But other activities that humans engage in with objects</p>
<p>Participation is not interactivity.  Movies, plays, music and dance are for the most part, not interactive.</p>
<p>Also, Crawford says that interactivity is not a Boolean property, meaning it is not a binary either/or situation.  There are varying degrees of interactivity.</p>
<p>So maybe interactivity is like porn: controversial, misunderstood, difficult to define, but you know it when you see it.  Like porn, interactivity has varying degrees.  Softcore-Hardcore.  Low interactivity-High interactivity.</p>
<p>Perhaps the definition of interactivity itself should be interactive.  Ok, that&#8217;s pretentiously meta.  But if interactivity is such a virtue, then a conversation is essential to its definition and application.</p>
<p>So why bother with this interactivity stuff?</p>
<p>Crawford declares that &#8220;interactive communication is superior to conventional, one-way communication&#8221; and that &#8220;interactivity is the computer&#8217;s intrinsic competitive advantage.&#8221;</p>
<p>Interactivity is both old and new.  It is hardwired into mammalian animal behavior as well as a trait of modern computers.  Interactivity is a conversational process that helps humans/mammals learn through play.  So it is something that we (people/animals) have in common with computers.  So as computers get more interactive does it mean that they too are able to learn, and become more similar to humans/animals?</p>
<p>Crawford promotes interactivity as a new and exciting field for artists to explore.  He also quotes a Chinese proverb, &#8220;I hear and I forget; I see and I remember; I do and I understand.&#8221;  I have heard and seen the gospel of interactivity, now it is time for me to do before I truly understand.</p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2009/09/27/live-web-week-3-internet-radio/" rel="bookmark" class="crp_title">Live Web Week 3: Internet Radio</a></li><li><a href="http://leesean.net/2008/10/25/response-to-chapters-1-2-of-marshall-mcluhans-understanding-media/" rel="bookmark" class="crp_title">Response to chapters 1 &#038; 2 of Marshall McLuhan&#8217;s Understanding Media</a></li><li><a href="http://leesean.net/2008/09/07/physical-computing-week-1-lab/" rel="bookmark" class="crp_title">Physical Computing: Week 1 Lab</a></li><li><a href="http://leesean.net/2009/07/07/itp-alum-che-wei-wang-featured-in-norwegian-newspaper-aftenbladet/" rel="bookmark" class="crp_title">ITP Alum Che-Wei Wang featured in Norwegian newspaper Aftenbladet</a></li><li><a href="http://leesean.net/2008/09/04/intro-to-computational-media-week-1-assignment/" rel="bookmark" class="crp_title">Intro to Computational Media Week 1 Assignment</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/10/response-to-crawfords-the-art-of-interactive-design-chapters-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical Computing: Week 1 Lab</title>
		<link>http://leesean.net/2008/09/07/physical-computing-week-1-lab/</link>
		<comments>http://leesean.net/2008/09/07/physical-computing-week-1-lab/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 02:52:01 +0000</pubDate>
		<dc:creator>leesean</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[NYU]]></category>
		<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://leesean.net/?p=1038</guid>
		<description><![CDATA[This is my documentation of my first week of Physical Computing at ITP.  What is physical computing?  According to the syllabus: Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://leesean.net/wp-content/uploads/2008/09/ls_perplexed.jpg"><img class="alignnone size-full wp-image-1039" title="ls_perplexed" src="http://leesean.net/wp-content/uploads/2008/09/ls_perplexed.jpg" alt="" /></a></p>
<p>This is my documentation of my first week of <a href="http://itp.nyu.edu/physcomp/Intro/HomePage">Physical Computing at ITP</a>.  What is physical computing?  According to the syllabus:</p>
<blockquote><p>Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt to design computing applications within the limits of its expression.</p>
<p class="vspace">To realize this goal, you&#8217;ll learn how a computer converts the changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) into changing electronic signals that it can read interpret. You&#8217;ll learn about the sensors that do this, and about very simple computers called microcontrollers that read sensors and convert their output into data. Finally, you&#8217;ll learn how microcontrollers communicate with other computers.</p>
<p class="vspace">Physical computing takes a hands-on approach, which means that you spend a lot of time building circuits, soldering, writing programs, building structures to hold sensors and controls, and figuring out how best to make all of these things relate to a person&#8217;s expression.</p>
</blockquote>
<p class="vspace">For me, physical computing means building things with wires, circuits, sensors, switches and microprocessors.  We are using <a href="http://arduino.cc/">Arduino microprocessors</a> in class to control our creations.  <a href="http://itp.nyu.edu/physcomp/Labs/DigitalInOut">Our lab this week</a> involved building a simple digital input/output system that makes two LEDs alternately flash when you press the switch.</p>
<p class="vspace">Besides a photosensor theremin that I built in high school based on some plans I got off the internet, I have never really done any physical computing stuff before, hence my perplexed look in the photo above.  I basically just set about recreating the plans in the <a href="http://itp.nyu.edu/physcomp/Labs/DigitalInOut">lab instructions</a> while familiarizing myself with working with the materials.  The color-coded wires really help.  Red is for power, black is for ground, and the light blue is for input/output signals.</p>
<p class="vspace">Soldering was a little bit scary for me.  We were supposed to solder the switch to two of the light blue wires.  First, I wrapped the wires onto the switch, and then put everything in the <a href="http://www.amazon.com/American-Science-Surplus-HELPING-SOLDER/dp/B0001ZYH4O">helping hands</a>.  Then I melted some solder onto the iron to coat it, and then put the soldering iron onto the connection along with a bit of solder and melted it all together.  It only took a couple seconds.  My soldering job was ugly, but nothing exploded and the project worked, so I guess practice will make perfect.</p>
<p class="vspace">Reading the resistors was a little bit tricky.  Resistors have these little colored stripe patterns on them that tell you how many Ohms they are.  They all kind of looked the same to me.  I really had to squint to see the patterns.  And I just got my eyes checked, so I don&#8217;t need new glasses.  They are just really small!  Note to self:  I need to get a magnifying glass.</p>
<p class="vspace">After I thought I had everything set up, the red light was flashing, but the yellow light didn&#8217;t do anything.  Careful inspection revealed that I had one end of the yellow LED plugged in the wrong whole.  Once again, a magnifying glass would have helped.  Anyway, finally it worked!</p>
<p class="vspace">Here is my successful project:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=d1eb62f854&amp;photo_id=2832665037" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=59809" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://www.flickr.com/apps/video/stewart.swf?v=59809" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=d1eb62f854&amp;photo_id=2832665037"></embed></object></p>
<div id="crp_related"><h4>Related Posts</h4><ul><li><a href="http://leesean.net/2008/09/14/physical-computing-week-2-analog-in/" rel="bookmark" class="crp_title">Physical Computing: Week 2 Analog In</a></li><li><a href="http://leesean.net/2008/09/20/physical-computing-week-3-basic-electronics/" rel="bookmark" class="crp_title">Physical Computing: Week 3 Basic Electronics</a></li><li><a href="http://leesean.net/2008/10/18/transistor-lab-and-voodoo-bear-update/" rel="bookmark" class="crp_title">Transistor Lab and Voodoo Bear Update</a></li><li><a href="http://leesean.net/2008/10/07/p-comp-serial-output/" rel="bookmark" class="crp_title">P-Comp: Serial Output</a></li><li><a href="http://leesean.net/2008/09/27/physical-computing-week-4-analog-output-servo-motor/" rel="bookmark" class="crp_title">Physical Computing Week 4: Analog Output &#038; Servo Motor</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://leesean.net/2008/09/07/physical-computing-week-1-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

