<?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>Aneal Khimani</title>
	<atom:link href="http://anealkhimani.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://anealkhimani.com</link>
	<description>I&#039;ll help you melt your electronics</description>
	<lastBuildDate>Thu, 19 Aug 2010 20:50:14 +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>Hey, we all get busy</title>
		<link>http://anealkhimani.com/2010/08/19/hey-we-all-get-busy/</link>
		<comments>http://anealkhimani.com/2010/08/19/hey-we-all-get-busy/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 20:50:14 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Slacking off]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Football]]></category>
		<category><![CDATA[Rock Tumbler]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=109</guid>
		<description><![CDATA[I&#8217;ve been wanting to post more often here and I&#8217;m kinda disappointed in myself for not having done just that.  So here we are.  Postin&#8217; and whatnot.
One thing that I&#8217;m super excited about is FOOTBALL!  Who doesn&#8217;t get excited about that? Lamers and Noobs, that&#8217;s who!  So far the most awesome [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wanting to post more often here and I&#8217;m kinda disappointed in myself for not having done just that.  So here we are.  Postin&#8217; and whatnot.</p>
<p>One thing that I&#8217;m super excited about is FOOTBALL!  Who doesn&#8217;t get excited about that? Lamers and Noobs, that&#8217;s who!  So far the most awesome team in the whole league (Atlanta Falcons, of course) have played one preseason game against the Chiefs and whooped them good.  Tonight is the second preseason game against the Pats.  I went to the first game and I&#8217;ll be in attendance tonight as well.  Lucky me!  <span id="more-109"></span></p>
<p>As far as projects that I&#8217;ve been working on go:<br />
I actually went to Home Depot and bought some hardware to make that silly rock tumbler that I told you all I might build.  Well I started building it the other day.  I have to say that I really need tools.  Not wrenches and screwdrivers (I&#8217;ve got that stuff), I need drill presses, band saws, lathes, scroll saws, table saws, Router tables, orbital spindle sanders, etc.  Basically I need a setup that would whip Norm&#8217;s setup on the &#8220;New Yankee Workshop&#8221;.  Seeing as how I don&#8217;t have a couple hundred thousand laying around, I&#8217;ll have to get by with my crappy tool chest.  I honestly believe that there isn&#8217;t anything I couldn&#8217;t build with wood if I had a workshop like Norm&#8217;s.   </p>
<p>At any rate, I took a spare part of a sheet of plywood I had in the garage and am turning it into a rock tumbler.  I mounted two &#8220;L&#8221; shaped brackets on the plywood, drilled holes in the brackets and mounted a 1-1/4&#8243; wooden dowel in between the brackets.  This allows the dowel to spin like a roller.  I had a crappy old 7.4 V cordless drill laying around, so I decided to use it to drive the roller.  I removed the battery and wired the motor directly to a 12V DC adapter.  I have no idea how long this will last.  Voltage is too high, and I feel pretty sure the motor in that drill isn&#8217;t rated for continuous operation.  In order to tumble a set of rocks correctly, the drill will be required to work (under load) for about a month without stopping.  Hmm, now that I look at that statement on paper (screen), I had probably better start thinking about alternatives to my current setup.</p>
<p>I also have (well the roommate has) a bench grinder.  Through much research I&#8217;ve found that lots of people that are into the whole Lapidary gig turn these things into rock cutting wheels.  This intrigues me so I may hack my roommates grinder into a diamond wheeled rock cutting device.  That way I can cut custom shapes into the rock before tumbling them.  I am thinking of the countless awesome paperweights I could make with such a cutting/tumbling setup.  I&#8217;m actually sorta excited about this one.  I&#8217;m imagining a shiny, glistening skull and crossbones granite paperweight in my future.</p>
<p>Haven&#8217;t done too many electronics projects lately.  I did order a green led matrix from Sure Electronics.  I stole some code from the web and got it up and running fairly easily.  I have installed that in my cubicle at work so everyone who passes by can know immediately that I&#8217;m a nerd.</p>
<p>I&#8217;ll give you all a writeup on that project as I find the time.</p>
<p>Later</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d109').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d109" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;submitHeadline=Hey%2C+we+all+get+busy&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;title=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;title=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;title=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;title=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;title=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Hey%2C+we+all+get+busy+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F08%2F19%2Fhey-we-all-get-busy%2F&amp;t=Hey%2C+we+all+get+busy" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d109').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d109').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/08/19/hey-we-all-get-busy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work sucks, but how was your day?</title>
		<link>http://anealkhimani.com/2010/07/13/work-sucks-but-how-was-your-day/</link>
		<comments>http://anealkhimani.com/2010/07/13/work-sucks-but-how-was-your-day/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 13:58:17 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Slacking off]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=105</guid>
		<description><![CDATA[Yea, lately I&#8217;ve been finding it harder and harder to get motivated at the office.  I just sit there and stare at my queue.  I know the work isn&#8217;t going anywhere (because mostly I&#8217;m the only one in the office who does certain tasks), but I just don&#8217;t really care lately.
I&#8217;ve been doing [...]]]></description>
			<content:encoded><![CDATA[<p>Yea, lately I&#8217;ve been finding it harder and harder to get motivated at the office.  I just sit there and stare at my queue.  I know the work isn&#8217;t going anywhere (because mostly I&#8217;m the only one in the office who does certain tasks), but I just don&#8217;t really care lately.</p>
<p>I&#8217;ve been doing just the bare minimum for the last couple of months.  Now if they would come through and pay a brother what he&#8217;s worth, I might consider getting down and dirty again.  But man, how long can they jerk me around?  I suppose the real question is, how long will I allow them to jerk me around?</p>
<p>I don&#8217;t ask for much.  Just a competitive salary for the responsibilities that I have.  That&#8217;s all.  Sorry, ranting now. </p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d105').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d105" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;submitHeadline=Work+sucks%2C+but+how+was+your+day%3F&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;title=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;title=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;title=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;title=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;title=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Work+sucks%2C+but+how+was+your+day%3F+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F13%2Fwork-sucks-but-how-was-your-day%2F&amp;t=Work+sucks%2C+but+how+was+your+day%3F" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d105').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d105').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/07/13/work-sucks-but-how-was-your-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I ain&#8217;t got time to code</title>
		<link>http://anealkhimani.com/2010/07/09/i-aint-got-time-to-code/</link>
		<comments>http://anealkhimani.com/2010/07/09/i-aint-got-time-to-code/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 05:22:00 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=103</guid>
		<description><![CDATA[So a friend of mine has hired me to build a website for his motorcycle club.  Doing freelance web design can be tough.  Mostly because the client rarely has any concrete info for you.  They&#8217;ll say &#8220;maybe we could have a &#8230;&#8221; or &#8220;it might be cool if we &#8230;&#8221;.  You [...]]]></description>
			<content:encoded><![CDATA[<p>So a friend of mine has hired me to build a website for his motorcycle club.  Doing freelance web design can be tough.  Mostly because the client rarely has any concrete info for you.  They&#8217;ll say &#8220;maybe we could have a &#8230;&#8221; or &#8220;it might be cool if we &#8230;&#8221;.  You learn to roll w/ the punches in this kind of business.  My advice to you all is to build a couple dozen templates in your spare time.  Offer each of these templates to your potential clients and let them pick and choose features that they like: &#8220;I&#8217;ll take header &#8216;A&#8217; with background &#8217;4&#8242; and font &#8216;W&#8217;.  Should cut down on dev time considerably.  Just be sure to use CSS to speed things up.  </p>
<p>Oh, and if they say we want a store/flash anything, make sure you let them know that it&#8217;ll cost a LOT more.</p>
<p>Rant done.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d103').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d103" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;submitHeadline=I+ain%26%238217%3Bt+got+time+to+code&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;title=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;title=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;title=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;title=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;title=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+I+ain%26%238217%3Bt+got+time+to+code+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F07%2F09%2Fi-aint-got-time-to-code%2F&amp;t=I+ain%26%238217%3Bt+got+time+to+code" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d103').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d103').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/07/09/i-aint-got-time-to-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A tumblin&#8217; we might go</title>
		<link>http://anealkhimani.com/2010/06/17/a-tumblin-we-might-go/</link>
		<comments>http://anealkhimani.com/2010/06/17/a-tumblin-we-might-go/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 01:34:45 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Slacking off]]></category>
		<category><![CDATA[Rocks]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=101</guid>
		<description><![CDATA[So I&#8217;ve been thinking lately that I might build a rock tumbler.  What&#8217;s that you ask?  It&#8217;s a little (or sometimes big) device that has a motor, some rollers and a drum that you load up with rocks and silicone oxide grit.  The drum spins, tumbling the rocks and shining them up. [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been thinking lately that I might build a rock tumbler.  What&#8217;s that you ask?  It&#8217;s a little (or sometimes big) device that has a motor, some rollers and a drum that you load up with rocks and silicone oxide grit.  The drum spins, tumbling the rocks and shining them up.  Seems simple enough.</p>
<p>I&#8217;ve already got a few motors laying around (I&#8217;ll prolly use the one that&#8217;s in the old cordless drill I took apart), and I can pick up some empty paint cans at the local Sherwin Williams for the drums.  Now all I need is some rollers and a little elbow grease.  The only down side is that it takes weeks and weeks to tumble raw rock into polished beauties.  Maybe I&#8217;ll use multiple drums to speed things along between grit stages (rough to polish).  I&#8217;ll keep you posted if I&#8217;m not too lazy.  Got a busy weekend.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d101').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d101" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;submitHeadline=A+tumblin%26%238217%3B+we+might+go&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;title=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;title=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;title=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;title=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;title=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+A+tumblin%26%238217%3B+we+might+go+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F06%2F17%2Fa-tumblin-we-might-go%2F&amp;t=A+tumblin%26%238217%3B+we+might+go" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d101').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d101').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/06/17/a-tumblin-we-might-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallax RFID reader &#8211; Arduino goodness</title>
		<link>http://anealkhimani.com/2010/05/31/parallaxrfid/</link>
		<comments>http://anealkhimani.com/2010/05/31/parallaxrfid/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 00:57:20 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[RFID]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=95</guid>
		<description><![CDATA[Radio Shack (of all places) had a good price on a Parallax RFID reader. ]]></description>
			<content:encoded><![CDATA[<p>Early this morning (after my first smoke of the day) I hit up one of my favorite electronics/hacking websites <a href="http://hackaday.com">hackaday.com</a>.  I was reading the new posts and I saw one from a couple days back that said Radio Shack (of all places) had a good price on a Parallax RFID reader.  Thinking this was some sort of hoax (since &#8220;The Shack&#8221; never has good prices).  I took a ride out to my local store.</p>
<p><span id="more-95"></span></p>
<p>Now I remember a few months ago I saw that same RFID reader in a package with no price on it.  I asked the dude at the desk to price check it for me, and it was just as I thought, 50 bucks.  Well there was no way I was gonna pay that, so I left it alone.</p>
<p>Well today that same item rang up for $9.97.  Yes, ten bucks!  Needless to say I bought all of them that they had remaining in stock (and I might even trawl a couple of other close by Shacks to buy them out as well).<br />
<a href="http://anealkhimani.com/wp-content/uploads/2010/05/RFID.jpg"><img src="http://anealkhimani.com/wp-content/uploads/2010/05/RFID-225x300.jpg" alt="" title="RFID" width="225" height="300" class="aligncenter size-medium wp-image-99" /></a></p>
<p>Well I got them home and tore into one right away.  The device is pretty slick, compact and easy to use and comes with two pre-programmed tags.  It has a built in bi-color LED to display the status of the reader (red or green for enabled or disabled).  Only four connections too (Vcc or +5 volts, Ground, Serial Out and Enable).  The output pins on the reader are males, and they are breadboard compatible (which is how I hooked mine up).</p>
<p>Here&#8217;s the pin connections:</p>
<p>Vcc on Reader to +5volts on Arduino<br />
Enable on Reader to digital pin 2 on Arduino<br />
Serial Out on Reader to RX on Arduino<br />
Ground on Reader to Ground on Arduino</p>
<p>Easy as that (though remember, you&#8217;ll have to disconnect the RX pin from Arduino when it&#8217;s time to upload your sketch, or you&#8217;ll get errors and no action).</p>
<p>Well a quick search through the Arduino playground netted me a pretty damn simple sketch that reads the card (if one is close by) and displays the card code in the Serial Monitor.  <a href="http://www.arduino.cc/playground/Learning/PRFID">Here&#8217;s the link</a> to that tutorial.  Had it up and running in less than 10 minutes.  Now if I can only figure out what to do with this new technology (well, it&#8217;s new to me at least).</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d95').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d95" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;submitHeadline=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;title=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;title=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;title=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;title=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;title=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Parallax+RFID+reader+%26%238211%3B+Arduino+goodness+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F05%2F31%2Fparallaxrfid%2F&amp;t=Parallax+RFID+reader+%26%238211%3B+Arduino+goodness" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d95').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d95').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/05/31/parallaxrfid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busy, uninspired, lazy.  Pick your excuse</title>
		<link>http://anealkhimani.com/2010/04/05/busy-uninspired-lazy-pick-your-excuse/</link>
		<comments>http://anealkhimani.com/2010/04/05/busy-uninspired-lazy-pick-your-excuse/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 20:22:02 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Slacking off]]></category>
		<category><![CDATA[bored]]></category>
		<category><![CDATA[Wasting time]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=93</guid>
		<description><![CDATA[Yea, I haven&#8217;t made any posts since the last of February.  That&#8217;s my bad.  I&#8217;ve been getting a small (read: Microscopic) number of page views here, and I have to assume that it&#8217;s due to the titles/tags of my posts.  At least, that&#8217;s what Google Analytics is telling me.  So I [...]]]></description>
			<content:encoded><![CDATA[<p>Yea, I haven&#8217;t made any posts since the last of February.  That&#8217;s my bad.  I&#8217;ve been getting a small (read: Microscopic) number of page views here, and I have to assume that it&#8217;s due to the titles/tags of my posts.  At least, that&#8217;s what Google Analytics is telling me.  So I feel bad because I&#8217;m not posting often enough for my readers.  That&#8217;s gotta change so I&#8217;ll be working harder on some more projects in the very near future to get some content up here.</p>
<p>Here&#8217;s a few items I&#8217;m planning/working on:</p>
<ul>
<li>I recently got my Wii Numchuck breakout board in the mail.  This might be cool if I can figure out how to hook it up to some servos and make my old PHP controled web cam into a joystick controlled version</li>
<li>I&#8217;ve got an Arcade cabinet or two that are just aching to become full-fledged MAME cabinets.  Combine that with a few old PC&#8217;s I have laying around, and the only missing element is some dough (for parts) and elbow grease</li>
<li>I&#8217;d like to build a physical page view counter &#8211; Meaning that I&#8217;d like a device that alters a physical apparatus in my living room to reflect the hits I get on my websites in real time.</li>
</ul>
<p>If you&#8217;ve got some ideas of what you&#8217;d like to see here, drop me a line!  If it&#8217;s within my skill set, I&#8217;ll make it happen!<br />
That is all</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d93').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d93" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;submitHeadline=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;title=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;title=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;title=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;title=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;title=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Busy%2C+uninspired%2C+lazy.++Pick+your+excuse+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F04%2F05%2Fbusy-uninspired-lazy-pick-your-excuse%2F&amp;t=Busy%2C+uninspired%2C+lazy.++Pick+your+excuse" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d93').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d93').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/04/05/busy-uninspired-lazy-pick-your-excuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Basic 6 to Arduino serial communication</title>
		<link>http://anealkhimani.com/2010/02/23/visual-basic-6-to-arduino-serial-communication/</link>
		<comments>http://anealkhimani.com/2010/02/23/visual-basic-6-to-arduino-serial-communication/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 06:39:02 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Serial Communication]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=79</guid>
		<description><![CDATA[So I&#8217;ve had some experience writing code in VB6.  From what I hear, it&#8217;s the worst language to learn first.  The experts say that it leads to lazy, uninspired code and that it doesn&#8217;t really foster any sort of deep understanding of OOP (object oriented programming).  I have mixed feelings about this sort of statement.

The [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve had some experience writing code in VB6.  From what I hear, it&#8217;s the worst language to learn first.  The experts say that it leads to lazy, uninspired code and that it doesn&#8217;t really foster any sort of deep understanding of OOP (object oriented programming).  I have mixed feelings about this sort of statement.</p>
<p><span id="more-79"></span></p>
<p>The Visual Studio IDE gives novice programmers a leg up in the coding world.  It isn&#8217;t as strict as some other languages.  It will allow you to use undeclared variables, it&#8217;ll fix case-sensitive issues for you, and you can basically &#8216;draw&#8217; controls on the screen with your mouse (as opposed to Java, where &#8211; at least the last time I encountered it &#8211; you had to write the X/Y coordinates explicitly in code).</p>
<p>I can&#8217;t lie.  I kinda love VB6.  For me, there&#8217;s no easier/quicker solution to get a desktop coding project up and running.  For example, I was kicking around ideas for my next Arduino project, and thought &#8220;Hey, I could probably use VB6 to send serial data to the Arduino and make magic happen&#8221;.</p>
<p>So my next step was to Google &#8220;VB6, Arduino&#8221;.  I quickly learned that there is a VB component called MsComm that can be added to your Visual Studio environment to make serial communication a breeze.</p>
<p>I threw together a simple sketch on my Duemilanove that had a switch statement to check incoming serial bytes, and then either set a LED pin to HIGH or LOW depending on what the incoming byte was (in this case I used ASCII &#8216;a&#8217; or ASCII &#8216;b&#8217; because I&#8217;ve used them in previous projects).</p>
<p>Then I cranked up Visual Studio and wrote some VB6 code.  I wanted two Command buttons to exist on my main form (each one responsible for sending either an ASCII &#8216;a&#8217; or &#8216;b&#8217; via serial port.  Took me approximately 3 minutes to make my little LED to switch on or off depending on which Command button I clicked.</p>
<p>Now, my next project will include a common anode RGB LED that I&#8217;ll control via PWM on the Arduino, and via scroll bars in VB.  Should be pretty simple.  I&#8217;ll need a few transistors, a few resistors and a little patience writing the code.</p>
<p>I hope to have a working prototype for you all by this weekend (2-27-10).</p>
<p>Stay tuned!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d79').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d79" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;submitHeadline=Visual+Basic+6+to+Arduino+serial+communication&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;title=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;title=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;title=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;title=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;title=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Visual+Basic+6+to+Arduino+serial+communication+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F23%2Fvisual-basic-6-to-arduino-serial-communication%2F&amp;t=Visual+Basic+6+to+Arduino+serial+communication" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d79').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d79').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/02/23/visual-basic-6-to-arduino-serial-communication/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web enabled pan/tilt web cam with Arduino and PHP &#8211; Part 4</title>
		<link>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-web-came-with-arduino-and-php-part-4/</link>
		<comments>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-web-came-with-arduino-and-php-part-4/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 01:05:33 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Web Cam]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=70</guid>
		<description><![CDATA[So here is Part 4 of this project.  If you haven&#8217;t read the first 3 posts, I suggest you go back and do that first, unless you enjoy being confused about what&#8217;s going on.
This step will cover the physical hardware build and give some insight and tips to think about when (if) you build one [...]]]></description>
			<content:encoded><![CDATA[<p>So here is Part 4 of this project.  If you haven&#8217;t read the first 3 posts, I suggest you go back and do that first, unless you enjoy being confused about what&#8217;s going on.</p>
<p>This step will cover the physical hardware build and give some insight and tips to think about when (if) you build one of these.</p>
<p>I personally like to build things.  I like getting my hands dirty, and coming up with clever ways to solve problems.  Perhaps I missed my calling?  I should have been an engineer or something.  Nah, I use rubber bands and scotch tape too often as can be witnessed in the pics below.  First a pic of the whole project:</p>
<p><span id="more-70"></span></p>
<p>The pics will all be crappy and blurred because I used my iPhone to take them (and it isn&#8217;t suited very well for close up pics&#8230; My digital camera is on the blink).</p>
<p><a href="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-005.jpg"><img class="alignnone size-medium wp-image-71" title="Picture 005" src="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-005-300x225.jpg" alt="Full Project" width="300" height="225" /></a></p>
<p>Here is the full project.  You can see the web cam assembly to the left (mounted to that small wooden box) and the breadboard to the bottom right, and of course the Arduino to the top right.  I most likely could have skipped the breadboard altogether, but I&#8217;m a fanatic about building things w/ a breadboard.  I don&#8217;t know why, I just like the flexibility that they offer.</p>
<p>Also, you might be able to see the resistors I have on the breadboard.  These are the components that I used to disable the automatic reset on the Arduino.  It calls for a 120 Ohm resistor (which I didn&#8217;t have) so I wired a 100 and two 10 Ohm resistors in series to get the same effect.</p>
<hr /><a href="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-006.jpg"><img class="alignnone size-medium wp-image-72" title="Picture 006" src="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-006-300x225.jpg" alt="Camera Assembly Base" width="300" height="225" /></a></p>
<p>The above pic is the Pan servo.  I had a small wooden craft box laying around so I decided to use it as the base for my web cam.  I cut a slot into the box using my Dremel to house the pan servo.  I shoved it into the slot and screwed it down with the mounting screws that came w/ the servos.  I&#8217;m using some small 9 gram servos here.  I bought them online for around 3 bucks each.</p>
<hr /><a href="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-007.jpg"><img class="alignnone size-medium wp-image-74" title="Picture 007" src="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-007-300x225.jpg" alt="Tilt servo" width="300" height="225" /></a></p>
<p>It&#8217;s blurry, but you can kinda see how I mounted the tilt servo directly on to the arm of the pan servo.  I didn&#8217;t wanna permanently attach anything (because I plan on using these servos for other future projects).  So I used a rubber band and tightly wrapped it to attach these servos together.</p>
<hr /><a href="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-004.jpg"><img class="alignnone size-medium wp-image-75" title="Picture 004" src="http://anealkhimani.com/wp-content/uploads/2010/02/Picture-004-300x225.jpg" alt="The Web Cam" width="300" height="225" /></a></p>
<p>I promptly voided the warranty on this web cam.  I took it apart to remove the mounting bracket that it shipped with.  It was large and in the way, so I simply took it off.  I mounted this camera directly to the tilt servo arm by means of &#8230;..  Scotch tape.  Worked like a charm, and didn&#8217;t have to drill any holes or hot glue anything.</p>
<p>That just about wraps it up.  Here are some considerations for you:</p>
<p>When I got all the wiring done, I launched the PHP app and started panning and tilting like  a madman.  However, I happened to mix up the servos during build time, and the commands from PHP were all backwards and mixed up.  For example, when I hit the Pan Left link, the camera would tilt down (and other such trickery).  Well I quickly realized what I did and changed the PHP code to reflect the appropriate movements.</p>
<p>Make sure your base for the camera assembly is stable.  The little servos move quickly, and will jerk the whole device off the edge of your desk if you aren&#8217;t careful.  A heavy base will solve this.</p>
<p>You may not want the range of view that I employed here.  The camera is able to pan and tilt across 100 degrees in each direction.  I quickly learned that 100 degrees of tilt was too much (as no one is interested in what&#8217;s happening on the ceiling).  Your numbers in the Arduino sketch may vary slightly if you want to change the field of view.</p>
<p>Also, I eventually changed the degrees of change from 10 to 5 (for more subtle control, and more overall steps in the field of vision).  This is just aesthetics though.</p>
<p>If you plan on disabling the reset feature on Arduino frequently, I recommend that you add a switch to your schematic to do this quickly and easily.  You cannot upload sketches to Arduino with the reset disabled.  It&#8217;s highly likely that you&#8217;ll be constantly tweaking your sketches until you get it just right, and constantly unplugging wires from your breadboard and uploading and replugging wires gets tedious and nerve-wracking.  Just use any old toggle type switch.  Should work fine.</p>
<p>I hope this helps you all, and I hope you enjoyed seeing this project.  Unfortunately, I can&#8217;t let any of you see the end results with my working web cam, because it appears that I don&#8217;t have a static IP at home (which I&#8217;m prolly gonna get eventually) and I don&#8217;t want to worry about using one of those online services to emulate one.  Also, I&#8217;m not really sure I feel comfortable with people logging in and watching me as I mill about my work space.</p>
<p>Hit me up, I&#8217;ll be happy to answer any questions I can!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d70').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d70" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;submitHeadline=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-4%2F&amp;t=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+4" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d70').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d70').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-web-came-with-arduino-and-php-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web enabled pan/tilt web cam with Arduino and PHP &#8211; Part 3</title>
		<link>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-camera-with-arduino-and-php-part-3/</link>
		<comments>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-camera-with-arduino-and-php-part-3/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 22:12:51 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Web Cam]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=55</guid>
		<description><![CDATA[This is the part of the project that took me the longest to figure out.]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t already checked out <a href="http://anealkhimani.com/2010/02/08/web-enabled-pantilt-webcam-with-arduino-and-php-part-1/" target="_self">Part 1</a> or <a href="http://anealkhimani.com/2010/02/20/web-enabled-pantilt-web-came-with-arduino-and-php-part-2/" target="_self">Part 2</a> of this tutorial, I suggest you do so now so you can catch up!</p>
<p>This is the part of the project that took me the longest to figure out.  It isn&#8217;t because I&#8217;m some sort of slacker when it comes to PHP, it&#8217;s just that I was unaware that each time a connection to the serial port of the Arduino is made (or broken) it resets the device.  I&#8217;ll go into this more in a moment, but for now let&#8217;s look at the full PHP code used to talk to the Arduino:</p>
<p><span id="more-55"></span></p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<br />
<span style="color: #666666; font-style: italic;">/* Serial script for pan/tilt Camera with servos */</span><br />
<span style="color: #666666; font-style: italic;">/* Script by Aneal Khimani, 2-12-10 */</span><br />
<br />
<span style="color: #666666; font-style: italic;">//check the GET action SuperGlobal var to see if an</span><br />
<span style="color: #666666; font-style: italic;">//action is to be performed</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">//Action required</span><br />
<br />
<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;panleft&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">97</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;panright&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">98</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tiltdown&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tiltup&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
<br />
&lt;p&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=panleft&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Pan Left&lt;/a&gt; &lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=panright&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Pan Right&lt;/a&gt; &lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=tiltup&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Tilt Up&lt;/a&gt;<br />
&lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=tiltdown&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Tilt Down&lt;/a&gt;<br />
&lt;br /&gt;<br />
&lt;/p&gt;<br />
<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div></td></tr></tbody></table></div>
<p>This script works basically like the inverse of the Arduino sketch we showed you in our previous post.  Instead of listening on the serial port for incoming bytes, this PHP will send bytes to the serial port based on what HTML link is clicked.  Let&#8217;s analyze it in sections:</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//check the GET action SuperGlobal var to see if an action is to be performed</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">//Action required</span></div></td></tr></tbody></table></div>
<p>This part is pretty simple.  The code checks if the user has clicked any links on the page.</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;panleft&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//Open a file pointer to COM7 for writing ('w')</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">97</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//write the ASCII Character 97 ('a') to COM7</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//Close the file pointer to COM7</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;panright&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">98</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tiltdown&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tiltup&quot;</span><span style="color: #339933;">:</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM7&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <a href="http://www.php.net/chr"><span style="color: #990000;">chr</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>This is where the action happens.  This is basically a switch statement that checks what &#8216;action&#8217; link was clicked.  The first switch is commented.  If you use this script, you&#8217;ll need to change the COM7 portion to whatever COM port your Arduino is using.</p>
<p>And of course, the final HTML part of the script to display the links and give the user a way to interface w/ the code:</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
<br />
&lt;p&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=panleft&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Pan Left&lt;/a&gt;<br />
&lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=panright&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Pan Right&lt;/a&gt;<br />
&lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=tiltup&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Tilt Up&lt;/a&gt;&lt;br /&gt;<br />
&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?action=tiltdown&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Tilt Down&lt;/a&gt;&lt;br /&gt;</div></td></tr></tbody></table></div>
<p>This is basically 4 links, each with their own action (panleft, panright, tiltup, tiltdown).  The switch statement looks at the &#8216;action&#8217; and sends the appropriate ASCII letter to the Arduino.  Pretty simple.</p>
<p>Now this seems like it should work right off the bat.  If you&#8217;ve already got your servos hooked up to the Arduino, and you open the serial monitor in the Arduino IDE, you will notice that when you send the letters &#8216;a&#8217;, &#8216;b&#8217;, &#8216;c&#8217; or &#8216;d&#8217;, the correct servo will move as expected.  But for some damn reason, the PHP sending the exact same code to the Arduino won&#8217;t work.</p>
<p>After many hours of scratching my head and whining, I finally found out that each time Arduino senses the opening or the closing of the Serial port, it resets.  The PHP code above is doing this each time it sends data:</p>
<p>Open the port &#8211; send the ASCII data &#8211; Close the port</p>
<p>It does these three steps almost instantaneously.  So as soon as the open port happens, the Arduino resets, and the rest of the actions get lost.</p>
<p>I found that this auto reset feature can be disabled in hardware by simply connecting the 5v pin on the Arduino to the reset pin through a 120 Ohm resistor.  You can find more information about this<a href="http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection" target="_blank"> here.</a></p>
<p>So here&#8217;s the steps I needed to take to make this a reality:</p>
<p>1: Upload the pan/tilt sketch to the Arduino</p>
<p>2: Connect your resistor to disable the reset function</p>
<p>3: Open the Serial Monitor in Arduino to test the sketch</p>
<p>4: Open your PHP script on your local machine to make it run.</p>
<p>This works all the way, and exactly as expected.  Next I took a look at the Yawcam details and found a way to create a webpage that existed in my Apache server space that would display the camera stream.  I created a simple Frameset in HTML and put the webcam stream in the top frame and the PHP script to run the camera in the bottom one.  It&#8217;s sloppy and Frames are an outdated technology, but it was the quickest and easiest method I could come up with.  I might clean it up later on.  But for now it works.  That covers all of the software side of the equation.  Next up, the hardware build.</p>
<p>Stay tuned!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d55').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d55" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;submitHeadline=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F21%2Fweb-enabled-pantilt-camera-with-arduino-and-php-part-3%2F&amp;t=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+3" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d55').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d55').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/02/21/web-enabled-pantilt-camera-with-arduino-and-php-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web enabled pan/tilt web cam with Arduino and PHP &#8211; Part 2</title>
		<link>http://anealkhimani.com/2010/02/20/web-enabled-pantilt-web-came-with-arduino-and-php-part-2/</link>
		<comments>http://anealkhimani.com/2010/02/20/web-enabled-pantilt-web-came-with-arduino-and-php-part-2/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 06:20:15 +0000</pubDate>
		<dc:creator>Aneal</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Web Cam]]></category>
		<category><![CDATA[Pan/Tilt]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://anealkhimani.com/?p=26</guid>
		<description><![CDATA[So here we are, and I've finished the pan/tilt web cam completely now.  It works and is fully functional.]]></description>
			<content:encoded><![CDATA[<p>So here we are, and I&#8217;ve finished the pan/tilt web cam completely now.  It works like a dream and is viewable (and pan/tiltable) across the globe.  Now on to part two which I&#8217;m calling &#8220;Arduino FTW&#8221;.  Oh, and if you skipped part 1 of this tutorial, I suggest you <a href="http://anealkhimani.com/2010/02/08/web-enabled-pantilt-webcam-with-arduino-and-php-part-1/" target="_self">check it out first</a>.  Also, I&#8217;ve decided to break this tutorial down into 4 parts now.</p>
<p><span id="more-26"></span>So by now, you should have your web server and PHP up and running.  Oh and you should be able to log on to your web cam (if you&#8217;re using <a href="http://www.yawcam.com/" target="_blank">Yawcam</a>) and see what&#8217;s going on in your house/room via the web.</p>
<p>I&#8217;m really gonna stress that you use Yawcam.  It&#8217;s very easy and it&#8217;s the only method that I&#8217;ll describe here to get this running!</p>
<p>Let&#8217;s start with Arduino.  Once again, if you&#8217;re reading this blog, you shouldn&#8217;t need instructions on how to install the Arduino ide, or how to get your Arduino running.  These should be done already at this point.  So plug in your Arduino and let&#8217;s code:</p>
<p>First, the whole shebang:</p>
<div class="codecolorer-container c mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">/*<br />
Pan/Tilt Webcam script with 2 servos<br />
Created by Aneal Khimani<br />
http://anealkhimani.com<br />
2/12/10<br />
*/</span><br />
<span style="color: #339933;">#include &lt;Servo.h&gt; //Include the Servo library</span><br />
<br />
Servo pan<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Create pan servo object</span><br />
Servo tilt<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Create tilt servo object</span><br />
<br />
<span style="color: #993333;">int</span> panposition <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Variable to determine pan position</span><br />
<span style="color: #993333;">int</span> tiltposition <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Variable to determine tilt position</span><br />
<br />
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
Serial.<span style="color: #202020;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// initialize serial communication:</span><br />
<br />
<span style="color: #666666; font-style: italic;">// initialize the Servo pins:</span><br />
pan.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Pan Servo attached to pin 9</span><br />
tilt.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Tilt Servo attached to pin 10</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// read the serial port:</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>Serial.<span style="color: #202020;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #993333;">int</span> inByte <span style="color: #339933;">=</span> Serial.<span style="color: #202020;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* The PHP script that accompanies this Arduino sketch will send<br />
a byte (ascii) for the characters 'a', 'b', 'c', or 'd'.  Based<br />
on what character is sent, the switch statement below will test<br />
the appropriate servo's current position and either move it, or not<br />
*/</span><br />
<br />
<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span>inByte<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'a'</span><span style="color: #339933;">:</span>    <span style="color: #666666; font-style: italic;">//Pan Left for 'a'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
panposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">+</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
tilt.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>panposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'b'</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">//Pan Right for 'b'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">-</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
tilt.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>panposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'d'</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">//Tilt Up for 'd'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">+</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pan.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>tiltposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'c'</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">//Tilt Down for 'c'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">-</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pan.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>tiltposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>This is a pretty simple sketch.  First we make sure to include the Servo library before we begin anything.  Then we declare two servo objects (one for the pan servo and one for the tilt).  I recommend that you run through the Servo examples that are included in the Arduino ide before beginning this project.  It&#8217;ll give you a lot of insight on how this whole process works.  That&#8217;s what I did, and didn&#8217;t have any experience w/ servos prior.</p>
<p>Now the serial communication part:</p>
<div class="codecolorer-container c mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
Serial.<span style="color: #202020;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// initialize serial communication:</span><br />
<br />
<span style="color: #666666; font-style: italic;">// initialize the Servo pins:</span><br />
pan.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Pan Servo attached to pin 9</span><br />
tilt.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Tilt Servo attached to pin 10</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>This is the setup portion of the sketch.  All we do here is initialize the serial communication (at 9600 baud) and attach the servos to pins 9 and 10.</p>
<p>Next comes the meat and potato portion, the loop section:</p>
<div class="codecolorer-container c mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// read the serial port:</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>Serial.<span style="color: #202020;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #993333;">int</span> inByte <span style="color: #339933;">=</span> Serial.<span style="color: #202020;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* The PHP script that accompanies this Arduino sketch will send<br />
a byte (ascii) for the characters 'a', 'b', 'c', or 'd'.  Based<br />
on what character is sent, the switch statement below will test<br />
the appropriate servo's current position and either move it, or not<br />
*/</span><br />
<br />
<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span>inByte<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'a'</span><span style="color: #339933;">:</span>    <span style="color: #666666; font-style: italic;">//Pan Left for 'a'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
panposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">+</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
tilt.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>panposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'b'</span><span style="color: #339933;">:</span> <span style="color: #666666; font-style: italic;">//Pan Right for 'b'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>panposition <span style="color: #339933;">-</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
tilt.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>panposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'d'</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">//Tilt Up for 'd'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">+</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pan.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>tiltposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'c'</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">//Tilt Down for 'c'</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
tiltposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tiltposition <span style="color: #339933;">-</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pan.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>tiltposition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>The code here basically checks the serial buffer to see if there is a byte available.  Once it determines that there is data in the buffer, it writes that data to the variable &#8216;inByte&#8217;.  Then, the code uses a switch statement to determine what byte was sent.  It&#8217;s pretty easy to tell what happens in the switch:</p>
<p>If the incoming serial byte is &#8216;a&#8217;, the camera pans (that is, if the camera hasn&#8217;t reached the maximum pan value of 100 degrees).</p>
<p>Same goes for &#8216;b&#8217;, &#8216;c&#8217;, and &#8216;d&#8217;.  First the switch statement checks if the appropriate servo has reached its predefined top/bottom range and moves accordingly by 10 degrees.</p>
<p>Could I package this whole script (and the accompanying files) into a neat zip file for you to download?  Sure!  But I won&#8217;t.  Just cut and past the first code block into your Arduino IDE and compile/upload it.  Then save it if you find that to be important.</p>
<p>Next time we&#8217;ll tackle the PHP code you&#8217;ll need to communicate w/ Arduino</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d26').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Share this</em></strong></a>
<br />
<div class="d26" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;submitHeadline=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;title=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2+@+http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fanealkhimani.com%2F2010%2F02%2F20%2Fweb-enabled-pantilt-web-came-with-arduino-and-php-part-2%2F&amp;t=Web+enabled+pan%2Ftilt+web+cam+with+Arduino+and+PHP+%26%238211%3B+Part+2" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://anealkhimani.com/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d26').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d26').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://anealkhimani.com/2010/02/20/web-enabled-pantilt-web-came-with-arduino-and-php-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
