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

<channel>
	<title>How I Stopped Worrying and Learned to Love the Blog &#187; analog</title>
	<atom:link href="http://www.ckundo.com/tag/analog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ckundo.com</link>
	<description>Cameron Cundiff @ NYU ITP and beyond</description>
	<lastBuildDate>Wed, 01 Sep 2010 20:41:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>love-o-meter stage 1</title>
		<link>http://www.ckundo.com/2008/09/love-o-meter-stage-1/</link>
		<comments>http://www.ckundo.com/2008/09/love-o-meter-stage-1/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 16:27:58 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[physical computing]]></category>
		<category><![CDATA[analog]]></category>
		<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://www.cameroncundiff.com/?p=58</guid>
		<description><![CDATA[Senses proximity and indicates the programmed comfort zone or &#8220;personal space&#8221; of the sensor through a series of LEDs. /* Ultrasound Sensor * Reads values (00014-01199) from an ultrasound sensor (3m sensor) * and writes the values to the serialport. * http://www.xlab.se &#124; http://www.0j0.org * copyleft 2005 Mackie for XLAB &#124; DojoDave for DojoCorp */ [...]]]></description>
			<content:encoded><![CDATA[<p>
<script type="text/javascript">
<!--
var ourTags='';
ourTags+='<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="320" HEIGHT="257" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">';
ourTags+='<PARAM name="SRC" VALUE="http://www.cameroncundiff.com/media/proximity.mov" />';
ourTags+='<PARAM name="CONTROLLER" VALUE="true" />';
ourTags+='<PARAM name="AUTOPLAY" VALUE="false" />';
ourTags+='<PARAM name="SCALE" VALUE="ASPECT" />';
ourTags+='<EMBED ';
ourTags+='SRC="http://www.cameroncundiff.com/media/proximity.mov" CONTROLLER="true"';
ourTags+=' type="video/quicktime" WIDTH="320" HEIGHT="257" AUTOPLAY="false" SCALE="ASPECT" PLUGINSPAGE="http://www.apple.com/quicktime/download/"></EMBED>';
ourTags+='</OBJECT>';
if (typeof writeTags == "undefined") { document.write(ourTags);} else {writeTags(ourTags);
}//-->
</script>
<noscript>
<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="320" HEIGHT="257" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
<PARAM name="SRC" VALUE="http://www.cameroncundiff.com/media/proximity.mov" />
<PARAM name="CONTROLLER" VALUE="true" />
<PARAM name="AUTOPLAY" VALUE="false" />
<PARAM name="SCALE" VALUE="ASPECT" />
<EMBED 
SRC="http://www.cameroncundiff.com/media/proximity.mov" CONTROLLER="true"
 type="video/quicktime" WIDTH="320" HEIGHT="257" AUTOPLAY="false" SCALE="ASPECT" PLUGINSPAGE="http://www.apple.com/quicktime/download/"></EMBED>
</OBJECT>

</noscript>
</p>
<p>Senses proximity and indicates the programmed comfort zone or &#8220;personal space&#8221; of the sensor through a series of LEDs.<br />
<span id="more-58"></span></p>
<p>/* Ultrasound Sensor<br />
* Reads values (00014-01199) from an ultrasound sensor (3m sensor)<br />
* and writes the values to the serialport.<br />
* http://www.xlab.se | http://www.0j0.org<br />
* copyleft 2005 Mackie for XLAB | DojoDave for DojoCorp<br />
*/</p>
<p>int ultraSoundSignal = 7; // Ultrasound signal pin<br />
int val = 0;<br />
int ultrasoundValue = 0;<br />
int timecount = 0; // Echo counter<br />
int ledPin01 = 13; // LED connected to digital pin 13<br />
int ledPin02 = 10;<br />
int ledPin03 = 9;<br />
int ledPin04 = 8;<br />
int ledPin05 = 6;<br />
int ledPin06 = 5;<br />
int ledPin07 = 4;<br />
int ledPin08 = 3;<br />
int ledPin09 = 2;</p>
<p>void setup() {<br />
beginSerial(9600); // Sets the baud rate to 9600<br />
pinMode(ledPin01, OUTPUT); // Sets the digital pin as output<br />
pinMode(ledPin02, OUTPUT);<br />
pinMode(ledPin03, OUTPUT);<br />
pinMode(ledPin04, OUTPUT);<br />
pinMode(ledPin05, OUTPUT);<br />
pinMode(ledPin06, OUTPUT);<br />
pinMode(ledPin07, OUTPUT);<br />
pinMode(ledPin08, OUTPUT);<br />
pinMode(ledPin09, OUTPUT);<br />
}</p>
<p>void loop() {<br />
timecount = 0;<br />
val = 0;<br />
pinMode(ultraSoundSignal, OUTPUT); // Switch signalpin to output</p>
<p>/* Send low-high-low pulse to activate the trigger pulse of the sensor<br />
* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
*/<br />
digitalWrite(ultraSoundSignal, LOW); // Send low pulse<br />
delayMicroseconds(2); // Wait for 2 microseconds<br />
digitalWrite(ultraSoundSignal, HIGH); // Send high pulse<br />
delayMicroseconds(5); // Wait for 5 microseconds<br />
digitalWrite(ultraSoundSignal, LOW); // Holdoff</p>
<p>/* Listening for echo pulse<br />
* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
*/<br />
pinMode(ultraSoundSignal, INPUT); // Switch signalpin to input<br />
val = digitalRead(ultraSoundSignal); // Append signal value to val<br />
while(val == LOW) { // Loop until pin reads a high value<br />
val = digitalRead(ultraSoundSignal);<br />
}</p>
<p>while(val == HIGH) { // Loop until pin reads a low value<br />
val = digitalRead(ultraSoundSignal);<br />
timecount = timecount +1; // Count echo pulse time<br />
}</p>
<p>/* Writing out values to the serial port<br />
* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
*/<br />
ultrasoundValue = timecount; // Append echo pulse time to ultrasoundValue</p>
<p>serialWrite(&#8216;A&#8217;); // Example identifier for the sensor<br />
ultrasoundValue = map(ultrasoundValue, 100, 600, 0, 20);<br />
printInteger(ultrasoundValue);<br />
serialWrite(10);<br />
serialWrite(13);</p>
<p>// check proximity and indicate comfort level</p>
<p>if(ultrasoundValue &lt; 20 &amp;&amp; ultrasoundValue &gt;= 18) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, HIGH);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 18 &amp;&amp; ultrasoundValue &gt;= 15) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, HIGH);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 15 &amp;&amp; ultrasoundValue &gt;= 13) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, HIGH);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 13 &amp;&amp; ultrasoundValue &gt;= 10) {<br />
//if light dim go to white, then delay<br />
//if no pressure (kiss) then return to red<br />
//if pressure before white light, buzzer<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, HIGH);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 10 &amp;&amp; ultrasoundValue &gt;= <img src='http://www.ckundo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, HIGH);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 8 &amp;&amp; ultrasoundValue &gt;= 6) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, HIGH);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 6 &amp;&amp; ultrasoundValue &gt;= 3) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, HIGH);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>else if(ultrasoundValue &lt; 3 &amp;&amp; ultrasoundValue &gt;= 0) {<br />
digitalWrite(ledPin01, LOW);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, HIGH);<br />
}</p>
<p>else<br />
{<br />
digitalWrite(ledPin01, HIGH);<br />
digitalWrite(ledPin02, LOW);<br />
digitalWrite(ledPin03, LOW);<br />
digitalWrite(ledPin04, LOW);<br />
digitalWrite(ledPin05, LOW);<br />
digitalWrite(ledPin06, LOW);<br />
digitalWrite(ledPin07, LOW);<br />
digitalWrite(ledPin08, LOW);<br />
digitalWrite(ledPin09, LOW);<br />
}</p>
<p>/* Light up LED if any value is passed by the echo pulse<br />
* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
*/<br />
/*if(timecount &gt; 0){<br />
digitalWrite(ledPin01, HIGH);<br />
}*/</p>
<p>/* Delay of program<br />
* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
*/<br />
delay(100);<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2008/09/love-o-meter-stage-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.cameroncundiff.com/media/proximity.mov" length="1348278" type="video/quicktime" />
		</item>
	</channel>
</rss>
