<?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>Marginally Clever</title>
	<atom:link href="http://www.marginallyclever.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marginallyclever.com</link>
	<description>The first secret of success is &#039;Start&#039;.  The other is &#039;Finish&#039;.</description>
	<lastBuildDate>Fri, 18 May 2012 16:53:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Gimbal: related links</title>
		<link>http://www.marginallyclever.com/2012/05/gimbal-related-links/</link>
		<comments>http://www.marginallyclever.com/2012/05/gimbal-related-links/#comments</comments>
		<pubDate>Fri, 18 May 2012 16:53:55 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Gimbal]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[holonomic]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[omni]]></category>
		<category><![CDATA[related]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[ted]]></category>
		<category><![CDATA[wheel]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=876</guid>
		<description><![CDATA[http://www.ted.com/talks/peter_fankhauser_meet_rezero_the_dancing_ballbot.html http://en.wikipedia.org/wiki/Omni_wheel http://en.wikipedia.org/wiki/Ballbot http://stackoverflow.com/questions/3748037/how-to-control-a-kiwi-drive-robot http://en.wikipedia.org/wiki/Mecanum_wheel http://en.wikipedia.org/wiki/Holonomic#Robotics http://thinktank.wpi.edu/article/182 Remember, kids!  Do your homework and the rest is easy.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ted.com/talks/peter_fankhauser_meet_rezero_the_dancing_ballbot.html">http://www.ted.com/talks/peter_fankhauser_meet_rezero_the_dancing_ballbot.html</a></p>
<p><a href="http://en.wikipedia.org/wiki/Omni_wheel">http://en.wikipedia.org/wiki/Omni_wheel</a><br />
<a href="http://en.wikipedia.org/wiki/Ballbot">http://en.wikipedia.org/wiki/Ballbot</a><br />
<a href="http://stackoverflow.com/questions/3748037/how-to-control-a-kiwi-drive-robot">http://stackoverflow.com/questions/3748037/how-to-control-a-kiwi-drive-robot</a></p>
<p><a href="http://en.wikipedia.org/wiki/Mecanum_wheel">http://en.wikipedia.org/wiki/Mecanum_wheel</a><br />
<a href="http://en.wikipedia.org/wiki/Holonomic#Robotics">http://en.wikipedia.org/wiki/Holonomic#Robotics</a><br />
<a href="http://thinktank.wpi.edu/article/182">http://thinktank.wpi.edu/article/182</a></p>
<span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/gimbal-related-links/"><img src="http://img.youtube.com/vi/o-j9TReI1aQ/2.jpg" alt="" /></a></span>
<span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/gimbal-related-links/"><img src="http://img.youtube.com/vi/IlmKcohyXG0/2.jpg" alt="" /></a></span>
<p>Remember, kids!  Do your homework and the rest is easy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/gimbal-related-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gimbal: Off the shelf parts have arrived</title>
		<link>http://www.marginallyclever.com/2012/05/gimbal-off-the-shelf-parts-have-arrived/</link>
		<comments>http://www.marginallyclever.com/2012/05/gimbal-off-the-shelf-parts-have-arrived/#comments</comments>
		<pubDate>Wed, 16 May 2012 23:28:49 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Gimbal]]></category>
		<category><![CDATA[9dof]]></category>
		<category><![CDATA[mecanum]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[shield]]></category>
		<category><![CDATA[sparkfun]]></category>
		<category><![CDATA[wheel]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=872</guid>
		<description><![CDATA[I&#8217;ve also got an Arduino, some motor drivers, a 9DOF sensor, and a mess of wires. I&#8217;ll probably need at least one more trip to Lee&#8217;s for a few more bits and bobs and then I&#8217;ll be able to assemble the first test rig. Would you like to know more? Contact me or comment below.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.marginallyclever.com/wp-content/uploads/2012/05/IMG_1409.jpg"><img src="http://www.marginallyclever.com/wp-content/uploads/2012/05/IMG_1409-300x225.jpg" alt="" title="Mecanum wheels" width="300" height="225" class="aligncenter size-medium wp-image-873" /></a><br />
I&#8217;ve also got an Arduino, some motor drivers, a 9DOF sensor, and a mess of wires.  I&#8217;ll probably need at least one more trip to Lee&#8217;s for a few more bits and bobs and then I&#8217;ll be able to assemble the first test rig.</p>
<p>Would you like to know more?  <a href="http://www.marginallyclever.com/contact/" title="">Contact me</a> or comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/gimbal-off-the-shelf-parts-have-arrived/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delta Robot: Checking out the competition</title>
		<link>http://www.marginallyclever.com/2012/05/delta-robot-checking-out-the-competition/</link>
		<comments>http://www.marginallyclever.com/2012/05/delta-robot-checking-out-the-competition/#comments</comments>
		<pubDate>Tue, 15 May 2012 16:00:27 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Delta Robot]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[festo]]></category>
		<category><![CDATA[printed]]></category>
		<category><![CDATA[rostock]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=866</guid>
		<description><![CDATA[Rostock&#8217;s work just blows me away. Festo also has beautiful designs. Do you know of some other inspiring designs? Comment below!]]></description>
			<content:encoded><![CDATA[<p><span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/delta-robot-checking-out-the-competition/"><img src="http://img.youtube.com/vi/AYs6jASd_Ww/2.jpg" alt="" /></a></span><br />
<a href="http://forums.reprap.org/read.php?178,126584">Rostock&#8217;s work</a> just blows me away.</p>
<p><span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/delta-robot-checking-out-the-competition/"><img src="http://img.youtube.com/vi/txF78s-QczU/2.jpg" alt="" /></a></span><br />
Festo also has beautiful designs.</p>
<p>Do you know of some other inspiring designs?  Comment below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/delta-robot-checking-out-the-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Addressable LED strips for your funky lighting projects</title>
		<link>http://www.marginallyclever.com/2012/05/addressable-led-strips-for-your-funky-lighting-projects/</link>
		<comments>http://www.marginallyclever.com/2012/05/addressable-led-strips-for-your-funky-lighting-projects/#comments</comments>
		<pubDate>Mon, 14 May 2012 19:50:47 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[6803]]></category>
		<category><![CDATA[addressable]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[Burning Man]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[lights]]></category>
		<category><![CDATA[LPD6803]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[strip]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=864</guid>
		<description><![CDATA[These babies are run from an Arduino which means they can be made to react to their environment. Want to add a clapper? Change the colors based on who is in the room? Show the traffic on your WAN as a decibel meter? Strips can be cut and soldered to make different patterns, or flexed [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/addressable-led-strips-for-your-funky-lighting-projects/"><img src="http://img.youtube.com/vi/IRdG54fpPHQ/2.jpg" alt="" /></a></span><br />
These babies are run from an Arduino which means they can be made to react to their environment.  Want to add a clapper?  Change the colors based on who is in the room?  Show the traffic on your WAN as a <a href="http://cdn2.staztic.com/screenshots/simple-volume-decibel-meter-18-2.jpg" target="_blank">decibel meter</a>?  Strips can be cut and soldered to make different patterns, or flexed in different directions to wrap around shapes.</p>
<p>$300+S&#038;H.  Comes with 5m strip, 12v5a power supply, Arduino UNO, wiring diagram, and software (via download).  Custom programming services extra.  <a href="http://www.marginallyclever.com/contact/" title="">Contact me</a> and lets light up your life.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/addressable-led-strips-for-your-funky-lighting-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gimbal: Updated design</title>
		<link>http://www.marginallyclever.com/2012/05/gimbal-updated-design/</link>
		<comments>http://www.marginallyclever.com/2012/05/gimbal-updated-design/#comments</comments>
		<pubDate>Sun, 13 May 2012 16:25:47 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Gimbal]]></category>
		<category><![CDATA[balance]]></category>
		<category><![CDATA[ball]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[gimbal]]></category>
		<category><![CDATA[japanese]]></category>
		<category><![CDATA[mecanum]]></category>
		<category><![CDATA[motion control]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=856</guid>
		<description><![CDATA[Malcolm, a talented local artist and director of the New Forms Festival came to me and asked if I could make a camera gimbal.  Can I ever!  I struggled with simplifying the old design for several days before deciding I needed to go back and do my homework.  Then I remembered this video The original [...]]]></description>
			<content:encoded><![CDATA[<p>Malcolm, a talented local artist and director of the <a href="http://www.newformsfestival.com">New Forms Festival</a> came to me and asked if I could make a camera gimbal.  Can I ever!  I struggled with simplifying the old design for several days before deciding I needed to go back and do my homework.  Then I remembered this video</p>
<span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/gimbal-updated-design/"><img src="http://img.youtube.com/vi/bI06lujiD7E/2.jpg" alt="" /></a></span>
<p>The original developers were balancing a robot on a ball.  &#8230;but notice the first 15 seconds when the robot is upside down and just turning the ball?  That&#8217;s exactly what I&#8217;m looking for, and almost all the parts are off the shelf.  So I went back to the drawing board and came up with this</p>
<p><a href="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-06-gimbal.jpg"><img class="aligncenter size-medium wp-image-857" title="2012-05-06 gimbal" src="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-06-gimbal-300x274.jpg" alt="" width="300" height="274" /></a></p>
<p>The ball in the center is a glass lamp shade.  I&#8217;m going to add an X-shaped camera mount inside the globe.  The Mecanum wheels can turn the globe any way I choose.  I&#8217;m going to put a little 9DOF sensor inside so the Arduino can keep track of the ball&#8217;s orientation and adjust it accordingly.</p>
<p>Parts have been ordered, delivery is pending, and this thing should start being assembled in the next few days.</p>
<p>Also, I&#8217;m working a little bit every week to improve the website.  Is it getting better?  You tell me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/gimbal-updated-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drawbot: Added Traveling Salesman Problem and Gcode generation</title>
		<link>http://www.marginallyclever.com/2012/05/drawbot-added-traveling-salesman-problem-and-gcode-generation/</link>
		<comments>http://www.marginallyclever.com/2012/05/drawbot-added-traveling-salesman-problem-and-gcode-generation/#comments</comments>
		<pubDate>Sun, 13 May 2012 04:44:49 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Drawbot]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[greedy]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[salesman]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[traveling]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=840</guid>
		<description><![CDATA[On the whole I&#8217;m feeling very good about today.  Here&#8217;s a little before and after. Click for a larger version. The image on the left is the result after 20 minutes of calculating in Java with a &#8220;Greedy&#8221; TSP solution. Once it finishes generating the lines it saves it all to a gcode file.  I [...]]]></description>
			<content:encoded><![CDATA[<p>On the whole I&#8217;m feeling very good about today.  Here&#8217;s a little before and after. Click for a larger version.<br />
<a href="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-12.jpg"><img class="aligncenter size-medium wp-image-841" title="2012-05-12" src="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-12-300x159.jpg" alt="" width="300" height="159" /></a><br />
The image on the left is the result after 20 minutes of calculating in Java with a <a href="http://lcm.csa.iisc.ernet.in/dsa/node186.html">&#8220;Greedy&#8221; TSP solution</a>. Once it finishes generating the lines it saves it all to a gcode file.  I wrote this in about two hours with long breaks to think while I pulled weeds and mowed. It&#8217;s brutally stupid code that works. It&#8217;s not ready for production yet because it doesn&#8217;t meet my standards in two important ways:</p>
<ul>
<li>Lines cross over each other.</li>
<li>I need to store information about every single possible pair of points to run my algorithm.  This eats a all the memory Java has access to, and forces me to resize images to ~250 pixels<sup>2</sup>.</li>
</ul>
<p><a href="http://i.imgur.com/21tJg.png">Here is evidence</a> of a solution from MakerBlock that doesn&#8217;t have either of these problems.  I haven&#8217;t deciphered the python to figure out what they&#8217;re doing&#8230;.yet.  I&#8217;d like to be able to convert huge pictures in a few clicks with a nice progress bar.</p>
<p>On a less happy note, my Macbook Pro has finally given up the ghost and I can&#8217;t afford to replace it.  My next development machine will probably be a Mac and I&#8217;ll be working a lot more in Java.  I&#8217;m really falling in love with it&#8217;s many (many) time saving features.</p>
<p>Have you got pseudocode for a better TSP solver?  Please share in the comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/drawbot-added-traveling-salesman-problem-and-gcode-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drawbot: added Floyd/Steinberg dithering</title>
		<link>http://www.marginallyclever.com/2012/05/drawbot-added-floydsteinberg-dithering/</link>
		<comments>http://www.marginallyclever.com/2012/05/drawbot-added-floydsteinberg-dithering/#comments</comments>
		<pubDate>Sat, 12 May 2012 00:49:53 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Drawbot]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[dithering]]></category>
		<category><![CDATA[floyd]]></category>
		<category><![CDATA[greyscale]]></category>
		<category><![CDATA[halftone]]></category>
		<category><![CDATA[size to fit]]></category>
		<category><![CDATA[steinberg]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=835</guid>
		<description><![CDATA[A big challenge with the drawbot is that it&#8217;s still really hard to use. Wouldn&#8217;t it be great if you could just load a picture and click start? Well soon you will. Here&#8217;s the plan: - load a picture (done) - make it greyscale (done) - dither it to a set of points (done) - [...]]]></description>
			<content:encoded><![CDATA[<p>A big challenge with the <a href="http://www.github.com/i-make-robots/drawbot/" title="">drawbot</a> is that it&#8217;s still really hard to use.  Wouldn&#8217;t it be great if you could just load a picture and click start?  Well soon you will.</p>
<p>Here&#8217;s the plan:<br />
- load a picture (done)<br />
- make it greyscale (done)<br />
- dither it to a set of points (done)<br />
- connect the dots in a single line aka the <a href="http://www.tsp.gatech.edu/">traveling salesman problem</a>.<br />
- generate gcode<br />
- send gcode to robot</p>
<p>Here&#8217;s a sample of what I&#8217;ve got so far:</p>
<p><a href="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-11.jpg"><img src="http://www.marginallyclever.com/wp-content/uploads/2012/05/2012-05-11.jpg" alt="" title="2012-05-11" width="648" height="949" class="alignnone size-full wp-image-836" /></a></p>
<p>(Poster by <a href="http://www.ollymoss.com/">Olly Moss</a>.)</p>
<p>Should I give people the power to change the picture size before starting OR should the picture automatically fit the picture to the drawing area (without stretching)?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/drawbot-added-floydsteinberg-dithering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drawbot: checking out the competition 2</title>
		<link>http://www.marginallyclever.com/2012/05/drawbot-checking-out-the-competition-2/</link>
		<comments>http://www.marginallyclever.com/2012/05/drawbot-checking-out-the-competition-2/#comments</comments>
		<pubDate>Wed, 09 May 2012 21:03:14 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[as220]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[drawbot]]></category>
		<category><![CDATA[drawing machine]]></category>
		<category><![CDATA[muralizer]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=797</guid>
		<description><![CDATA[I&#8217;m finding all kinds of drawbots that I missed the first time around. Let me know if you find any others. http://www.as220.org/labs/drawbot/ http://www.muralizer.com/blog/ http://www.unanything.com/ Note to self: go back and categorize these, find out if there&#8217;s any feature my machine doesn&#8217;t have.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finding all kinds of drawbots that I missed the first time around.  Let me know if you find any others.</p>
<p>http://www.as220.org/labs/<a href="http://www.github.com/i-make-robots/drawbot/" title="">drawbot</a>/</p>
<p>http://www.muralizer.com/blog/</p>
<p>http://www.unanything.com/</p>
<p>Note to self: go back and categorize these, find out if there&#8217;s any feature my machine doesn&#8217;t have.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/drawbot-checking-out-the-competition-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ottersoft makes 3D printed gearboxes</title>
		<link>http://www.marginallyclever.com/2012/05/ottersoft-makes-3d-printed-gearboxes/</link>
		<comments>http://www.marginallyclever.com/2012/05/ottersoft-makes-3d-printed-gearboxes/#comments</comments>
		<pubDate>Mon, 07 May 2012 16:09:11 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[3D printer]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=831</guid>
		<description><![CDATA[Ottersoft also does hypocycloids. I can&#8217;t wait! I&#8217;ll be customer #1 when they&#8217;re ready for sale.]]></description>
			<content:encoded><![CDATA[<p><span style="text-align:center; display: block;"><a href="http://www.marginallyclever.com/2012/05/ottersoft-makes-3d-printed-gearboxes/"><img src="http://img.youtube.com/vi/gpklgQKEinE/2.jpg" alt="" /></a></span><br />
Ottersoft also does hypocycloids.  I can&#8217;t wait!  I&#8217;ll be customer #1 when they&#8217;re ready for sale.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/ottersoft-makes-3d-printed-gearboxes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drawbot: Automatic Calibration Update</title>
		<link>http://www.marginallyclever.com/2012/05/drawbot-automatic-calibration-update/</link>
		<comments>http://www.marginallyclever.com/2012/05/drawbot-automatic-calibration-update/#comments</comments>
		<pubDate>Fri, 04 May 2012 16:00:52 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Drawbot]]></category>
		<category><![CDATA[adafruit]]></category>
		<category><![CDATA[drawbot]]></category>
		<category><![CDATA[EAGLE]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[shield]]></category>
		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://www.marginallyclever.com/?p=822</guid>
		<description><![CDATA[I had it stuck in my head that I needed to use digital pins to read the value of the switches. On Thursday I downloaded the Adafruit Motor Shield EAGLE schematic and layout files and started reading, only to discover that the empty holes on one corner of the board are intended for analog sensors.  [...]]]></description>
			<content:encoded><![CDATA[<p>I had it stuck in my head that I needed to use digital pins to read the value of the switches. On Thursday I downloaded the <a href="http://www.adafruit.com/products/81">Adafruit Motor Shield </a>EAGLE <a href="http://www.ladyada.net/make/mshield/AF_mshield-v1.sch" target="_blank">schematic</a> and <a href="http://www.ladyada.net/make/mshield/AF_mshield-v1.brd" target="_blank">layout</a> files and started reading, only to discover that the empty holes on one corner of the board are intended for analog sensors.  In about an hour I got the switches and the auto-calibration code written &#038; tested.  Victory!</p>
<p>To add the limit switches to your <a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a>, you will need:</p>
<ul>
<li>some female headers</li>
<li>a soldering iron</li>
<li>two limit switches</li>
<li>2 two-foot lengths of wire in red</li>
<li>2 two-foot lengths of wire in black</li>
<li>2 two-foot lengths of wire in green</li>
</ul>
<ol>
<li>The headers I got came in a 20-pack.  I only needed the sets of three so i cut with some pliers and filed them down.</li>
<li>Unplug your <a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a> completely.  Remove the shield from the Arduino.  You may find it easier to remove the stepper wires, too.</li>
<li>In one corner of the motor shield you will see white letters that say &#8220;+5/GND/A0-5&#8243;.  You want to solder one set of pins into each of the three holes on the right.  I use a set of helping hands to hold the board sideways, then placed the +5 triplet in first.  After soldering it in place I repeated the process with the GND and then the A3/A4/A5 pins.</li>
<li>I soldered one red, one black, and one green wire to a switch.  The green is soldered to the C pin that connects to A5.  The red is soldered to NC which is connected to +5V.  The black is soldered to NO which is connected to GND.  This is now my right limit switch.</li>
<li>I soldered one red, one black, and one green wire to the other switch.  The green is soldered to the C pin that connects to A3.  The red is soldered to NC which is connected to +5V.  The black is soldered to NO which is connected to GND.  This is now my left limit switch.</li>
<li>Grab a copy of the experimental branch from Github.</li>
<li>Reassemble &amp; connect your <a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a>.</li>
<li>Test your limit switch to make sure you solder it in the correct way using the sketch in the download package @ ./arduino/test_switch/test_switch.ino.  The limit switches are wired as &#8220;on&#8221; by default &#8211; when the switch is hit they turn off and the machine thinks it has made contact.  If you have no switch or a bad connection the machine will think you are touching the switch already.  You should only see one message from each switch when they are pressed or released.  Any more and the switches are &#8220;debouncing&#8221; which will require a breadboard and some 10k resistors to fix.</li>
<li>Upload the new <a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a> code (./Arduino/arduino.ino) code to your <a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a>.</li>
<li>Either
<ul>
<li>Type &#8220;HOME;&#8221; in the serial window or</li>
<li>Choose &#8220;HOME&#8221; in the Java app</li>
</ul>
<p><a href="http://www.github.com/i-make-robots/drawbot/" title="">Drawbot</a> motors should begin to move the plotter towards the left motor.  When the left limit switch is touched it will reverse direction and move until it touches the right limit switch.  Now the robot knows exactly how much string has been released and it can move the plotter to the (0,0) position automatically.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.marginallyclever.com/2012/05/drawbot-automatic-calibration-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.marginallyclever.com @ 2012-05-18 16:46:58 -->
