<?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>RobotGrrl.com &#187; tasks</title>
	<atom:link href="http://robotgrrl.com/blog/tag/tasks/feed/" rel="self" type="application/rss+xml" />
	<link>http://robotgrrl.com/blog</link>
	<description>ethical robots that bring smiles</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:05:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Friday Night Robotics &#8211; Portable&#8230; Fish.. Tank&#8230; Robot&#8230; ???</title>
		<link>http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/</link>
		<comments>http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 04:44:07 +0000</pubDate>
		<dc:creator>Erin, the RobotGrrl</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[blinkity blink]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[frisbee]]></category>
		<category><![CDATA[goal]]></category>
		<category><![CDATA[knee]]></category>
		<category><![CDATA[LED fish]]></category>
		<category><![CDATA[Lego NXT]]></category>
		<category><![CDATA[MANOI]]></category>
		<category><![CDATA[portable LED fish tank]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[tasks]]></category>
		<category><![CDATA[ultrasonic sensor]]></category>
		<category><![CDATA[walking]]></category>
		<category><![CDATA[water level]]></category>
		<category><![CDATA[zippy]]></category>

		<guid isPermaLink="false">http://robotgrrl.com/blog/?p=1456</guid>
		<description><![CDATA[This FNR I continued work on the blinky blink NXT LED fish! I added wheels to it, sensors, and the NXT brick. Basically, this now makes it a &#8216;portable fish tank robot&#8217;! The idea stemmed from the want to make a robot that can drive around on a table but not fall off. In particular, [...]]]></description>
			<content:encoded><![CDATA[<p>This FNR I continued work on the <a href="http://robotgrrl.com/blog/2009/10/11/friday-night-robotics-musicbox/">blinky blink NXT LED fish</a>! I added wheels to it, sensors, and the NXT brick. Basically, this now makes it a &#8216;portable fish tank robot&#8217;!</p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107550649/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2624/4107550649_14ebee3b7f.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The idea stemmed from the want to make a robot that can drive around on a table but not fall off. In particular, the table would be the table for the Autonomous Robotics Club at the admissions open house activity fair ^_^</p>
<p>Ultrasonic sensors are usually the best for this, since it depends on distance. Though, one could easily make a mechanism to trigger a touch sensor&#8230; or one could use a light sensor, but there is more possibility for error with a light sensor.</p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107553341/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2561/4107553341_c18f63005d.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The design right now has the ultrasonic sensor sticking out more that that, since it wasn&#8217;t far enough out&#8230; this means that sometimes the NXT couldn&#8217;t tell the motors to stop in time, and it would fall off the table.</p>
<p>The motors are geared to be fast, since I want it to be fast like a fish!</p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107553341/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2561/4107553341_c18f63005d.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The screen displays the &#8216;water level&#8217; for the LED fish. In the picture, it used a method of drawing the level line by line, but I later refined it so that it uses a rectangle, and increments 3 pixels more so that it&#8217;s noticable when one presses the button.</p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107551205/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2802/4107551205_ddec828d92.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The robot can zip around pretty quickly, which produces some interesting artsy stuff:</p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107551571/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2667/4107551571_8c893e8cb9.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The LED fish are on the back of the robot, and the speed of their blinks is determined by how much &#8216;food&#8217; they have. The more food, the more fast it is, the less food, the slower it is. When you press the button to feed the fish, it makes a bloop sound <img src='http://robotgrrl.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><center><a href="http://www.flickr.com/photos/robotgrrl/4107552331/" title="Portable Fish Tank Robot by RobotGrrl, on Flickr"><img src="http://farm3.static.flickr.com/2765/4107552331_0690066117.jpg" width="500" height="375" alt="Portable Fish Tank Robot" /></a></center></p>
<p>The LED fish is what makes this project. No one can resist the power of super-cute LED fish. They&#8217;re just so happy! <img src='http://robotgrrl.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><center><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/P-e4DG4yOfo&#038;hl=en_US&#038;fs=1&#038;color1=0x402061&#038;color2=0x9461ca&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/P-e4DG4yOfo&#038;hl=en_US&#038;fs=1&#038;color1=0x402061&#038;color2=0x9461ca&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></center></p>
<p>Here&#8217;s a video of the robot in action. It&#8217;s running the old program, but it&#8217;s all pretty much the same thing <img src='http://robotgrrl.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><center><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/SNCeXYk-N3c&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SNCeXYk-N3c&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></center></p>
<p>The code for this is pretty cool. The NXT can handle up to 10 different simultaneous tasks! I use this to check the sensors for food and water, drive the robot, and blink the LED fish at the same time. Now, I&#8217;m still experimenting with the code, which is why there are bugs, random functions, and no comments in it.</p>
<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co2">#pragma config(Sensor, S1, &nbsp; &nbsp; HTPB, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sensorI2CCustom9V)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#pragma config(Sensor, S2, &nbsp; &nbsp; sonicSensor, &nbsp; &nbsp; &nbsp; &nbsp; sensorSONAR)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#pragma config(Sensor, S3, &nbsp; &nbsp; touchSensor1, &nbsp; &nbsp; &nbsp; &nbsp; sensorTouch)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#pragma config(Sensor, S4, &nbsp; &nbsp; touchSensor2, &nbsp; &nbsp; &nbsp; &nbsp; sensorTouch)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//*!!Code automatically generated by &#8216;ROBOTC&#8217; configuration wizard &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !!*//</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; Crazy LEDs!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; Erin K</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; Oct. 9th, 2009</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#include &quot;drivers/common.h&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#include &quot;drivers/HTPB-driver.h&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">byte theLEDs<span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#123;</span> 0&#215;01<span class="sy0">,</span> 0&#215;02<span class="sy0">,</span> 0&#215;04<span class="sy0">,</span> 0&#215;08<span class="sy0">,</span> 0&#215;10<span class="sy0">,</span> 0&#215;20 <span class="br0">&#125;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> theTime <span class="sy0">=</span> <span class="nu0">50</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> theWaterLevel <span class="sy0">=</span> <span class="nu0">32</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> foodButton <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> waterButton <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> averageTouch1Level <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> averageTouch2Level <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> fishTank<span class="br0">&#40;</span><span class="kw4">int</span> theTime<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> drawWaterLevel<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> doSomething<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">task blinkFish<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; fishTank<span class="br0">&#40;</span>theTime<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">task checkFoodSensor<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>SensorValue<span class="br0">&#40;</span>touchSensor1<span class="br0">&#41;</span> <span class="sy0">==</span> 1<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; theTime<span class="sy0">-=</span><span class="nu0">10</span><span class="sy0">;</span> <span class="co1">// Make fish faster</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; PlaySoundFile<span class="br0">&#40;</span><span class="st0">&quot;bloop4.rso&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; wait1Msec<span class="br0">&#40;</span>1000<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">task checkWaterSensor<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>SensorValue<span class="br0">&#40;</span>touchSensor2<span class="br0">&#41;</span> <span class="sy0">==</span> 1<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; theWaterLevel<span class="sy0">+=</span><span class="nu0">3</span><span class="sy0">;</span> <span class="co1">// Add water</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; PlaySoundFile<span class="br0">&#40;</span><span class="st0">&quot;waterSPLASH.rso&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; wait1Msec<span class="br0">&#40;</span>1000<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">task drainWaterAndFood<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; wait1Msec<span class="br0">&#40;</span>5000<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// Wait 10 seconds</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; theTime <span class="sy0">+=</span> <span class="nu0">10</span><span class="sy0">;</span> <span class="co1">// Make fish slower</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; theWaterLevel <span class="sy0">-=</span> <span class="nu0">2</span><span class="sy0">;</span> <span class="co1">// Drain water</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> drawWaterLevel<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; eraseDisplay<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; nxtFillRect<span class="br0">&#40;</span>0<span class="sy0">,</span> theWaterLevel<span class="sy0">,</span> 99<span class="sy0">,</span> 0<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">task main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">// Setup all the digital IO ports as outputs (0xFF)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>HTPBsetupIO<span class="br0">&#40;</span>HTPB<span class="sy0">,</span> 0xFF<span class="br0">&#41;</span><span class="br0">&#41;</span> StopAllTasks<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; wait1Msec<span class="br0">&#40;</span>200<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; eraseDisplay<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; drawWaterLevel<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw4">float</span> averageSonicLevel <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span> i<span class="sy0">&lt;</span><span class="nu0">5</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;averageSonicLevel <span class="sy0">+=</span> SensorValue<span class="br0">&#40;</span>sonicSensor<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;wait1Msec<span class="br0">&#40;</span>500<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; averageSonicLevel <span class="sy0">/=</span> <span class="nu0">5</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; StartTask<span class="br0">&#40;</span>blinkFish<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; StartTask<span class="br0">&#40;</span>checkFoodSensor<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; StartTask<span class="br0">&#40;</span>checkWaterSensor<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; StartTask<span class="br0">&#40;</span>drainWaterAndFood<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw4">float</span> sonicThresh <span class="sy0">=</span> <span class="nu16">10.0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; bool driveMotors <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="br0">&#40;</span>SensorValue<span class="br0">&#40;</span>sonicSensor<span class="br0">&#41;</span> <span class="sy0">&gt;</span> <span class="br0">&#40;</span>averageSonicLevel<span class="sy0">-</span>sonicThresh<span class="br0">&#41;</span> <span class="sy0">||</span> SensorValue<span class="br0">&#40;</span>sonicSensor<span class="br0">&#41;</span> <span class="sy0">&lt;</span> <span class="br0">&#40;</span>averageSonicLevel<span class="sy0">+</span>sonicThresh<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; doSomething<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;motor<span class="br0">&#91;</span>motorB<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="sy0">-</span><span class="nu0">40</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;motor<span class="br0">&#91;</span>motorC<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="sy0">-</span><span class="nu0">40</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;wait1Msec<span class="br0">&#40;</span>1000<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; drawWaterLevel<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; alive<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> doSomethingIterations <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> doSomething<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; doSomethingIterations<span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; motor<span class="br0">&#91;</span>motorB<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">40</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; motor<span class="br0">&#91;</span>motorC<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">40</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; wait1Msec<span class="br0">&#40;</span>100<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> fishTank<span class="br0">&#40;</span><span class="kw4">int</span> theTime<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// LEDs going up</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span> i<span class="sy0">&lt;</span><span class="nu0">6</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>HTPBwriteIO<span class="br0">&#40;</span>HTPB<span class="sy0">,</span> theLEDs<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> nxtDisplayTextLine<span class="br0">&#40;</span><span class="nu0">5</span><span class="sy0">,</span> <span class="st0">&quot;ERR WRITE&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; wait1Msec<span class="br0">&#40;</span>theTime<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// LEDs going down</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i<span class="sy0">=</span><span class="nu0">5</span><span class="sy0">;</span> i<span class="sy0">&gt;=</span><span class="nu0">0</span><span class="sy0">;</span> i<span class="sy0">&#8211;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>HTPBwriteIO<span class="br0">&#40;</span>HTPB<span class="sy0">,</span> theLEDs<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> nxtDisplayTextLine<span class="br0">&#40;</span><span class="nu0">5</span><span class="sy0">,</span> <span class="st0">&quot;ERR WRITE&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; wait1Msec<span class="br0">&#40;</span>theTime<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Eventually, I want to have the robot able to drive around in a square (a big square) autonomously. The square is around one of the dorm buildings, so there&#8217;s brick walls, stairs, fences, and people to avoid. I think it would be cool because the square is just so confusing at first. You can walk around it 5 times, and still think that you have gone somewhere. </p>
<p>Since a lot of smart people do this, if a robot does it we could imply that it is smart! Bahaha! Logic prevails!</p>
<p>I mentioned that this was originally intended for the activities fair. I also had MANOI there, doing its handshake routine! It went really good. We had a good 15 people show interest, which is surprisingly more than the orchestra, and the tables adjacent to ARC.</p>
<p>But, the table got hit by a frisbee. (Yes, my robot got hit by a frisbee) So, thanks to the jerks at the frisbee club, they messed up MANOI&#8217;s other knee (the good one&#8211; or what was the good one). So now MANOI has two bad knees, and can&#8217;t walk. The goal that I just obtained got wrecked. By a frisbee. Frisbee sucks, really bad.</p>
<p>(so, don&#8217;t join frisbee club, they&#8217;re morons)</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F+http%3A%2F%2Fis.gd%2F3ufMcX" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/intent/tweet?text=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F+http%3A%2F%2Fis.gd%2F3ufMcX" title=" "> </a> <a class="tt" href="http://delicious.com/post?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a class="tt" href="http://delicious.com/post?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "> </a> <a class="tt" href="http://digg.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg.png" alt="Post to Digg" /></a> <a class="tt" href="http://digg.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "> </a> <a class="tt" href="http://www.facebook.com/share.php?u=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;t=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;t=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "> </a> <a class="tt" href="http://reddit.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/reddit/tt-reddit.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "> </a> <a class="tt" href="http://stumbleupon.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "><img class="nothumb" src="http://robotgrrl.com/blog/wp-content/plugins/tweet-this/icons/en/su/tt-su.png" alt="Post to StumbleUpon" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/&amp;title=Friday+Night+Robotics+%E2%80%93+Portable%E2%80%A6+Fish..+Tank%E2%80%A6+Robot%E2%80%A6+%3F%3F%3F" title=" "> </a></p></div>]]></content:encoded>
			<wfw:commentRss>http://robotgrrl.com/blog/2009/11/15/friday-night-robotics-portable-fish-tank-robot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

