<?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>buildsomething.net</title>
	<atom:link href="http://buildsomething.net/Projectblog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://buildsomething.net/Projectblog</link>
	<description>Beating Back Boredom with Electrons</description>
	<lastBuildDate>Mon, 25 Jan 2010 13:52:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Code &#8211; beta</title>
		<link>http://buildsomething.net/Projectblog/?p=41</link>
		<comments>http://buildsomething.net/Projectblog/?p=41#comments</comments>
		<pubDate>Mon, 25 Jan 2010 13:52:08 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino GPS puzzle c code]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=41</guid>
		<description><![CDATA[<p>As I cannot seem to get me, the project, and a camera all in the same place at the same time, here is the functional code.</p>
<p>All that remains is to add the &#8220;back door&#8221; feature to allow entry to the box if an external power source is used. According to Mikal Hart, there are 12 [...]]]></description>
			<content:encoded><![CDATA[<p>As I cannot seem to get me, the project, and a camera all in the same place at the same time, here is the functional code.</p>
<p>All that remains is to add the &#8220;back door&#8221; feature to allow entry to the box if an external power source is used. According to Mikal Hart, there are 12 people he is aware of building this box, or variations. Two have already published their builds. Take a look at <a href="http://newbrightidea.com/?p=15" target="_blank">The Frustromantic Box</a> and the <a href="http://lucasfragomeni.com/arduino/?p=36" target="_blank">Buzzel</a>.</p>
<p><code><br />
/*<br />
Code written by Allen Burt - youevolve@buidsomething.net</code></p>
<p>Original build and concept and the TinyGPS and NewsoftSerial libraries &#8211; Mikal Hart &#8211; arduiniana.org<br />
Also thanks to Mikal for guiding me out of a corner I had painted myself into.</p>
<p>Thank you, also, to the arduino community for all the code examples which have guided me.</p>
<p>Huge thank you to my wife for loving geeks and putting up with my new obsession.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Due to a conflict with NewSoftSerial(actually, all Serial libraries) and the Arduino 017<br />
Servo library you MUST use either Arduino 016 (or earlier) OR copy the Servo library from<br />
an earlier version to the Arduino 017 Libraries folder. If you experience random movement<br />
of the servo, this bug is the issue.</p>
<p>This code assumes that you have a 4800-baud serial GPS device hooked up on pins 2(rx)<br />
and 3(tx) and a serial LCD display on pin 1 using kit LCD117b from Modern Device Company</p>
<p>New installations must have the EEPROM cleared.</p>
<p>Use this code to clear the EEPROM registers on fresh installs and new puzzle sessions.<br />
EEPROMCLEAR code:</p>
<p>#include &lt;EEPROM.h&gt;</p>
<p>void setup()<br />
{<br />
// write a 0 to all 512 bytes of the EEPROM<br />
for (int i = 0; i &lt; 512; i++)<br />
EEPROM.write(i, 0);</p>
<p>// turn the LED on when we&#8217;re done<br />
digitalWrite(13, HIGH);<br />
}</p>
<p>void loop()<br />
{<br />
}</p>
<p>*/</p>
<p>#include &lt;NewSoftSerial.h&gt;<br />
#include &lt;TinyGPS.h&gt;<br />
#include &lt;EEPROM.h&gt;<br />
#include &lt;Servo.h&gt;</p>
<p>Servo myservo;  // create servo object to control a servo<br />
TinyGPS gps;<br />
NewSoftSerial nss(2, 3);<br />
float gpsdump(TinyGPS &amp;gps);<br />
bool feedgps();<br />
void printFloat(double f, int digits = 2);<br />
int address = 0;  //address of EEPROM byte we will be writing to<br />
byte value;  //  number of program cycles<br />
int offPin = 8; // Pololu off line connected to digital pin 8;<br />
int newvalue;  //placeholder for incrementing program cycles<br />
float dest_latitude = 39.393839; //exoticfelinerescuecenter.org latitude<br />
float dest_longitude = -87.068743; //exoticfelinerescuecenter.org longitude<br />
float radius = 3956.6;<br />
const float two = 2.0;<br />
unsigned long timer = 0;</p>
<p>void setup()</p>
<p>{<br />
myservo.attach(9);  // attaches the servo on pin 9 to the servo object<br />
pinMode(offPin, OUTPUT);  // sets the digital pin connected to the Pololu as output<br />
value = EEPROM.read(address); // read a byte from the current address of the EEPROM</p>
<p>Serial.begin(9600); //Display runs at 9600 baud<br />
nss.begin(4800);  // GPS runs at 4800 baud</p>
<p>//  Serial.print(&#8220;?S0&#8243;); // lose the original boot screen &#8211; this only really needs to be run the first time the kit 117b is used<br />
//    delay(100);</p>
<p>delay (3000);                  //wait a few seconds for the screen to boot up<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.print(&#8220;Welcome to&#8221;);             //Welcome message<br />
delay(10);<br />
Serial.print(&#8220;?x00?y1&#8243;);              // cursor to first character of line 1<br />
delay(10);<br />
Serial.print(&#8220;the Game&#8230;&#8221;);<br />
delay(4000);<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.print(value, DEC);           //print the stored attempt counter<br />
delay (10);<br />
Serial.println( &#8221; of 50&#8243;);<br />
delay (10);<br />
Serial.print(&#8220;?x00?y1&#8243;);              // cursor to first character of line 1<br />
delay(10);<br />
Serial.print(&#8220;Attempts&#8221;);<br />
delay(5000);</p>
<p>myservo.write(60);  // make sure the servo is in the locked position<br />
newvalue = ++value;  //add one to the program cycle counter<br />
EEPROM.write(address, newvalue); //write the new value to EEPROM</p>
<p>if (value &gt;= 51)		//if we have used up all our turns, print message and shut down<br />
{<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.print(&#8220;Game Over&#8221;);<br />
delay(15000);            // wait for 15 seconds<br />
digitalWrite(offPin, HIGH);   // Sends the signal to the Pololu switch to turn off the arduino<br />
}<br />
}</p>
<p>void loop()<br />
{<br />
bool newdata = false;<br />
{<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.print(&#8220;Seeking Signal&#8221;);<br />
delay(10);</p>
<p>do		//keep feeding the GPS and counting the time until we get a lock or run out of time<br />
{<br />
feedgps();<br />
if (feedgps()){<br />
newdata = true;<br />
}<br />
timer = millis();<br />
delay(1000);</p>
<p>}<br />
while ((newdata = false) &amp;&amp; (timer &lt; 300000));    //Look for a signal for 5 minutes     if (timer &gt;= 300000){		// if no signal in 5 minutes, power down<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y1&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.print(&#8220;No Signal&#8221;);<br />
delay(5000);<br />
digitalWrite(offPin, HIGH);   // Sends the signal to the Pololu switch to turn off the arduino<br />
}</p>
<p>if (feedgps()){<br />
newdata = true;<br />
}<br />
if (newdata)	// if we get data, print the distance to target<br />
{<br />
Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.println(&#8221;    Distance&#8221;);<br />
delay(10);<br />
Serial.print(&#8220;?x00?y1&#8243;);              // cursor to first character of line 1<br />
delay(10);</p>
<p>printFloat(gpsdump(gps));<br />
Serial.print(&#8221; Miles&#8221;);</p>
<p>if (gpsdump(gps) &lt;= 0.10) {	//set this to the desired distance to target unlock &#8220;zone.&#8221;<br />
// Remember, you may have poor signal and get some drift in your location.</p>
<p>Serial.print(&#8220;?f&#8221;);                   // clear the LCD<br />
delay(10);<br />
Serial.print(&#8220;?x00?y0&#8243;);              // cursor to first character of line 0<br />
delay(10);<br />
Serial.println(&#8221; Success!!!&#8221;);<br />
myservo.write(160);                  // if we are close to the target location, open the lock<br />
delay(15000);                    // wait 15 seconds<br />
digitalWrite(offPin, HIGH);   // Sends the signal to the Pololu switch to turn off the arduino<br />
}<br />
else  {<br />
delay(60000);            // wait for 1 minute<br />
digitalWrite(offPin, HIGH);   // Sends the signal to the Pololu switch to turn off the arduino<br />
}<br />
}<br />
}<br />
}<br />
void printFloat(double number, int digits)	//this void sequence from the TinyGPS library</p>
<p>{<br />
// Handle negative numbers<br />
if (number &lt; 0.0)<br />
{<br />
Serial.print(&#8216;-&#8217;);<br />
number = -number;<br />
}</p>
<p>// Round correctly so that print(1.999, 2) prints as &#8220;2.00&#8243;<br />
double rounding = 0.5;<br />
for (uint8_t i=0; i 0)<br />
Serial.print(&#8220;.&#8221;);</p>
<p>// Extract digits from the remainder one at a time<br />
while (digits&#8211; &gt; 0)<br />
{<br />
remainder *= 10.0;<br />
int toPrint = int(remainder);<br />
Serial.print(toPrint);<br />
remainder -= toPrint;<br />
}<br />
}</p>
<p>float gpsdump(TinyGPS &amp;gps)</p>
<p>{</p>
<p>float flat, flon, d;<br />
unsigned long age, date, time, chars;  //look at using date and time as well for unlock conditions!</p>
<p>feedgps();</p>
<p>gps.f_get_position(&amp;flat, &amp;flon, &amp;age);      // look at using the age of the data to confirm how good the signal lock is.</p>
<p>/*<br />
Thanks to arduino forum member Alligator for this version of the Haversine formula for distance calculation<br />
*/</p>
<p>float delta_lat = radians(dest_latitude &#8211; flat);<br />
float delta_lon = radians(dest_longitude &#8211; flon);<br />
float a = square(sin(delta_lat/two)) + cos(radians (flat)) * cos(radians (dest_latitude)) * square(sin(delta_lon/two));<br />
float c = two * asin(sqrt(a));<br />
d = radius * c;<br />
return d;</p>
<p>}</p>
<p>bool feedgps()<br />
{<br />
while (nss.available())<br />
{<br />
if (gps.encode(nss.read()))<br />
return true;<br />
}<br />
return false;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=41</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Bitwise Operations Tutorial</title>
		<link>http://buildsomething.net/Projectblog/?p=39</link>
		<comments>http://buildsomething.net/Projectblog/?p=39#comments</comments>
		<pubDate>Wed, 30 Dec 2009 01:16:44 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=39</guid>
		<description><![CDATA[<p>I came across this wonderful tutorial today. evilmadscientist.com posted a link in their December linkdump.</p>
<p>If you find bitwise operations confusing, check it out. It sure cleared many things up for me.</p>
]]></description>
			<content:encoded><![CDATA[<p>I came across<a href="http://goanna.cs.rmit.edu.au/~stbird/Tutorials/BitwiseOps.html" target="_blank"> this wonderful tutorial</a> today. evilmadscientist.com posted a link in their December linkdump.</p>
<p>If you find bitwise operations confusing, check it out. It sure cleared many things up for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success!</title>
		<link>http://buildsomething.net/Projectblog/?p=38</link>
		<comments>http://buildsomething.net/Projectblog/?p=38#comments</comments>
		<pubDate>Mon, 14 Dec 2009 23:39:25 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=38</guid>
		<description><![CDATA[<p>The code is finished and everything works as advertised!</p>
<p>I&#8217;ll be documenting the build on Instructables in the days to come. Please stand by&#8230;..</p>
]]></description>
			<content:encoded><![CDATA[<p>The code is finished and everything works as advertised!</p>
<p>I&#8217;ll be documenting the build on Instructables in the days to come. Please stand by&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=38</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NewSoftSerial, Servo, and Arduino 017</title>
		<link>http://buildsomething.net/Projectblog/?p=37</link>
		<comments>http://buildsomething.net/Projectblog/?p=37#comments</comments>
		<pubDate>Sun, 13 Dec 2009 04:46:55 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino code]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=37</guid>
		<description><![CDATA[<p>After my initial joy of completing the distance to target code, imagine my frustration when I could not get a simple servo to function. I&#8217;d load my code and the servo would jump around like crazy for NO perceptible reason. </p>
<p>After hours of beating my head on the keyboard, I finally found the cause. Turns [...]]]></description>
			<content:encoded><![CDATA[<p>After my initial joy of completing the distance to target code, imagine my frustration when I could not get a simple servo to function. I&#8217;d load my code and the servo would jump around like crazy for NO perceptible reason. </p>
<p>After hours of beating my head on the keyboard, I finally found the cause. Turns out there is a conflict between NewSoftSerial and the Arduino 017 Servo library. This has to do with interrupts; a subject of which I know nothing.</p>
<p>The solution? Download Arduino 016, copy the Servo library to the Arduino 017 libraries folder, enjoy your functional code.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress&#8230;</title>
		<link>http://buildsomething.net/Projectblog/?p=34</link>
		<comments>http://buildsomething.net/Projectblog/?p=34#comments</comments>
		<pubDate>Sat, 12 Dec 2009 15:27:57 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=34</guid>
		<description><![CDATA[<p>I finally threw up my hands in frustration and contacted the creator of the GPS puzzle box, Mikal Hart. The problem was I trying to pull a value from a void statement. Mikal was very helpful and made a couple of suggestions to improve my code. All I had to do to get the code [...]]]></description>
			<content:encoded><![CDATA[<p>I finally threw up my hands in frustration and contacted the creator of the GPS puzzle box, Mikal Hart. The problem was I trying to pull a value from a void statement. Mikal was very helpful and made a couple of suggestions to improve my code. All I had to do to get the code to do what I wanted was change the void statement to a float instead. *smacks hand to forehead*</p>
<p>Beyond that, Mikal suggested I change the distance to target calculation I am using. He pointed out that over long distances the error to target location could be significant. I was aware of this problem, but hadn&#8217;t considered what would happen if I sent the box to someone over 1000 miles away. He pointed me to the <a href="http://www.maartenlamers.com/nmea/" target="_blank">NMEA library&#8217;s</a> distance_to function. However, I cannot get the <a href="http://www.maartenlamers.com/nmea/examples/gprmc_distance.txt" target="_blank">example code</a> to compile. Anyone else have any luck with this?</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pointers</title>
		<link>http://buildsomething.net/Projectblog/?p=31</link>
		<comments>http://buildsomething.net/Projectblog/?p=31#comments</comments>
		<pubDate>Tue, 01 Dec 2009 16:26:11 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino GPS puzzle c code]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=31</guid>
		<description><![CDATA[<p>As I am developing the puzzle box code, I find I do not fully understand the Tinygps library example code. The problem is the use of the &#8220;&#38;&#8221; symbol along with a variable name. It turns out this is a &#8220;pointer operator.&#8221;</p>
<p>Great.</p>
<p>What is it?</p>
<p>The arduino documentation says the following:</p>
<p>The pointer operators
&#38; (reference) and * (dereference)</p>
<p>Pointers [...]]]></description>
			<content:encoded><![CDATA[<p>As I am developing the puzzle box code, I find I do not fully understand the Tinygps library example code. The problem is the use of the &#8220;&amp;&#8221; symbol along with a variable name. It turns out this is a &#8220;pointer operator.&#8221;</p>
<p>Great.</p>
<p>What is it?</p>
<p>The arduino documentation says the following:</p>
<p><em>The pointer operators<br />
&amp; (reference) and * (dereference)</em></p>
<p><em>Pointers are one of the more complicated subjects for beginners in learning C, and it is possible to write the vast majority of Arduino sketches without ever encountering pointers. However for manipulating certain data structures, the use of pointers can simplify the code, and and knowledge of manipulating pointers is handy to have in one&#8217;s toolkit.</em></p>
<p>Great.</p>
<p>What is it?</p>
<p>So I turned to a trusty friend who just so happens to teach programming and his response was  much better.</p>
<p><em>&#8220;&#8230;When a value is passed to a function, a brand new variable is created and the value is copied to it. This protects the original value from any changes that might accidentally occur to the value. Occasionally, a programmer really does want to change the value of the original variable. In C, the programmer would pass the address of the variable in memory to the function and then access the variable through the memory. So the value copied was the location of the variable and not the variable itself.</em></p>
<p><em>The implementation in C was a little confusing, so C++ added the concept of reference variables. A reference variable is a way for the programmer to declare &#8220;I intend to alter the contents of this variable in a way that will alter the original variable passed.&#8221; The &amp; symbol is only used in declaring the intent in the function declaration. The variable may be used just as if it was the original. It does not need to have the same name. Think of the reference variable as an alias. I may call myself Daniel or Dan, but they both refer to me. When the function is complete, any changes made to the variable inside the function persist.</em></p>
<p><em>gps (variable in loop() function) &#8212;&#8212;&gt; location in memory &lt;&#8212;&#8211;gps (variable in gpsdump() function)</em></p>
<p><em>normally, without a reference variable it looks like this:</em></p>
<p><em>gps (variable in loop() function) &#8212;&#8212;&gt; location in memory &#8212;&#8212;-&gt; copied to new location in memory &lt;&#8212;&#8212; gps (variable in gpsdump() function)</em></p>
<p><em>To further complicate matters, the &amp; symbol is used to grab the address of any variable to store in a pointer and it is also used to perform bitwise &#8220;and&#8221; operation. For the purposes of reference variables, they will always and only occur in function declarations&#8230;.&#8221;</em></p>
<p>Got it? Me either, but I&#8217;m working on it.</p>
<p>P.S. Thanks for the help, Dan!</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My new Instructable</title>
		<link>http://buildsomething.net/Projectblog/?p=23</link>
		<comments>http://buildsomething.net/Projectblog/?p=23#comments</comments>
		<pubDate>Thu, 19 Nov 2009 15:44:01 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Instructables]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=23</guid>
		<description><![CDATA[<p>Using the Pololu Pushbutton Power Switch &#8211; More DIY How To Projects</p>
]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="425" align="middle"><param name="movie" value="http://www.instructables.com/static/flash/viewer.swf"></param><param name="quality" value="high"></param><param name="wmode" value="transparent"></param><param name="FlashVars" value="title=Using-the-Pololu-Pushbutton-Power-Switch"></param><embed src="http://www.instructables.com/static/flash/viewer.swf" quality="high" bgcolor="#ffffff" width="425" height="425" align="middle" allowScriptAccess="always" wmode="transparent" FlashVars="title=Using-the-Pololu-Pushbutton-Power-Switch" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br /><font size="1"><a href="http://www.instructables.com/id/Using-the-Pololu-Pushbutton-Power-Switch/">Using the Pololu Pushbutton Power Switch</a> &#8211; <a href="http://www.instructables.com/">More DIY How To Projects</a></font></p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=23</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting variation&#8230;</title>
		<link>http://buildsomething.net/Projectblog/?p=22</link>
		<comments>http://buildsomething.net/Projectblog/?p=22#comments</comments>
		<pubDate>Tue, 17 Nov 2009 18:12:29 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino GPS puzzle]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=22</guid>
		<description><![CDATA[<p>A comment on the GPS puzzle page got me thinking. The commenter talked about a magical box that could only be opened by the correct person, on the correct date, time, and place. Date, time and place could all be pulled from the GPS data. But how to make sure the correct person is opening [...]]]></description>
			<content:encoded><![CDATA[<p>A comment on the GPS puzzle page got me thinking. The commenter talked about a magical box that could only be opened by the correct person, on the correct date, time, and place. Date, time and place could all be pulled from the GPS data. But how to make sure the correct person is opening the box? RFID, fingerprint scanner, and passwords all come to mind. Each has particular positive and negative traits. Right now, RFID is looking the best and most affordable solution.</p>
<p>Still waiting for replacement parts&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=22</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setback</title>
		<link>http://buildsomething.net/Projectblog/?p=19</link>
		<comments>http://buildsomething.net/Projectblog/?p=19#comments</comments>
		<pubDate>Sat, 14 Nov 2009 17:35:11 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=19</guid>
		<description><![CDATA[<p>I was bread boarding and coding away at the coffee table in our living room when my wife arrived home with our kids. This would not have been an issue except they brought over two other neighborhood kids. I needed to move my project. </p>
<p>As I was getting everything out of the way (too quickly) [...]]]></description>
			<content:encoded><![CDATA[<p>I was bread boarding and coding away at the coffee table in our living room when my wife arrived home with our kids. This would not have been an issue except they brought over two other neighborhood kids. I needed to move my project. </p>
<p>As I was getting everything out of the way (too quickly) I suddenly saw a spark appear on the GPS module. As the magic blue smoke escaped I saw my dream of finishing this project this weekend float away.</p>
<p>Two new GPS units ordered from Sparkfun as well as a couple more Pololu switches. </p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easier than I thought</title>
		<link>http://buildsomething.net/Projectblog/?p=18</link>
		<comments>http://buildsomething.net/Projectblog/?p=18#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:43:01 +0000</pubDate>
		<dc:creator>youevolve</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Pololu arduino]]></category>

		<guid isPermaLink="false">http://buildsomething.net/Projectblog/?p=18</guid>
		<description><![CDATA[<p>The Pololu switch turned out to be much easier than I thought. Basically, you have voltage in, voltage out, and a control pin. Apply power to the voltage in and place your load on the voltage out. At this point you have a basic on/off switch. Press the button and the load is powered, press [...]]]></description>
			<content:encoded><![CDATA[<p>The Pololu switch turned out to be much easier than I thought. Basically, you have voltage in, voltage out, and a control pin. Apply power to the voltage in and place your load on the voltage out. At this point you have a basic on/off switch. Press the button and the load is powered, press again and it turns off.</p>
<p>Now use this to power up a microcontroller and run a wire from one of its pins to the control point of the Pololu switch (labeled OFF on the circuit board). Program your microcontroller to set that pin HIGH when you wish to power the unit down and you are done!</p>
<p>Here is an example sketch using the arduino pin 7 for control. Press the button to turn the arduino on, 30 seconds later it shuts off.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
//Pololu example code for the Arduino</p>
<p>int offPin = 7; // Pololu off line connected to digital pin 7;</p>
<p>void setup()<br />
{<br />
pinMode(offPin, OUTPUT);  // sets the digital pin as output</p>
<p>}</p>
<p>void loop()<br />
{<br />
delay(30000);            // wait for 30 seconds<br />
digitalWrite(offPin, HIGH);   // sends the signal to turn off the arduino</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://buildsomething.net/Projectblog/?feed=rss2&#038;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

