<?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>ArduinoFun.com Blog &#187; Arduino</title>
	<atom:link href="http://arduinofun.com/blog/index.php/tag/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>http://arduinofun.com/blog</link>
	<description>- Think It - Build It - Share It -</description>
	<lastBuildDate>Thu, 01 Apr 2010 22:39:59 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CoasterBot Part I</title>
		<link>http://arduinofun.com/blog/2010/04/01/coasterbot-part-i/</link>
		<comments>http://arduinofun.com/blog/2010/04/01/coasterbot-part-i/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 22:27:16 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Project Files]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Project]]></category>
		<category><![CDATA[Arduino Robot]]></category>
		<category><![CDATA[coasterbot]]></category>
		<category><![CDATA[jameco]]></category>
		<category><![CDATA[make zine]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=462</guid>
		<description><![CDATA[Jameco and Make Zine are holding a contest to build a &#8220;CoasterBot,&#8221; a mini robot development platform using CD/DVD media as the main body components. I signed up, and this will be my first post documenting my progress. I have my chassis ready so far, and plan to use my Arduino.
In the Make: Robot build newsletter [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jameco.com/Jameco/PressRoom/makerobotbuild.html?CID=HPRBBannerA" target="_blank">Jameco</a> and <a href="http://makezine.com/robotbuild/" target="_blank">Make Zine</a> are holding a contest to build a &#8220;CoasterBot,&#8221; a mini robot development platform using CD/DVD media as the main body components. I signed up, and this will be my first post documenting my progress. I have my chassis ready so far, and plan to use my Arduino.</p>
<p>In the Make: Robot build newsletter #3, <a href="http://kurtsrobotbuild.blogspot.com/" target="_blank">Kurt Meredith</a> was mentioned for his idea of thermoforming a CD. After viewing his blog, it gave me the idea to try using a hot air gun to bend the CD for my robot chassis.</p>
<p><img class="alignleft size-medium wp-image-463" title="Hot Air bending a CD" src="http://arduinofun.com/blog/wp-content/uploads/2010/04/100_2160-300x225.jpg" alt="Hot Air bending a CD" width="300" height="225" />I had two different CD&#8217;s, one was a TDK that had gold paint on it. This one folded over nicely, but the paint is now peeling on it. The other was some no name brand with no paint. Once I heated it up, it folded over but I could also hear some cracking. I broke a corner, but was able to fit it back by melting the two pieces together. Once I had both CDs folded the way I wanted them, I used some strong glue and stuck them together so that I had two sides to mount my servos to.</p>
<p><img class="alignleft size-medium wp-image-465" title="CoasterBot chassis" src="http://arduinofun.com/blog/wp-content/uploads/2010/04/100_2173-300x225.jpg" alt="CoasterBot chassis" width="300" height="225" />After the glue was dry, I was not happy with the rounded front and back, so took a Dremel to them and squared it off. The chassis seems fairly sturdy but I don&#8217;t think it would hold much weight without cracking my bends. I ran a bead of glue on the underside to help with this (I hope). I should have measured where I was going to place the servos and drilled those out first, but I wasn&#8217;t thinking that far ahead <img src='http://arduinofun.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>What I wound up doing was taking an old soldering iron, drawing out my holes and servo mounting areas and then burning them away. It worked, but it is kind of ugly. I was able to file down a lot of the areas so they were fairly smooth.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2010%2F04%2F01%2Fcoasterbot-part-i%2F&amp;linkname=CoasterBot%20Part%20I"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2010/04/01/coasterbot-part-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DIY RGB Ambient Lamp Kit</title>
		<link>http://arduinofun.com/blog/2010/02/08/diy-rgb-ambient-lamp-kit/</link>
		<comments>http://arduinofun.com/blog/2010/02/08/diy-rgb-ambient-lamp-kit/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 04:06:08 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Project Files]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Clone]]></category>
		<category><![CDATA[Eagle Cad]]></category>
		<category><![CDATA[Lifelong Labs]]></category>
		<category><![CDATA[RGB Lamp]]></category>
		<category><![CDATA[RGB LED]]></category>
		<category><![CDATA[StackDuino]]></category>
		<category><![CDATA[Workshops]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=430</guid>
		<description><![CDATA[My new kit uses an Arduino clone that I designed that I am calling &#8220;StackDuino&#8221;. For this project I designed an RGB Led board that displays various colors. The RGB board screws on top of the StackDuino.
This kit will be home brew. I will be posting the Eagle Board files shortly for anyone interested.
We are [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_433" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-433" title="RGB Lamp Kit" src="http://arduinofun.com/blog/wp-content/uploads/2010/02/100_1964-300x225.jpg" alt="RGB Lamp Kit" width="300" height="225" /><p class="wp-caption-text">RGB Lamp Kit</p></div>
<p style="text-align: left;">My new kit uses an Arduino clone that I designed that I am calling &#8220;StackDuino&#8221;. For this project I designed an RGB Led board that displays various colors. The RGB board screws on top of the StackDuino.</p>
<p>This kit will be home brew. I will be posting the Eagle Board files shortly for anyone interested.</p>
<p>We are in the process of setting up a new creative space in Columbus, OH called Lifelong Labs (<a href="http://www.lifelonglabs.com">http://www.lifelonglabs.com</a>) and this will be one of the first project that we work on. We should be fully operational by March.</p>
<p>Lifelong Labs provide “all ages” instructional workshops that explore the intersection of art &amp; technology.  An organization created to engage enthusiast and the general public with artistic works intertwined with scientific and technological elements.<span id="more-430"></span></p>
<p>Our mission is to provide a fun atmosphere for learning that the whole family can enjoy!</p>
<p>Below are a few photos of the RGb Lamp. This is an open source kit, you are welcome to improve upon it. If you add to the design, please send me some photos so I can display them here.</p>
<p>The kit will come with the StackDuino board, RGB LED board, recycled cardboard box and battery holder. I will also be including some files to you get started with creating a simple origami box to use for the lamp shade.</p>
<p><a href="http://www.youtube.com/ArduinoFun#p/u/0/q7czBKdZ99k">YouTube Video of Lamp</a></p>
<p>The Arduino code is by Earthshine Design and can be <a href="http://earthshinedesign.co.uk/ASKManual/ASKManual.pdf">downloaded here</a>.</p>
<div id="attachment_434" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-434" title="StackDuino with RGB LED Board" src="http://arduinofun.com/blog/wp-content/uploads/2010/02/100_1889-300x225.jpg" alt="StackDuino with RGB LED Board" width="300" height="225" /><p class="wp-caption-text">StackDuino with RGB LED Board</p></div>
<p>a few photos of the lamp in action to show some of the colors&#8230;</p>
<div id="attachment_435" class="wp-caption alignleft" style="width: 235px"><img class="size-medium wp-image-435" title="RGB Lamp with simple paper shade" src="http://arduinofun.com/blog/wp-content/uploads/2010/02/100_1925-225x300.jpg" alt="RGB Lamp with simple paper shade" width="225" height="300" /><p class="wp-caption-text">RGB Lamp with simple paper shade</p></div>
<div id="attachment_436" class="wp-caption alignleft" style="width: 235px"><img class="size-medium wp-image-436" title="RGB Lamp with simple paper shade" src="http://arduinofun.com/blog/wp-content/uploads/2010/02/100_1927-225x300.jpg" alt="RGB Lamp with simple paper shade" width="225" height="300" /><p class="wp-caption-text">RGB Lamp with simple paper shade</p></div>
<div id="attachment_437" class="wp-caption alignleft" style="width: 235px"><img class="size-medium wp-image-437" title="RGB Lamp with simple paper shade" src="http://arduinofun.com/blog/wp-content/uploads/2010/02/100_1933-225x300.jpg" alt="RGB Lamp with simple paper shade" width="225" height="300" /><p class="wp-caption-text">RGB Lamp with simple paper shade</p></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2010%2F02%2F08%2Fdiy-rgb-ambient-lamp-kit%2F&amp;linkname=DIY%20RGB%20Ambient%20Lamp%20Kit"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2010/02/08/diy-rgb-ambient-lamp-kit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contest Winners</title>
		<link>http://arduinofun.com/blog/2010/01/08/contest-winners/</link>
		<comments>http://arduinofun.com/blog/2010/01/08/contest-winners/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 00:36:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=419</guid>
		<description><![CDATA[The winners for the Fun with Arduino contest are&#8230; drum roll please&#8230;.
1st Place &#8211; Joylite Maze
2nd Place &#8211; io Bridge Internet Controlled Christmas Lights
3rd Place &#8211; LED Cube
Honorable Mention: 

Secret Knock Detecting Door Lock
7 Segment Display
( I am going to put together something for a prize for the Honorable Mention)

Thank you everyone who participated. We [...]]]></description>
			<content:encoded><![CDATA[<p>The winners for the Fun with Arduino contest are&#8230; drum roll please&#8230;.</p>
<p><strong>1st Place</strong> &#8211; <a href="http://arduinofun.com/blog/2009/12/31/joylite-maze-build-it/">Joylite Maze</a></p>
<p><strong>2nd Place</strong> &#8211; <a href="http://arduinofun.com/blog/2009/12/21/arduinoiobridge-internet-controlled-christmas-lights-and-music-show-build-it/">io Bridge Internet Controlled Christmas Lights</a></p>
<p><strong>3rd Place</strong> &#8211; <a href="http://arduinofun.com/blog/2009/12/02/led-cube-and-arduino-lib-build-it/">LED Cube</a></p>
<p><strong>Honorable Mention: </strong><strong><br />
</strong></p>
<p><a href="http://arduinofun.com/blog/2009/11/02/secret-knock-detecting-door-lock-build-it/">Secret Knock Detecting Door Lock</a></p>
<p><a href="http://arduinofun.com/blog/2009/12/06/connecting-a-7-segment-led-to-the-arduino-build-it/">7 Segment Display</a></p>
<p>( I am going to put together something for a prize for the Honorable Mention)<strong><br />
</strong></p>
<p>Thank you everyone who participated. We really enjoyed seeing all your projects. We plan to have more contest in the near future. I will be in touch with each of the winners over the weekend to get your address.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2010%2F01%2F08%2Fcontest-winners%2F&amp;linkname=Contest%20Winners"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2010/01/08/contest-winners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Herbert The Beginner&#8217;s Robot (Build It!)</title>
		<link>http://arduinofun.com/blog/2010/01/01/herbert-the-beginners-robot-build-it/</link>
		<comments>http://arduinofun.com/blog/2010/01/01/herbert-the-beginners-robot-build-it/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 14:55:36 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[386 audio amplifier circuits]]></category>
		<category><![CDATA[555 timer]]></category>
		<category><![CDATA[Adafruit Minty Boost]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Robot]]></category>
		<category><![CDATA[Arduino Tutorial]]></category>
		<category><![CDATA[Darlington transistors]]></category>
		<category><![CDATA[micro-controller]]></category>
		<category><![CDATA[Parallax Ping Sonar]]></category>
		<category><![CDATA[Parallax Ping ultrasonic sensor]]></category>
		<category><![CDATA[Pololu Qik 2s9v1 Dual Serial Motor Controllers]]></category>
		<category><![CDATA[PWM]]></category>
		<category><![CDATA[Solarbotics GM13a 150:1 mini metal gear motors]]></category>
		<category><![CDATA[transistor circuit]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=388</guid>
		<description><![CDATA[Contest entry by Annie (note: was submitted within the deadline, I wasn&#8217;t able to add to the blog until today)
In September of 2009 I found myself in a learning mood.  Throughout my life I have been fascinated by everything: science, math, history&#8230;you name it, I love to know about it.  In September I decided I [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_389" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-389" title="Lil Herbert" src="http://arduinofun.com/blog/wp-content/uploads/2010/01/LilHerbertCloseup_0001-300x225.jpg" alt="Lil Herbert - Beginner Robot" width="300" height="225" /><p class="wp-caption-text">Lil Herbert - Beginner Robot</p></div>
<p>Contest entry by <a href="http://www.youtube.com/profile?user=AnnieNakki#g/u">Annie</a> (note: was submitted within the deadline, I wasn&#8217;t able to add to the blog until today)</p>
<p>In September of 2009 I found myself in a learning mood.  Throughout my life I have been fascinated by everything: science, math, history&#8230;you name it, I love to know about it.  In September I decided I was going to brush up on my electronics knowledge and see where it would take me.  I had studied electronics at a tech school during the 90s and I&#8217;d grown up in Silicon Valley so I wasn&#8217;t completely new to the endeavor.  But upon graduation from the tech program I immediately began working on computer network support and Key System/PBX telephone system programming rather than the nitty gritty world of capacitors, resistors and ICs and found my understanding of it all both fading and lacking. <span id="more-388"></span></p>
<p>As I practiced building little 555 timer and 386 audio amplifier circuits, I soaked in as much information as I could from forums and online electronics articles.  It was then that I began hearing   about something called Arduino.  Arduino?  What, pray tell, is an Arduino?</p>
<p>A pizza, perhaps?  As in &#8220;I&#8217;ll have a large pepperoni and Arduino with extra cheese!&#8221;  No, that wasn&#8217;t it.  Arduino&#8230;hmmmm.</p>
<p>A new Italian sports car?  &#8220;The new 2010 Arduino Coupe, 0 to 60 in 200 microseconds&#8221; (Of course with a little disclaimer at the bottom explaining that the Arduino driver is a pro, so kiddies, don&#8217;t try this at home!).  Well, that wasn&#8217;t it either.</p>
<p>A quick search of Wikipedia and then Amazon was my road to Damascus. I had found a microcontroller that was cheap, extremely easy to learn, a massive open-source community to hold my hand as I dipped my pinky toe into the microcontroller waters, and a seemingly unending variety of applications and add-ons.  By October 9th I had my first Arduino.  A Duemilanove.  It was (and still is) a thing of beauty in my eyes.</p>
<p>After a week of the usual &#8220;Hello World&#8221; blinking LED type projects, I decided I needed a long term project to build upon and to hone my skills.  Thus, Herbert was born.</p>
<p>Herbert started out with a discussion I had with my mom.  I was thinking of  some goals to set to help me learn all of the different aspects of micro-controller use.  I wanted to learn to write code.  I wanted to continue my work designing and building circuits.  I wanted to practice my soldering skills.  A robot project was the answer!</p>
<p><strong>The goals for Herbert were these:</strong></p>
<ul>
<li>Start from scratch.  To really understand the workings of Herbert I needed to build him from the ground up, no ready-made kits.</li>
<li>Have the Arduino control his movement; he must start out with simple forward, backward and turning motions autonomously.</li>
<li>Add sensors to let Herbert see the world.  His first sensor is a Parallax Ping ultrasonic sensor, but eventually he will have many different types.</li>
<li>Through code of my own creation, have Herbert avoid collisions by turning, stopping or reversing.  I felt it was important for my educational development to create my own code rather than borrow someone else&#8217;s.  I have seen some fancy avoidance programming out there that I admire greatly.  But I knew if I didn&#8217;t start from scratch I would miss out on the joys of failure.</li>
</ul>
<p>Have Herbert be a long range project.  I decided that he could be open ended.  As I solve one set of obstacles, I can move on and add new features.  Someday Herbert will talk, tell me the weather, read me my email and play songs off my computer for me.  It&#8217;s all just one step at a time.</p>
<p style="text-align: left;"><strong>The Basics</strong></p>
<div id="attachment_391" class="wp-caption alignleft" style="width: 201px"><img class="size-full wp-image-391" title="Robot Chassis" src="http://arduinofun.com/blog/wp-content/uploads/2010/01/ss1.jpg" alt="Robot Chassis" width="191" height="177" /><p class="wp-caption-text">Robot Chassis</p></div>
<p>I started building in late October.  I received an early Christmas present in the form of 4 motors, 4 wheels and a chassis.  I decided to  focus on a pulse width modulation circuit design to control the  independent speed of each motor.  After much studying on the web,   I built a circuit with 4 Darlington transistors to control the current   through the motors with the Arduino pins controlling the current  through each motor.  In addition, I added 4 reversed biased diodes to      protect the Arduino pins from kick-back voltage.</p>
<div id="attachment_393" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-393" title="Schematic" src="http://arduinofun.com/blog/wp-content/uploads/2010/01/ss2-300x123.jpg" alt="Schematic" width="300" height="123" /><p class="wp-caption-text">Schematic</p></div>
<p>This circuit worked great for my first foray across the living room floor.  I could change the motor speed by changing the PWM in the Arduino sketch and soon I had Herbert zipping around scaring the dogs.  I decided it was time to give him some &#8216;eyes&#8217;.  While shopping for parts at Radio Shack one day I stumbled upon the Parallax Ping))) Sensor.  It is an ultrasonic sensor that was perfect for what I was doing.  With only a 5v, Gnd and Signal pin, I knew I could get it up and running with the Arduino!</p>
<p>I modified my code and put the signal for the Ping sensor on pin 9 of the Arduino.  I attached the 5v and Gnd of the sensor to the respective spots on the Duemilanove.  At this point I broke from my stated goal of always writing my own code.  The truth is, I had not the slightest idea how to write my own functions at this point, let alone libraries.  Luckily, the Arduino IDE saved the day!  In Files-Examples-Sensors there is a sketch for the Parallax Ping))) sensor.</p>
<p>After testing the sensor on a breadboard, I wired it up on Herbert.  I then took the important parts of the Ping))) sketch and added them to my current working sketch.  Herbert saw the light and was on the move!  I had him driving forward, detecting objects in front of him and turning to avoid them.  Granted, my code needed polishing but it was a start!</p>
<p>At this point my goal was to have Herbert move forward.  If he detected an obstacle he would stop and sweep his ping sensor to the left and take a measurement.  Then he would swing the sensor to the right and take another measurement.  He would then compare the two to decide which was a clearer path.  I wrote the sketch and it worked&#8230;.once.  Somehow I had run into my first major bug and I was at a loss to figure it out.  Herbert was acting strange, not responding correctly and dancing around like a madman.</p>
<p>With little time before the contest deadline and wanting Herbert to make an appearance, I decided the strange problem must&#8217;ve been something to do with the cheap wheel motors I had (they had been giving me problems now and again already) and so I quickly ordered  4 Solarbotics GM13a 150:1 mini metal gear motors and tires to match.  They are much smaller than the no-name motors I had been using, but they are quiet and nice!  Herbert became Lil&#8217; Herbert.</p>
<p>I rebuilt Herbert with the new motors and wheels and ran into the same strange behavior.  Obviously the motors weren&#8217;t the problem.  I&#8217;m sure I now know what it is, and I will experiment after the contest deadline to see if I am right.  I&#8217;ve been using an Adafruit Minty Boost to power the Arduino.  It&#8217;s a little circuit that converts the 3 volts from 2 AA batteries to 5 volts and sits in an Altoids tin on Herbert&#8217;s chassis.  I now believe that having the Arduino power the ping sensor, a sweeping servo and itself is just too much for the Minty Boost, causing strange things to happen.  But, as I was running out of time, I chose to forego the sweeping of the servo until after the deadline.</p>
<p>So, this is where we stand.  Or where Herbert rolls as it were.  I was still using my transistor circuit to power the motors and pinging to avoid collisions.  The main problem with this setup is that the motors&#8217; current could only go one way.  I was able to drive Herbert forward and turn him, but he couldn&#8217;t reverse or turn on a dime.  At this time I decided that I knew enough about my transistor circuit/motor setup that I could investigate motor controller boards.  I knew I could build H-Bridge circuits to allow the motors to drive either direction, but I felt the compact nature of some of the control boards I had been looking at would help me keep Herbert compact.</p>
<p>So into the picture came 2 Pololu Qik 2s9v1 Dual Serial Motor Controllers.  They are little, efficient and allowed me to have Herbert go forward or backwards.  I once again sacrificed my vow to write my own code and used a library specifically for these boards.  My only trouble was the code was written for one board only, and I had two.  I fumbled my way through making 2 instances of the library and all was well.</p>
<p>As I write this it is 3:30 PM on December 31, 2009.  I have reached the contest deadline and can do no more.  Herbert can currently sense obstacles in front of him and turn to avoid them.  He can move forward and backward.  Sadly, there was no time to resolve his neck sweep issues in time.  But as Herbert travels around the house in the coming months he will be doing more and doing it more efficiently.  I will keep adding new videos to my You Tube page and Herbert will continue to annoy my dogs.</p>
<p>I have included<a href="http://www.arduinofun.com/files/herbert.zip"> two versions of Herbert&#8217;s sketches in the zipped folder</a>.  One is from the early days of the transistor circuit, and the other is from this very day with the motor controllers.</p>
<p>Herbert&#8217;s videos can be seen on my You Tube channel.  The first one, Herbert is Born, was from November.  The most recent is Lil Herbert.</p>
<p>Videos: <a href="http://www.youtube.com/profile?user=AnnieNakki#g/u">http://www.youtube.com/profile?user=AnnieNakki#g/u</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2010%2F01%2F01%2Fherbert-the-beginners-robot-build-it%2F&amp;linkname=Herbert%20The%20Beginner%26%238217%3Bs%20Robot%20%28Build%20It%21%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2010/01/01/herbert-the-beginners-robot-build-it/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JoyLite Maze (Build It!)</title>
		<link>http://arduinofun.com/blog/2009/12/31/joylite-maze-build-it/</link>
		<comments>http://arduinofun.com/blog/2009/12/31/joylite-maze-build-it/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 14:35:46 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[8x8 RGB LED Matrix]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Sketch]]></category>
		<category><![CDATA[Arduino Tutorial]]></category>
		<category><![CDATA[Atari joystick]]></category>
		<category><![CDATA[JoyLite Maze]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[rainbowduino]]></category>
		<category><![CDATA[RGB Matrix]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=377</guid>
		<description><![CDATA[Contest Entry by Joe Cochran
In another project, I created a way to control a 8&#215;8 RGB Matrix using an Atari Joystick. While waiting for one of the components to arrive, I had an idea that a maze could be constructed on the RGB Matrix and a user could go through the maze with a joystick.

Most [...]]]></description>
			<content:encoded><![CDATA[<p>Contest Entry by <a href="http://sites.google.com/site/joetcochran/home">Joe Cochran</a><br />
In <a href="http://sites.google.com/site/joetcochran/thejoyliteproject">another project</a>, I created a way to control a <strong>8&#215;8 RGB Matrix</strong> using an Atari Joystick. While waiting for one of the components to arrive, I had an idea that a maze could be constructed on the RGB Matrix and a user could go through the maze with a joystick.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/53seGJ-mPiI" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/53seGJ-mPiI"></embed></object></p>
<div>Most maze algorithms assume that the maze can have &#8220;paper-thin&#8221; walls. That is, that the occupiable spaces don&#8217;t occupy the same amount of space as the walls. However, with the RGB Matrix the walls have to be represented by a whole LED being turned on. So in essence each LED is marked as a &#8220;wall&#8221; or as an &#8220;occupiable space&#8221;</div>
<div>Joe has created a page that contains the detailed instructions on how to create your own JoyLite Maze. I am posting the link to it, rather than recreating it all again.</div>
<p><a href="http://sites.google.com/site/joetcochran/joylite-maze/how-to">JoyLite Maze &#8220;How To&#8221;</a>.</p>
<blockquote>
<div>Joe Says:Arduino has been a fantastic opportunity to for me rediscover the creative process. I became a software developer because I get a lot of satisfaction from turning an idea into reality. When you get down to it though, professional software development ends up being little more than manipulating some bits in databases and RAM. Nothing tangible. Arduino has allowed me to move beyond the &#8220;cyberspace&#8221; and into the &#8220;real world&#8221;, opening the door to physical computing with motors, switches, lights and dials. And while I may be short on knowledge in regards to the electrical and mechanical engineering aspects of these projects, the Arduino community is so healthy, friendly and capable that they help make learning this stuff a real treat too.</div>
</blockquote>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F31%2Fjoylite-maze-build-it%2F&amp;linkname=JoyLite%20Maze%20%28Build%20It%21%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/31/joylite-maze-build-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Start Here Arduino Robot (Build It!)</title>
		<link>http://arduinofun.com/blog/2009/12/30/start-here-arduino-robot-build-it/</link>
		<comments>http://arduinofun.com/blog/2009/12/30/start-here-arduino-robot-build-it/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 18:19:34 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Code]]></category>
		<category><![CDATA[Arduino Robot]]></category>
		<category><![CDATA[Arduino Sketch]]></category>
		<category><![CDATA[Infrared  Sensors]]></category>
		<category><![CDATA[L239D Motor Driver]]></category>
		<category><![CDATA[Micro Servos]]></category>
		<category><![CDATA[Start Here Robot]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=372</guid>
		<description><![CDATA[Contest entry by Dane Edmonds. This is my first robot using Arduino , it uses a l239d motor driver and is basically my attempt at making a &#8220;start here&#8221; robot.
This is my first time using Arduino so I decided to build a robot that would help me learn arduino&#8217;s code , I wanted to start [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_373" class="wp-caption alignleft" style="width: 330px"><img class="size-full wp-image-373" title="Arduino Start Here Robot" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/bir1.jpg" alt="Arduino Start Here Robot" width="320" height="240" /><p class="wp-caption-text">Arduino Start Here Robot</p></div>
<p>Contest entry by <a href="http://letsmakerobots.com/user/4333">Dane Edmonds</a>. This is my first robot using Arduino , it uses a l239d motor driver and is basically my attempt at making a <a href="http://letsmakerobots.com/start">&#8220;start here&#8221; robot</a>.</p>
<p>This is my first time using Arduino so I decided to build a robot that would help me learn arduino&#8217;s code , I wanted to start small and build up to harder things so I made the robot expandable , as I get better with coding I will add more things .  So I hope other people who are new to arduino can learn from this robot to</p>
<blockquote><p>Dane says: Arduino has meant a cheap and easy to use micro controller, giving people a chance to achieve their goals and has helped make school holidays less boring for me .</p></blockquote>
<p><a href="http://www.youtube.com/watch?v=561TOfpcI_Y">YouTube Video Available Here.</a></p>
<p><span id="more-372"></span></p>
<p><strong>Parts list :</strong></p>
<ul>
<li>1) Arduino starter pack X1 <a href="http://www.robotgear.com.au/Product.aspx/Details/337">http://www.robotgear.com.au/Product.aspx/Details/337</a></li>
<li>2) Solarbotics g8 motors and wheels X2 <a href="http://www.robotgear.com.au/Product.aspx/Details/316">http://www.robotgear.com.au/Product.aspx/Details/316</a></li>
<li>3) motor mounts for the g8s <a href="http://www.robotgear.com.au/Product.aspx/Details/323">http://www.robotgear.com.au/Product.aspx/Details/323</a> (I didn&#8217;t use them but they would be better) X2</li>
<li>4) infrared sensors X2 <a href="http://www.robotgear.com.au/Product.aspx/Details/309">http://www.robotgear.com.au/Product.aspx/Details/309</a></li>
<li>5) breadboard (about the same size as Arduino )</li>
<li>6) micro servos X2</li>
<li>7) l293d motor controller <a href="http://www.robotgear.com.au/Product.aspx/Details/345">http://www.robotgear.com.au/Product.aspx/Details/345</a></li>
<li> <img src='http://arduinofun.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> some header pins (cut into 3 and solder wires to each pin)</li>
</ul>
<p><strong>Things you can add : </strong></p>
<ul>
<li><a href="http://www.robotgear.com.au/Product.aspx/Details/286">http://www.robotgear.com.au/Product.aspx/Details/286</a></li>
<li><a href="http://www.robotgear.com.au/Product.aspx/Details/347">http://www.robotgear.com.au/Product.aspx/Details/347</a></li>
</ul>
<p><strong>Build It! instructions:</strong></p>
<ul>
<li>1) cut thin scrap wood (about 8 millimeters thick) in to 2 squares of 13.5 cm x 13.5 cm</li>
<li>2) in one of the squares cut hole the same size as your servo base , about 1cm from one of the edges .</li>
<li>3) paint desired colour</li>
<li>4) using a hot glue gun glue the motors in place (as shown in top picture), with some small screws ,screw in the Arduino to the breadboard will have adhesive tape on the back, peel of plastic and stick in place.</li>
<li>5) using this walk through set up your motor controller <a href="http://letsmakerobots.com/node/2074">http://letsmakerobots.com/node/2074</a></li>
<li>6) drill 2 holes in the back corners of the wood to fit your spacers and one above the Arduino (do the same for the 2nd piece of wood .</li>
<li>7) put your servo in place , and screw into wood</li>
<li> <img src='http://arduinofun.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' />  made a pan/tilt system with a bit of scrap metal , (you can do the same if you wish but is not needed )</li>
<li>9) screw in your infrared sensers(as shown below) attach header pins (look on the sensor connect VIN and GND to the bread board power lines  and OUT to a digital pin on your arduino.</li>
</ul>
<p><strong>Arduino Sketch</strong></p>
<pre>const <span style="color: #CC6600;">int</span> infra=3; 

const <span style="color: #CC6600;">int</span> infra2=4;  

  <span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><strong>setup</strong></span>()

 {    

<span style="color: #CC6600;">Serial</span>.<span style="color: #CC6600;">begin</span>(9600);
<span style="color: #CC6600;">pinMode</span>(13,<span style="color: #006699;">OUTPUT</span>);
<span style="color: #CC6600;">pinMode</span>(12,<span style="color: #006699;">OUTPUT</span>);
<span style="color: #CC6600;">pinMode</span> (11,<span style="color: #006699;">OUTPUT</span>);
<span style="color: #CC6600;">pinMode</span> (10,<span style="color: #006699;">OUTPUT</span>);
<span style="color: #CC6600;">pinMode</span> (infra,<span style="color: #006699;">INPUT</span>);
<span style="color: #CC6600;">pinMode</span> (infra2,<span style="color: #006699;">INPUT</span>); 

} 

 <span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><strong>loop</strong></span>()    {
<span style="color: #CC6600;">if</span> (<span style="color: #CC6600;">digitalRead</span>(infra)== <span style="color: #006699;">HIGH</span>)
{         driveforward();   

   }        

<span style="color: #CC6600;">if</span>(<span style="color: #CC6600;">digitalRead</span>(infra) == <span style="color: #006699;">LOW</span>)   

{       

  stopmot();      

  <span style="color: #CC6600;">delay</span> (500);      

  reverse();      

  <span style="color: #CC6600;">delay</span> (500);       

 right();        

<span style="color: #CC6600;">delay</span> (2000);  

  }         

  <span style="color: #CC6600;">else</span> <span style="color: #CC6600;">if</span> (<span style="color: #CC6600;">digitalRead</span>(infra2)== <span style="color: #006699;">LOW</span>)   

   { stopmot();       

 <span style="color: #CC6600;">delay</span> (500);      

  reverse();     

   <span style="color: #CC6600;">delay</span> (500);       

 left();        

<span style="color: #CC6600;">delay</span> (2000);     

 }   

         }             

  <span style="color: #CC6600;">void</span> driveforward()

 {   <span style="color: #CC6600;">digitalWrite</span>(13,<span style="color: #006699;">HIGH</span>);   

<span style="color: #CC6600;">digitalWrite</span>(10,<span style="color: #006699;">HIGH</span>);  

 <span style="color: #CC6600;">digitalWrite</span> (11,<span style="color: #006699;">LOW</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (12,<span style="color: #006699;">LOW</span>);

 } 

 <span style="color: #CC6600;">void</span> stopmot()

 {    

<span style="color: #CC6600;">digitalWrite</span>(13,<span style="color: #006699;">LOW</span>);  

 <span style="color: #CC6600;">digitalWrite</span>(12,<span style="color: #006699;">LOW</span>);   

<span style="color: #CC6600;">digitalWrite</span>(11,<span style="color: #006699;">LOW</span>);  

 <span style="color: #CC6600;">digitalWrite</span>(10,<span style="color: #006699;">LOW</span>);

 } 

<span style="color: #CC6600;">void</span> reverse() 

{ 

  <span style="color: #CC6600;">digitalWrite</span>(12,<span style="color: #006699;">HIGH</span>);  

 <span style="color: #CC6600;">digitalWrite</span>(11,<span style="color: #006699;">HIGH</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (13,<span style="color: #006699;">LOW</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (10,<span style="color: #006699;">LOW</span>);

 } 

 <span style="color: #CC6600;">void</span> right()

 {   

<span style="color: #CC6600;">digitalWrite</span> (10,<span style="color: #006699;">HIGH</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (13,<span style="color: #006699;">LOW</span>);  

 <span style="color: #CC6600;">digitalWrite</span> (12,<span style="color: #006699;">LOW</span>);  

 <span style="color: #CC6600;">digitalWrite</span> (11,<span style="color: #006699;">LOW</span>);

 } 

 <span style="color: #CC6600;">void</span> left()

 {  

 <span style="color: #CC6600;">digitalWrite</span> (13,<span style="color: #006699;">HIGH</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (11,<span style="color: #006699;">LOW</span>);  

 <span style="color: #CC6600;">digitalWrite</span>  (12,<span style="color: #006699;">LOW</span>); 

  <span style="color: #CC6600;">digitalWrite</span> (10,<span style="color: #006699;">LOW</span>);

}</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F30%2Fstart-here-arduino-robot-build-it%2F&amp;linkname=Start%20Here%20Arduino%20Robot%20%28Build%20It%21%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/30/start-here-arduino-robot-build-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lilypad Arduino Passion Sensing Scarf</title>
		<link>http://arduinofun.com/blog/2009/12/28/lilypad-arduino-passion-sensing-scarf/</link>
		<comments>http://arduinofun.com/blog/2009/12/28/lilypad-arduino-passion-sensing-scarf/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 15:32:23 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Project Files]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Lilypad]]></category>
		<category><![CDATA[Lilypad Arduino]]></category>
		<category><![CDATA[RGB LED]]></category>
		<category><![CDATA[Sensor]]></category>
		<category><![CDATA[Soft Circuit]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=359</guid>
		<description><![CDATA[My latest Instructable:  Lilypad Arduino Passion Sensing Scarf. This was my first time working with an Arduino Lilypad. I have been wanting to try something that dealt with soft circuits for awhile now. This project is what I came up with. The concept is based off my friend Ethan Dicks from theFusefactory.org&#8217;s emergent Sheep Sculpture [...]]]></description>
			<content:encoded><![CDATA[<p>My latest <a href="http://www.instructables.com/id/Arduino-Lilypad-Interactive-Passion-Sensing-Scarf/">Instructable</a>:  Lilypad Arduino Passion Sensing Scarf. This was my first time working with an Arduino Lilypad. I have been wanting to try something that dealt with soft circuits for awhile now. This project is what I came up with. The concept is based off my friend <a href="http://www.penguincentral.com/">Ethan Dicks</a> from <a href="http://www.thefusefactory.org">theFusefactory.org</a>&#8217;s emergent Sheep Sculpture project.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="265" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/bXNb9uBN-Uc" /><embed type="application/x-shockwave-flash" width="320" height="265" src="http://www.youtube.com/v/bXNb9uBN-Uc"></embed></object></p>
<p>The  Lilypad Interactive Passion Sensing Scarf works like so:</p>
<p>Scarf number one being worn by someone walking alone will light up with the color Blue for Lonely. When the wearer of scarf number two joins up with number one, the two scarves will sense each other and then  light up Red for Love.</p>
<p>Future plans for capacitance touch: which will allow the colors to Pulsate for Passion if one wearer touches the other wearers scarf. <a href="http://www.instructables.com/id/Arduino-Lilypad-Interactive-Passion-Sensing-Scarf/">View My Instructable</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F28%2Flilypad-arduino-passion-sensing-scarf%2F&amp;linkname=Lilypad%20Arduino%20Passion%20Sensing%20Scarf"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/28/lilypad-arduino-passion-sensing-scarf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino/ioBridge internet controlled Christmas lights and music show (Build It!)</title>
		<link>http://arduinofun.com/blog/2009/12/21/arduinoiobridge-internet-controlled-christmas-lights-and-music-show-build-it/</link>
		<comments>http://arduinofun.com/blog/2009/12/21/arduinoiobridge-internet-controlled-christmas-lights-and-music-show-build-it/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 00:51:25 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Christmas Lights]]></category>
		<category><![CDATA[Internet Controlled Lights]]></category>
		<category><![CDATA[ioBridge]]></category>
		<category><![CDATA[LED]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=355</guid>
		<description><![CDATA[Arduino Build It! contest entry by: Noel Portugal My xmas-box project consists of an internet controlled Christmas lights and music show. A Christmas song can be requested on-line which is then put in a queue and played in the order it was requested. The music is transmitted on an FM station within a 300 ft radius from [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-356 alignleft" style="border: 1px solid black; margin: 10px;" title="Internet controlled Christmas lights" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/clh-300x201.jpg" alt="Internet controlled Christmas lights" width="270" height="181" /><a href="http://arduinofun.com/blog/2009/11/01/fun-with-arduino-contest/">Arduino Build It! contest</a> entry by: <a href="http://noelportugal.blogspot.com/2009/11/xmas-box-arduinoiobridge-internet.html" target="_blank">Noel Portugal</a> My xmas-box project consists of an internet controlled Christmas lights and music show. A Christmas song can be requested on-line which is then put in a queue and played in the order it was requested. The music is transmitted on an FM station within a 300 ft radius from my house.</p>
<p>The xmas-box has <strong>8 Channels</strong> (power outlets) where different light modes can be played: vu meter style, ascending, descending, split, merge, sequence and random. During each song one of these modes is used randomly every 10 seconds (to make the show less monotonous).<span id="more-355"></span>I started my research right after Halloween and I came across a couple different options, but I settled with the following combination of hardware : arduino + adafruit wave shield + ioBridge + wifi bridge + solid state relays (SSRs).</p>
<p>The xmas-box is enclosed in a small plastic tool box. I have place it on my deck under a roof ( it is not completely weather proof). The tool box has &#8220;3 levels.&#8221; The bottom is where all the SSRs and AC wiring are located. The middle (the inside tray) contains the wall warts for the arduino (9v), ioBridge (5v) and Wifi Bridge with power. The top level contains the Arduino board, the ioBridge module and the FM transmitter.</p>
<p>Noel has put together a really great <a href="http://www.instructables.com/id/xmas-box-ArduinoioBridge-internet-controlled-Chr/" target="_blank">Instructable</a>. Rather than attempt to post all the steps here, the remainder of the project can be found on his <a href="http://www.instructables.com/id/xmas-box-ArduinoioBridge-internet-controlled-Chr/" target="_blank">Instructable</a>.</p>
<p>Great Job Noel!</p>
<blockquote><p>As as side note I will like to share how much Arduino has changed my life. I am software guy by trade but I have always wanted to bridge the internet with the real world. When I found out about Arduino I rushed to order one of these amazing boards, and I haven&#8217;t been disappointed. The ability to program it using C (with wiring) and the immense documentation and free libraries make it really easy for anyone with little to no experience to get started with physical computing. My head  has been constantly spinning  by all the possibilities that I could prototype with this platform.</p>
<p>I hope that any of my experiences shared by my blog could ever help someone else trying to do similar things.</p>
<p>-Noel</p></blockquote>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F21%2Farduinoiobridge-internet-controlled-christmas-lights-and-music-show-build-it%2F&amp;linkname=Arduino%2FioBridge%20internet%20controlled%20Christmas%20lights%20and%20music%20show%20%28Build%20It%21%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/21/arduinoiobridge-internet-controlled-christmas-lights-and-music-show-build-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Connecting a 7-segment LED to the Arduino (Build It)</title>
		<link>http://arduinofun.com/blog/2009/12/06/connecting-a-7-segment-led-to-the-arduino-build-it/</link>
		<comments>http://arduinofun.com/blog/2009/12/06/connecting-a-7-segment-led-to-the-arduino-build-it/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 14:36:32 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[7-Segment LED]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Code]]></category>
		<category><![CDATA[Arduino Sketch]]></category>
		<category><![CDATA[Arduino Starter Kit]]></category>
		<category><![CDATA[Arduino Tutorial]]></category>
		<category><![CDATA[LED]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=349</guid>
		<description><![CDATA[Fun with Arduino contest entry submitted by Jeff.
For a while now I&#8217;d been interested in things like networked objects and gps/location-awareness, and I think that soon enough we&#8217;re going to see a lot of &#8216;intelligent objects&#8217; out and about in the world.
I love the idea of being able to actually build something like that, but [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_350" class="wp-caption alignleft" style="width: 260px"><img class="size-full wp-image-350" title="7-Segment LED" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/LED.jpg" alt="7-Segment LED" width="250" height="284" /><p class="wp-caption-text">7-Segment LED</p></div>
<p>Fun with Arduino contest entry submitted by <a href="http://totusterra.com/index.php">Jeff</a>.</p>
<p>For a while now I&#8217;d been interested in things like networked objects and gps/location-awareness, and I think that soon enough we&#8217;re going to see a lot of &#8216;intelligent objects&#8217; out and about in the world.</p>
<p>I love the idea of being able to actually build something like that, but there&#8217;s a lot I don&#8217;t know about the hardware side of things. What little electronics I studied was long in the past; I&#8217;d done a little coding for microcontrollers, but only a little. But there was something about the Arduino that made it seem more accessible.</p>
<p>So my wonderful wife, who is wonderful if I didn&#8217;t mention that, bought me the <a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MSAPK2&amp;Show=TechSpecs" target="_blank">&#8220;Arduino Advanced Starter Kit&#8221;</a> and the accompanying book <a href="http://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513">&#8220;Getting Started with the Arduino&#8221;</a> for my birthday.  Yay!</p>
<p><span id="more-349"></span></p>
<p>I have had enough hardware exposure that nothing in the package was a total mystery, and I understood the concept of breadboarding a circuit, so it only took maybe 15 minutes to get the software installed, a basic circuit built (ok, I stuck a LED onto two pins on the board), and wrote my first &#8216;hello world&#8217; blinky-light program. The Arduino uses the aptly named <a href="http://www.arduino.cc/en/Reference/HomePage">Arduino language</a> &#8212; it seems to be C with a light wrapper and a library, so it came pretty naturally.</p>
<p>Following along with the exercises in Getting Started, I experimented with the with the various inputs and outputs, got some hands-on-experience building the circuits out. It didn&#8217;t take me long at all to start wandering off-script and just building out random ideas that involved an LED and a button.</p>
<p>After a few hours, I thought it would be fun to do something a little more challenging. I went and went and picked up an 7-segment LED (<a href="http://www.radioshack.com/product/index.jsp?productId=2062557" target="_blank">Radio Shack part 276-075</a>).  With the pin designations, it was pretty easy to hook the 7 segments up to 7 outputs on the Arduino board.</p>
<p>On the software side, I mapped the segments onto bits &#8211; bit 0 maps to anode A, bit 1 to anode B, etc. &#8212; so the state of all 7 segments can be represented in a single byte. With the relatively small amount of memory available, compact representations are a good thing. Going the other way, I can look at that byte, and read each of the bits with bitRead() function, then set the LED segment appropriately.</p>
<p>Now that I had a working numeric LED, I needed a value to show on it. Borrowing a simple example from Getting Started, I wired up a photoresistor and had it report it&#8217;s state to Arduino&#8217;s analog input 0.</p>
<div id="attachment_351" class="wp-caption aligncenter" style="width: 450px"><img class="size-full wp-image-351" title="Arduino and 7-Segment LED" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/lightreporting.jpg" alt="Arduino and 7-Segment LED" width="440" height="600" /><p class="wp-caption-text">Arduino and 7-Segment LED</p></div>
<p>The analog inputs report a value from 0-1023 but my LED can only display 0-9, so I used the map() function to convert the input range to the output range and get the corresponding value back out &#8212; then display that. To help stabilize the number and keep it from flickering between values too quickly, I only update the LED if the value has changed, and then hold for a moment.</p>
<p>The full source code is below:</p>
<pre>#define PHOTO 0

<span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><strong>setup</strong></span>()
{
  <span style="color: #CC6600;">pinMode</span>(0, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode A, bit 0 in the definitions</span>
  <span style="color: #CC6600;">pinMode</span>(1, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode B, bit 1</span>
  <span style="color: #CC6600;">pinMode</span>(2, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode C, bit 2</span>
  <span style="color: #CC6600;">pinMode</span>(3, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode D, bit 3</span>
  <span style="color: #CC6600;">pinMode</span>(4, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode E, bit 4</span>
  <span style="color: #CC6600;">pinMode</span>(5, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode F, bit 5</span>
  <span style="color: #CC6600;">pinMode</span>(6, <span style="color: #006699;">OUTPUT</span>); <span style="color: #7E7E7E;">// -&gt; Anode G, bit 6</span>
}

<span style="color: #7E7E7E;">// encode the on/off state of the LED segments for the characters</span>
<span style="color: #7E7E7E;">// '0' to '9' into the bits of the bytes</span>
const <span style="color: #CC6600;">byte</span> numDef[10] = { 63, 6, 91, 79, 102, 109, 124, 7, 127, 103 };

<span style="color: #7E7E7E;">// keep track of the old value</span>
<span style="color: #CC6600;">int</span> oldVal = -1;

<span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><strong>loop</strong></span>()
{
  <span style="color: #7E7E7E;">// grab the input from the photoresistor</span>
  <span style="color: #CC6600;">int</span> input = <span style="color: #CC6600;">analogRead</span>(PHOTO);

  <span style="color: #7E7E7E;">// convert the input range (0-1023) to the range we can</span>
  <span style="color: #7E7E7E;">// display on the LED (0-9)</span>
  <span style="color: #CC6600;">int</span> displayVal = <span style="color: #CC6600;">map</span>(input, 0, 1023, 0, 9);

  <span style="color: #7E7E7E;">// if the value has changed, then update the LED and hold for a</span>
  <span style="color: #7E7E7E;">// brief moment to help with the debouncing.</span>
  <span style="color: #CC6600;">if</span> (displayVal != oldVal)
  {
    setSegments( numDef[displayVal] );
    <span style="color: #CC6600;">delay</span>(250);
  }
}

<span style="color: #CC6600;">void</span> setSegments(<span style="color: #CC6600;">byte</span> segments)
{
  <span style="color: #7E7E7E;">// for each of the segments of the LED</span>
  <span style="color: #CC6600;">for</span> (<span style="color: #CC6600;">int</span> s = 0; s &lt; 7; s++)
  {
    <span style="color: #CC6600;">int</span> bitVal = <span style="color: #CC6600;">bitRead</span>( segments, s ); <span style="color: #7E7E7E;">// grab the bit</span>
    <span style="color: #CC6600;">digitalWrite</span>(s, bitVal); <span style="color: #7E7E7E;">// set the segment</span>
  }
}</pre>
<p>Jeff also has another great Arduino tutorial for</p>
<h3><a href="http://totusterra.com/index.php/2009/10/31/using-the-555-timer-as-an-external-clock">Using the 555 timer as an external clock for the Arduino</a></h3>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F06%2Fconnecting-a-7-segment-led-to-the-arduino-build-it%2F&amp;linkname=Connecting%20a%207-segment%20LED%20to%20the%20Arduino%20%28Build%20It%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/06/connecting-a-7-segment-led-to-the-arduino-build-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LED Cube and Arduino Lib (Build It)</title>
		<link>http://arduinofun.com/blog/2009/12/02/led-cube-and-arduino-lib-build-it/</link>
		<comments>http://arduinofun.com/blog/2009/12/02/led-cube-and-arduino-lib-build-it/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:56:33 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Contest Entries]]></category>
		<category><![CDATA[3x3x3 LED cube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Library]]></category>
		<category><![CDATA[Arduino Sketch]]></category>
		<category><![CDATA[Arduino Tutorial]]></category>
		<category><![CDATA[LED cube]]></category>

		<guid isPermaLink="false">http://arduinofun.com/blog/?p=331</guid>
		<description><![CDATA[Fun with Arduino contest entry submitted by Gamaiel Zavala.
There are other Instructables about building LED cubes, this one is different for several reasons:
1. It&#8217;s built with a low number of off-the-shelf components and hooks up directly to the Arduino.
2. A clear, easy to reproduce circuit diagram is provided with plenty of photos.
3. A unique approach [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_332" class="wp-caption alignleft" style="width: 250px"><img class="size-full wp-image-332" title="LED Cube with Arduino" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/ledcube1.jpg" alt="LED Cube with Arduino" width="240" height="240" /><p class="wp-caption-text">LED Cube with Arduino</p></div>
<p>Fun with Arduino contest entry submitted by Gamaiel Zavala.</p>
<p>There are other <a href="http://www.instructables.com/id/LED-Cube-and-Arduino-Lib/" target="_blank">Instructables</a> about building LED cubes, this one is different for several reasons:</p>
<p>1. It&#8217;s built with a low number of off-the-shelf components and hooks up directly to the Arduino.<br />
2. A clear, easy to reproduce circuit diagram is provided with plenty of photos.<br />
3. A unique approach is used for the software which makes programming the cube easier and more expressive.<br />
<span id="more-331"></span></p>
<p><strong>Parts needed:</strong></p>
<p>-   1 Perfboard<br />
-   3 NPN Transistors (2N2222, 2N3904, BC547, etc.)<br />
- 12 Resistors (~220 ohms and ~22k ohms)<br />
- 13 Headers (male or female)<br />
- 27 LEDs<br />
- Jumper wires</p>
<h2><span>Prepare the LEDs</span></h2>
<div style="margin-left: 0px;">
<div id="attachment_336" class="wp-caption alignleft" style="width: 250px"><img class="size-full wp-image-336" title="LED Jig" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/jig.jpg" alt="LED Jig" width="240" height="240" /><p class="wp-caption-text">LED Jig</p></div>
</div>
<div style="margin-left: 0px;">This step largely follows the <a href="http://www.instructables.com/id/LED-Cube-4x4x4/" target="_blank">LED Cube 4&#215;4x4</a> but we&#8217;ll be building a 3&#215;3x3 cube instead. A cube of this size is about as big as it gets without introducing additional circuitry and complexity. We&#8217;ll need a total of 27 LEDs that will be grouped into three sets of nine.</p>
<p>Each set of nine LEDs will share a common connection amongst their cathodes (negative leads). I&#8217;ll refer to each of these sets as a &#8220;level&#8221;. Each of the nine LEDs on a level is connected to the corresponding LED on the other two levels through their anodes (positive leads). These will be referred to as &#8220;columns&#8221;. If that didn&#8217;t make sense it will become self explanatory as we build the cube.</p>
<p>To start we&#8217;ll use a drill to create a jig out of a small piece of scrap wood. The jig will hold the LEDs in place while we solder them. I decided to space the holes around 5/8 of an inch apart (~15 mm) but the exact distance isn&#8217;t critical. The hole should have a tight fit around the LED since we don&#8217;t want them to move around while soldering.</p>
<div id="attachment_339" class="wp-caption alignleft" style="width: 250px"><img class="size-full wp-image-339" title="Preparing the LEDs" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/led1.jpg" alt="Preparing the LEDs" width="240" height="240" /><p class="wp-caption-text">Preparing the LEDs</p></div>
<p>Once the jig is done we&#8217;re going to bend the cathode of each LED in a 90 degree angle. The cathode is identifiable in three ways: 1) It&#8217;s the shorter leg, 2) It&#8217;s on the flat side of a round LED, 3) it&#8217;s connected to the larger piece inside the LED.  Make sure you bend the cathode in the same direction for all of the LEDs.</p>
<p>Now we&#8217;re ready to begin soldering.</p></div>
<div style="margin-left: 0px;"></div>
<div style="margin-left: 0px;">
<h2></h2>
<h2><span>Solder the LEDs</span></h2>
<div style="margin-left: 0px;">
<div id="attachment_337" class="wp-caption alignleft" style="width: 250px"><img class="size-full wp-image-337" title="LEDs ready to solder." src="http://arduinofun.com/blog/wp-content/uploads/2009/12/solder1.jpg" alt="LEDs ready to solder." width="240" height="240" /><p class="wp-caption-text">LEDs ready to solder.</p></div>
</div>
<div style="margin-left: 0px;">First place nine of the LEDs in your newly built jig. Position them so that the legs point in the same counter-clockwise direction. The photos show the cathode pointing clockwise with the anode facing out, but I&#8217;d turn the LEDs around if I did it again in order to keep the leg from obstructing the view of the LED.</p>
<p>Solder the sides together, one pair on each side. Use small clips to keep the legs clamped together while applying the solder.</p>
<p>Once each of the four sides are soldered, move the clips to hold the corners together and apply solder to each. Lastly, solder the cathode of the middle LED to one of the sides and trim away the excess.</p>
<p>Repeat three times.</p>
<p>You should now have three sets of nine LEDs. Position two of the sets one on top of the other. Keep the distance equal to the spacing already established between LEDs. Once you&#8217;re comfortable with the spacing you can clamp each set of legs using two clips, one in each direction, to keep the legs firmly in place while soldering. You may need to bend around a LED to get a good connection. Solder each of the nine pairs, one at a time.</p>
<p>Do this one more time and you&#8217;re done with the cube.</p>
<p>Place the cube on one side of the the perfboard. Make sure the nine legs are positioned apart evenly while you guide each one  through a hole. My board has five holes between each set of legs. You want to leave as much room as possible on the other end of the perfboard to fit the various components.</p>
<p>Add a few clips to hold the legs in place once you&#8217;re happy with the positioning. Leave plenty of leg poking through the bottom since this will make it easier to solder the resistors later. Turn the board over and solder each of the legs to keep them in place. Flip the cube back over once all the legs have been soldered.</p>
<p>Lastly we need to solder a lead from each of the levels down through the bottom of the board. Strip a piece of solid wire and bend a small hook on one end. Hang the hook on one of the center LEDs legs and guide it through a hole on the perfboard. Solder the hook end to keep the wire in place. Repeat again for the other two levels.</p>
<p>The next step is to build the rest of the circuit.</p></div>
</div>
<div style="margin-left: 0px;"></div>
<div style="margin-left: 0px;">
<h2><span>Build the Circuit</span></h2>
<div style="margin-left: 0px;">
<div id="attachment_341" class="wp-caption alignleft" style="width: 250px"><img class="size-full wp-image-341" title="LED 3x3x3 Cube" src="http://arduinofun.com/blog/wp-content/uploads/2009/12/ledbrd1.jpg" alt="LED 3x3x3 Cube" width="240" height="240" /><p class="wp-caption-text">LED 3x3x3 Cube</p></div>
</div>
<div style="margin-left: 0px;">The circuit is pretty simple. Each of the nine columns will connect to a pin on the Arduino through a current limiting resistor. Each of the three levels connects to ground via a PNP transistor when activated by an Arduino pin.</p>
<p>We&#8217;ll be using 12 output pins total on the Arduino but there are 18 LEDs to power. The trick is that only a single level can be lit at a time. When a level is connected to ground, each of the LEDs on that level can be powered individually through one of the nine other Arduino pins.  If we light the levels fast enough it will appear as if all three levels are lit at the same time.</p>
<p>Let&#8217;s build the circuit.</p>
<p>The first step is to prepare the nine current limiting resistors. I&#8217;m using 220 ohms per pin which will draw around 22mA. The value may vary depending on the LEDs that are being used but stay between about 135 and 470 ohms. Each pin is capable of sourcing up to 40mA.</p>
<p>In order to save room we want to solder the resistors in a vertical position. Bend one lead down so that both leads are parallel to each other. Do this for all nine of the resistors.</p>
<p>Once the resistors are ready we&#8217;ll solder them one by one. To make it easy we&#8217;re going to solder the resistor leads directly to the other components instead of using a separate wire for each. One end of the resistor will connect to a column and the other will connect to a header. Start with the first row of LEDs which is closest to the resistors and work your way back.</p>
<p>Once each row is finished you can use a small piece of tape to isolate the overlapping leads in order to prevent a short. Refer to the photos and diagram to see what this will look like once it&#8217;s finished.</p>
<p>Now that the columns are out of the way, the next step is to solder the components which control the levels. The base of a NPN transistor will be activated by an Arduino pin through a current limiting resistor of 22k (or thereabouts). This will connect the corresponding level to ground which will allow current to flow through the LEDs. Refer to the photos and diagram.</p>
<p>The circuit is now complete, time to move on to the software!</p></div>
</div>
<div style="margin-left: 0px;"></div>
<div style="margin-left: 0px;">
<h2><span>Using the Software</span></h2>
<div style="margin-left: 0px;"><object style="width: 320px; height: 265px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="265" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/q1Xm2trRTrQ&amp;hl=en_US&amp;fs=1&amp;" /><param name="align" value="left" /><param name="vspace" value="10" /><param name="hspace" value="10" /><embed style="width: 320px; height: 265px;" type="application/x-shockwave-flash" width="320" height="265" src="http://www.youtube.com/v/q1Xm2trRTrQ&amp;hl=en_US&amp;fs=1&amp;" hspace="10" vspace="10" align="left"></embed></object>I was found a few code examples to control LED cubes on the net. They all required large arrays of binary or hex data to instruct the LEDs. I figured that there must be an easier way to program a cube so I set out to write my own software.</p>
<p>The first decision was to make the software mirror the hardware. That meant addressing each LED by column and level instead of using raw port data or the traditional x, y, z. The second decision was to start with basic functions, like turning a single light on or off, and building up from there.</p>
<p>Lastly I decided to introduce two features that are useful for effects. One is a buffer feature which allows the basic functions to build up more complex patterns, and the other is a sequence function which lights an array of lights one at a time or all at once.</p>
<p>This grew organically as procedural code and loose functions. It was very easy from there to follow the <a rel="nofollow" href="http://arduino.cc/en/Hacking/LibraryTutorial">library tutorial</a> in order to encapsulate the functionality into a class and create a reusable Arduino library.</p>
<p>Be sure to check out the <a rel="nofollow" href="http://www.gzipped.com/electronics/arduino/code/ledcube/LedCube.cpp">class</a> and <a rel="nofollow" href="http://www.gzipped.com/electronics/arduino/code/ledcube/ledcube.pde">example sketch</a> or <a rel="nofollow" href="http://www.gzipped.com/electronics/arduino/code/ledcube/LedCube.zip">download the library</a> .</div>
</div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Farduinofun.com%2Fblog%2F2009%2F12%2F02%2Fled-cube-and-arduino-lib-build-it%2F&amp;linkname=LED%20Cube%20and%20Arduino%20Lib%20%28Build%20It%29"><img src="http://arduinofun.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://arduinofun.com/blog/2009/12/02/led-cube-and-arduino-lib-build-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
