<?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>sundh.com &#187; sensors</title>
	<atom:link href="http://www.sundh.com/blog/tag/sensors/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sundh.com/blog</link>
	<description>Technology / Wood / Electronics</description>
	<lastBuildDate>Thu, 19 Jan 2012 11:54:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using iPhone sensors with real-time server</title>
		<link>http://www.sundh.com/blog/2011/10/using-iphone-sensors-with-real-time-server/</link>
		<comments>http://www.sundh.com/blog/2011/10/using-iphone-sensors-with-real-time-server/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 10:35:35 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hydna]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[real-time server]]></category>
		<category><![CDATA[sensors]]></category>
		<category><![CDATA[society46]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=764</guid>
		<description><![CDATA[The latest work from Society46 where the iPhones turns into a tool to paint together with other, in real time with the help of Hydna real-time server. 

CO:CREATE from Society 46 on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>The latest work from <a href="http://www.society46.com/" target="_blank">Society46</a> where the iPhones turns into a tool to paint together with other, in real time with the help of <a href="http://www.hydna.com/" target="_blank">Hydna real-time server</a>. </br><br />
<iframe src="http://player.vimeo.com/video/30372100?title=0&amp;byline=0&amp;portrait=0" width="680" height="383" frameborder="0"></iframe>
<p><a href="http://vimeo.com/30372100">CO:CREATE</a> from <a href="http://vimeo.com/user4611212">Society 46</a> on <a href="http://vimeo.com">Vimeo</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2011/10/using-iphone-sensors-with-real-time-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stabalize compass of iPhone with gyroscope</title>
		<link>http://www.sundh.com/blog/2011/09/stabalize-compass-of-iphone-with-gyroscope/</link>
		<comments>http://www.sundh.com/blog/2011/09/stabalize-compass-of-iphone-with-gyroscope/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 17:50:04 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[gyroscope]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[sensors]]></category>
		<category><![CDATA[yaw]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=704</guid>
		<description><![CDATA[How is it possible to detect the rotation of an iPhone that lies on a table like the compass but is showing a more accurate rotation? I tried to use the compass with the magnetic heading of the iPhone but it appears to be quite unreliable and jumps unexpectedly. The gyroscope can be used but [...]]]></description>
			<content:encoded><![CDATA[<p>How is it possible to detect the rotation of an iPhone that lies on a table like the compass but is showing a more accurate rotation? I tried to use the compass with the magnetic heading of the iPhone but it appears to be quite unreliable and jumps unexpectedly. The gyroscope can be used but the original reference point drifts with the gyroscope over time. This example combines the compass and the gyroscope using the compass as a reference as long as it is stable and using the fast update of the gyroscope between the times the compass is unstable.</p>
<p>In the app below there are 3 rotating graphics:</p>
<ul>
<li>Yellow is magnetic heading.</li>
<li>Blue is a compass offset (always following the magnetic heading with a decided offset)</li>
<li>Black is the gyroscope (reset every time the compass is stable)</li>
</ul>
<p><iframe width="680" height="415" src="http://www.youtube.com/embed/2b6lrsgFBkE" frameborder="0" allowfullscreen></iframe></p>
<p>The application uses the <a href="http://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html%23//apple_ref/occ/cl/CLLocationManager" target="_blank">CLLocationManager</a> to access the magnetic heading of the compass and <a href="http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMMotionManager_Class/Reference/Reference.html" target="_blank">CMMotionManager</a> to access the gyroscope. The values I use are newHeading.magneticHeading and motion.attitude.yaw. The magnetic heading gives a value of 360 degrees. The yaw value gives a value between -180 and 180. </p>
<h3>Compass from Location Manager</h3>
<p>First we initialize the location manager. This will only work on the device and not in the simulator. </p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">locationManager<span class="sy0">=</span><span class="br0">&#91;</span><span class="br0">&#91;</span>CLLocationManager alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span><span class="sy0">;</span><br />
locationManager<span class="sy0">.</span>desiredAccuracy <span class="sy0">=</span> kCLLocationAccuracyBest<span class="sy0">;</span><br />
locationManager<span class="sy0">.</span>delegate<span class="sy0">=</span><span class="kw2">self</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
<span class="kw1">if</span><span class="br0">&#40;</span><span class="br0">&#91;</span>CLLocationManager headingAvailable<span class="br0">&#93;</span> <span class="sy0">==</span> YES<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; NSLog<span class="br0">&#40;</span><span class="sy0">@</span><span class="st0">&quot;Heading is available&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; NSLog<span class="br0">&#40;</span><span class="sy0">@</span><span class="st0">&quot;Heading isn&#8217;t available&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#91;</span>locationManager startUpdatingHeading<span class="br0">&#93;</span><span class="sy0">;</span></div>
</div>
<p>As shown in the code above we delegate the listener to RotationViewController. The following code is needed to listen to updates for the compass:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;"><span class="co2">#import &lt;UIKit/UIKit.h&gt;<br />
</span><span class="co2">#import &lt;math.h&gt;<br />
</span><span class="co2">#import &lt;CoreMotion/CoreMotion.h&gt; // For the gyroscope<br />
</span><span class="co2">#import &lt;CoreLocation/CoreLocation.h&gt; // For the compass<br />
</span><br />
<span class="sy0">@</span><span class="kw2">interface</span> RotationViewController <span class="sy0">:</span> UIViewController <span class="sy0">&lt;</span>CLLocationManagerDelegate<span class="sy0">&gt;</span> <span class="br0">&#123;</span></div>
</div>
<h3>Yaw data from gyroscope</h3>
<p>Next step is to listen to updates from the gyroscope. We do that by listening to motionManager&#8217;s CMAttitude updates. We use the yaw which is retrieved in radians and we convert it to degrees. </p>
<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;">motionManager <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>CMMotionManageralloc<span class="br0">&#93;</span> &nbsp;init<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp;motionManager.<span class="me1">deviceMotionUpdateInterval</span> <span class="sy0">=</span> 1.0<span class="sy0">/</span><span class="nu16">60.0</span><span class="sy0">;</span><br />
&nbsp;opQ <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>NSOperationQueuecurrentQueue<span class="br0">&#93;</span> retain<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <br />
&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>motionManager.<span class="me1">isDeviceMotionAvailable</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; motionHandler <span class="sy0">=</span> <span class="sy0">^</span> <span class="br0">&#40;</span>CMDeviceMotion <span class="sy0">*</span>motion<span class="sy0">,</span> NSError <span class="sy0">*</span>error<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; CMAttitude <span class="sy0">*</span>currentAttitude <span class="sy0">=</span> motion.<span class="me1">attitude</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">float</span> yawValue <span class="sy0">=</span> currentAttitude.<span class="me1">yaw</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">float</span> yawDegrees <span class="sy0">=</span> CC_RADIANS_TO_DEGREES<span class="br0">&#40;</span>yawValue<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#91;</span>motionManager release<span class="br0">&#93;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="br0">&#91;</span>motionManagerstartDeviceMotionUpdatesToQueue<span class="sy0">:</span>opQwithHandler<span class="sy0">:</span>motionHandler<span class="br0">&#93;</span><span class="sy0">;</span></div>
</div>
<p>We now have the compass and the gyroscope. In this example I wanted to offset the magnetic heading so it always points at a certain direction. I decide on that direction when I press the &#8220;Calibrate&#8221;-button I set my offset from the magnetic heading. updatedHeading is the latest magnetic heading I got from the locationManager. northOffset becomes my reference to where I want the gyroscope to always origin from.</p>
<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;"><span class="sy0">-</span> <span class="br0">&#40;</span>IBAction<span class="br0">&#41;</span>calibrate<span class="sy0">:</span><span class="br0">&#40;</span>id<span class="br0">&#41;</span>sender<br />
<span class="br0">&#123;</span> &nbsp; <br />
&nbsp; &nbsp; northOffest <span class="sy0">=</span> updatedHeading <span class="sy0">-</span> <span class="nu0">0</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<h3>Compensating for compass inaccuracies</h3>
<p>Now that we have the northOffset we want to use it together with the gyroscope. Since the compass is jumping sometimes we want to only use the compass value when it is stable. A timer is created with the updater method that checks if the value of the magnetic heading has changed. The interval is called every other second. If the magnetic heading hasn&#8217;t changed from last time it is considered a stable value. The stable value is added to <em>newCompassTarget</em> which is use for the gyroscope to get a new reference.</p>
<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>updater<span class="sy0">:</span><span class="br0">&#40;</span>NSTimer <span class="sy0">*</span><span class="br0">&#41;</span>timer <br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="co1">// Om inte compassen rört sig på ett tag kalibrera gyron efter det</span><br />
&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>updatedHeading <span class="sy0">==</span> oldHeading<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;NSLog<span class="br0">&#40;</span>@<span class="st0">&quot;Update gyro&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;newCompassTarget <span class="sy0">=</span> <span class="br0">&#40;</span>0 <span class="sy0">-</span> updatedHeading<span class="br0">&#41;</span> <span class="sy0">+</span> northOffest<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;offsetG <span class="sy0">=</span> currentYaw<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; updateCompass <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; updateCompass <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; oldHeading <span class="sy0">=</span> updatedHeading<span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p><em>newCompassTarget</em> is used in the code below so that the gyroscope always strive to go to the new reference of the compass but with the offset we use in the variable <em>offsetG</em> which is the difference between where the gyroscope was with the old and compared to the new heading.</p>
<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;">motionHandler <span class="sy0">=</span> <span class="sy0">^</span> <span class="br0">&#40;</span>CMDeviceMotion <span class="sy0">*</span>motion<span class="sy0">,</span> NSError <span class="sy0">*</span>error<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CMAttitude <span class="sy0">*</span>currentAttitude <span class="sy0">=</span> motion.<span class="me1">attitude</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">float</span> yawValue <span class="sy0">=</span> currentAttitude.<span class="me1">yaw</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">float</span> yawDegrees <span class="sy0">=</span> CC_RADIANS_TO_DEGREES<span class="br0">&#40;</span>yawValue<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentYaw <span class="sy0">=</span> yawDegrees<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; yawDegrees <span class="sy0">=</span> newCompassTarget <span class="sy0">+</span> <span class="br0">&#40;</span>yawDegrees <span class="sy0">-</span> offsetG<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>yawDegrees <span class="sy0">&lt;</span> 0<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; yawDegrees <span class="sy0">=</span> yawDegrees <span class="sy0">+</span> <span class="nu0">360</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compassDif.<span class="me1">text</span> <span class="sy0">=</span> <span class="br0">&#91;</span>NSString stringWithFormat<span class="sy0">:</span>@<span class="st0">&quot;Gyro: %f&quot;</span><span class="sy0">,</span>yawDegrees<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">float</span> gyroDegrees <span class="sy0">=</span> <span class="br0">&#40;</span>yawDegrees<span class="sy0">*</span>radianConst<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>updateCompass<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>UIView beginAnimations<span class="sy0">:</span>nil context<span class="sy0">:</span>NULL<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>UIView setAnimationDuration<span class="sy0">:</span>0.25<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>UIView setAnimationCurve<span class="sy0">:</span>UIViewAnimationCurveEaseInOut<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>rotateImg setTransform<span class="sy0">:</span>CGAffineTransformMakeRotation<span class="br0">&#40;</span>gyroDegrees<span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>UIView commitAnimations<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; updateCompass <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotateImg.<span class="me1">transform</span> <span class="sy0">=</span> CGAffineTransformMakeRotation<span class="br0">&#40;</span>gyroDegrees<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">;</span></div>
</div>
<p>Download project source code <a href="http://www.sundh.com/files/iPhoneRotation.zip">here</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2011/09/stabalize-compass-of-iphone-with-gyroscope/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Depressed shoe shelf in action</title>
		<link>http://www.sundh.com/blog/2010/05/depressed-shoe-shelf-in-action/</link>
		<comments>http://www.sundh.com/blog/2010/05/depressed-shoe-shelf-in-action/#comments</comments>
		<pubDate>Tue, 25 May 2010 11:09:04 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[circuit board]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[sensors]]></category>
		<category><![CDATA[sharp]]></category>
		<category><![CDATA[Sharp GP2D12]]></category>
		<category><![CDATA[shoe shelf]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=234</guid>
		<description><![CDATA[
Read more about the process on making The depressed shoe shelf.]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="690" height="388" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11986695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="690" height="388" src="http://vimeo.com/moogaloop.swf?clip_id=11986695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Read more about the process on making <a href="http://www.sundh.com/blog/depressed-shoe-shelf/" target="_self">The depressed shoe shelf</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2010/05/depressed-shoe-shelf-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your pulse as an input</title>
		<link>http://www.sundh.com/blog/2010/05/your-pulse-as-an-input/</link>
		<comments>http://www.sundh.com/blog/2010/05/your-pulse-as-an-input/#comments</comments>
		<pubDate>Mon, 03 May 2010 11:26:10 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[Maria Paz]]></category>
		<category><![CDATA[Nintendo Wii]]></category>
		<category><![CDATA[sensors]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=216</guid>
		<description><![CDATA[Maria Paz is exploring the field of mood inputs by using your pulse as an input to control your environment. The sensor is sending out light that is reflected in the finger and back to the light sensitive sensor. As blood is pumping and flowing in the finger the amount of light received back alters. [...]]]></description>
			<content:encoded><![CDATA[<p>Maria Paz is exploring the field of mood inputs by using your pulse as an input to control your environment. The sensor is sending out light that is reflected in the finger and back to the light sensitive sensor. As blood is pumping and flowing in the finger the amount of light received back alters. The output gives you the pulse of your body. Follow her progress in working on her final project Mood Tunnel on <a href="http://themoodtunnel.posterous.com/" target="_blank">http://themoodtunnel.posterous.com/</a></p>
<p>Nintendo Wii introduced the <a href="http://gizmodo.com/5275846/wii-vitality-sensor" target="_blank">Vitality sensor</a> a few months ago, working as an input to measure your health and can be used in games.</p>
<p><object width="690" height="388"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10986797&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10986797&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="690" height="388"></embed></object>
<p><a href="http://vimeo.com/10986797">LEDs translating human pulse</a> from <a href="http://vimeo.com/user1050905">Maria Paz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2010/05/your-pulse-as-an-input/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building your own humidity sensor in 2 minutes</title>
		<link>http://www.sundh.com/blog/2010/04/building-your-own-humidity-sensor-in-2-minutes/</link>
		<comments>http://www.sundh.com/blog/2010/04/building-your-own-humidity-sensor-in-2-minutes/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 08:22:02 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[sensors]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=191</guid>
		<description><![CDATA[I am working on a project where I need to measure the humidity of the space. I want to know when the space has dried up and when it is wet or soaking wet. There are several different humidity sensors on the market but t does not absorb water but only measure the level of [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a project where I need to measure the humidity of the space. I want to know when the space has dried up and when it is wet or soaking wet. There are several different humidity sensors on the market but t does not absorb water but only measure the level of humidity around it.  They are small and does not attract water. So I tried to build my own DIY version and my first attempt works quite well. Check it out:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="690" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Ui300HzoTOQ&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="690" height="400" src="http://www.youtube.com/v/Ui300HzoTOQ&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2010/04/building-your-own-humidity-sensor-in-2-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharp GP2Y0D810Z0F IR Sensor</title>
		<link>http://www.sundh.com/blog/2010/03/181/</link>
		<comments>http://www.sundh.com/blog/2010/03/181/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 15:23:54 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[GP2Y0D810Z0F]]></category>
		<category><![CDATA[sensors]]></category>
		<category><![CDATA[sharp]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=181</guid>
		<description><![CDATA[Trying out the small Sharp GP2Y0D810Z0F IR sensor. It only detects when an object is 2 cm to 10 cm away. Great for detecting close up objects. The sensor is very sensitive so I added a resistor of 1 mega ohm to lighten up the power supply. There are 3 pins on the circuit board [...]]]></description>
			<content:encoded><![CDATA[<p>Trying out the small Sharp GP2Y0D810Z0F IR sensor. It only detects when an object is 2 cm to 10 cm away. Great for detecting close up objects. The sensor is very sensitive so I added a resistor of 1 mega ohm to lighten up the power supply. There are 3 pins on the circuit board of the sensor: ground, power supply (2.7 V to 6.2 V) and analog output. More details on the sensor and circuit board on <a href="http://www.pololu.com/catalog/product/1134/resources" target="_blank">Pololu&#8217;s site</a> who are the manufacturers of the circuit board. There is also another version of this sensor <a href="http://www.pololu.com/catalog/product/1131" target="_blank">Sharp GP2Y0D805Z0F</a>, detecting objects even closer with a range of 0.5 cm to 5 cm.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="690" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/bBU3-eyRhog&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="690" height="400" src="http://www.youtube.com/v/bBU3-eyRhog&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div id="attachment_189" class="wp-caption alignnone" style="width: 438px"><img class="size-full wp-image-189" title="sharp" src="http://www.sundh.com/blog/wp-content/uploads/2010/03/sharp2.jpg" alt="Serial monitor output" width="428" height="275" /><p class="wp-caption-text">Serial monitor output</p></div>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2010/03/181/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just in! The Flex sensor!</title>
		<link>http://www.sundh.com/blog/2009/11/just-in-the-flex-sensor/</link>
		<comments>http://www.sundh.com/blog/2009/11/just-in-the-flex-sensor/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 22:30:40 +0000</pubDate>
		<dc:creator>Ellen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[ellen sundh]]></category>
		<category><![CDATA[sensors]]></category>

		<guid isPermaLink="false">http://www.sundh.com/blog/?p=23</guid>
		<description><![CDATA[Time to do some interesting stuff with bending a sensor.]]></description>
			<content:encoded><![CDATA[<p>Time to do some interesting stuff with bending a sensor.</p>
<div id="attachment_22" class="wp-caption alignnone" style="width: 235px"><img class="size-medium wp-image-22" title="Flex sensor" src="http://www.sundh.com/blog/wp-content/uploads/2009/11/photo-1-225x300.jpg" alt="Flex sensor" width="225" height="300" /><p class="wp-caption-text">Flex sensor</p></div>]]></content:encoded>
			<wfw:commentRss>http://www.sundh.com/blog/2009/11/just-in-the-flex-sensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

