<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkIHRH45cCp7ImA9WhBbGE4.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958</id><updated>2013-05-17T18:42:15.028-04:00</updated><category term="youtube" /><title>Arduino Your Home &amp; Environment</title><subtitle type="html">Learn to monitor and control your home &amp;amp; environment with self contained, inter-communicating microprocessors. Applications include ham radio, robotics, weather stations, model railroading, toys and more. - KK4HFJ</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://arduinotronics.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>223</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/arduinotronics" /><feedburner:info uri="arduinotronics" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:emailServiceId>arduinotronics</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CkIHRH4_eip7ImA9WhBbGE4.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-7269198533616986379</id><published>2013-05-17T18:36:00.001-04:00</published><updated>2013-05-17T18:42:15.042-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-17T18:42:15.042-04:00</app:edited><title>Internet of food: Arduino-based, urban aquaponics in Oakland</title><content type="html">The land in West Oakland where Eric Maundu is trying to farm is covered with freeways, roads, light rail and parking lots so there’s not much arable land and the soil is contaminated. So Maundu doesn’t use soil.&lt;br /&gt;
&lt;br /&gt;
Instead he’s growing plants using fish and circulating water.


It’s called aquaponics- a gardening system that combines hydroponics (water-based planting) and aquaculture (fish farming). It’s been hailed as the future of farming: it uses less water (up to 90% less than traditional gardening), doesn’t attract soil-based bugs and produces two types of produce (both plants and fish).&lt;br /&gt;
&lt;br /&gt;
Aquaponics has become popular in recent years among urban gardeners and&amp;nbsp;&lt;a href="http://faircompanies.com/videos/view/backyard-aquaponics-diy-system-to-raise-fish-with-veggies/" title="Backyard aquaponics"&gt;DIY tinkerers&lt;/a&gt;, but Maundu- who is trained in industrial robotics- has taken the agricultural craft one step further and made his gardens&lt;br /&gt;
smart.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&lt;center&gt;
&lt;span style="font-size: x-small;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="281" src="http://www.youtube.com/embed/3IryIOyPfTE" width="500"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/center&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://faircompanies.com/videos/view/internet-food-arduino-based-urban-aquaponics-in-oakland/"&gt;http://faircompanies.com/videos/view/internet-food-arduino-based-urban-aquaponics-in-oakland/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;




&lt;a href="http://www.green-trust.org/wordpress/aquaponics-project/"&gt;http://www.green-trust.org/wordpress/aquaponics-project/&lt;/a&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Y8ipWw_jrpw:9vZVQaNBDuo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Y8ipWw_jrpw:9vZVQaNBDuo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=Y8ipWw_jrpw:9vZVQaNBDuo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Y8ipWw_jrpw:9vZVQaNBDuo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/Y8ipWw_jrpw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/7269198533616986379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/05/internet-of-food-arduino-based-urban.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/7269198533616986379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/7269198533616986379?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/Y8ipWw_jrpw/internet-of-food-arduino-based-urban.html" title="Internet of food: Arduino-based, urban aquaponics in Oakland" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/3IryIOyPfTE/default.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/05/internet-of-food-arduino-based-urban.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIFR3o7fip7ImA9WhBbE0s.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-4434735400378196730</id><published>2013-05-12T07:43:00.002-04:00</published><updated>2013-05-12T08:08:36.406-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-12T08:08:36.406-04:00</app:edited><title>Metal Construction Sets for Robotics or Project Assembly</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-QVo8IiukrRY/UY-AOlVXI4I/AAAAAAAAAsw/sbX73GB6eas/s1600/erector-the-worlds-greatest-toy.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-QVo8IiukrRY/UY-AOlVXI4I/AAAAAAAAAsw/sbX73GB6eas/s320/erector-the-worlds-greatest-toy.jpg" width="284" /&gt;&lt;/a&gt;&lt;/div&gt;
When I was a kid, I used to make cranes, bridges, &amp;nbsp;and other devices with Erector Sets. Alas, my childhood Erector company is long gone, but a French company called Meccano produces their products in the US under the Erector name. It's not quite the same stuff, and actually is better in my opinion, but not quite compatible. Exacto out of Argentina makes some tougher pieces that conform to the Meccano Standard.&lt;br /&gt;
&lt;br /&gt;
These pieces are great for constructing Arduino projects. You can mount servo's, stepper motors, Arduino boards, and displays, Load cells, or any other adaptation you can think of. You can make Arduino controlled&amp;nbsp;vehicles&amp;nbsp;or robotic arms.&lt;br /&gt;
&lt;br /&gt;
Here's an older document that explains some of the differences, and gives some of the history of the competing standards:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.arrickrobotics.com/erector.txt"&gt;http://www.arrickrobotics.com/erector.txt&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Metallus - Meccano compatible&amp;nbsp;&lt;a href="http://www.metallus.de/index.php?&amp;amp;page=einzelteile"&gt;http://www.metallus.de/index.php?&amp;amp;page=einzelteile&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Exacto - Meccano compatible&amp;nbsp;&lt;a href="http://www.exactosystem.com/"&gt;http://www.exactosystem.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Meccano / Erector&amp;nbsp;&lt;a href="http://www.meccano.com/"&gt;http://www.meccano.com/&lt;/a&gt;&amp;nbsp;/&amp;nbsp;&lt;a href="http://www.erector.us/"&gt;http://www.erector.us/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="175px" id="Player_ce0d0401-f7c5-417f-8fb2-8984446eabc4" width="500px"&gt; &lt;param NAME="movie" VALUE="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2Fce0d0401-f7c5-417f-8fb2-8984446eabc4&amp;Operation=GetDisplayTemplate"&gt;&lt;param NAME="quality" VALUE="high"&gt;&lt;param NAME="bgcolor" VALUE="#FFFFFF"&gt;&lt;param NAME="allowscriptaccess" VALUE="always"&gt;&lt;embed src="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2Fce0d0401-f7c5-417f-8fb2-8984446eabc4&amp;Operation=GetDisplayTemplate" id="Player_ce0d0401-f7c5-417f-8fb2-8984446eabc4" quality="high" bgcolor="#ffffff" name="Player_ce0d0401-f7c5-417f-8fb2-8984446eabc4" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="175px" width="500px"&gt;&lt;/embed&gt;&lt;/OBJECT&gt; &lt;noscript&gt;&lt;a HREF="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2Fce0d0401-f7c5-417f-8fb2-8984446eabc4&amp;Operation=NoScript"&gt;Amazon.com Widgets&lt;/A&gt;&lt;/noscript&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=PhO9AH3tn7Q:hE7lGmwXTH0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=PhO9AH3tn7Q:hE7lGmwXTH0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=PhO9AH3tn7Q:hE7lGmwXTH0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=PhO9AH3tn7Q:hE7lGmwXTH0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/PhO9AH3tn7Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/4434735400378196730/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/05/metal-construction-sets-for-robotics-or.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4434735400378196730?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4434735400378196730?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/PhO9AH3tn7Q/metal-construction-sets-for-robotics-or.html" title="Metal Construction Sets for Robotics or Project Assembly" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-QVo8IiukrRY/UY-AOlVXI4I/AAAAAAAAAsw/sbX73GB6eas/s72-c/erector-the-worlds-greatest-toy.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/05/metal-construction-sets-for-robotics-or.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAERHw7fip7ImA9WhBVE08.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-4714747671082450152</id><published>2013-04-18T19:42:00.002-04:00</published><updated>2013-04-18T19:45:05.206-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-18T19:45:05.206-04:00</app:edited><title>Introducing MySQL Connector/Arduino</title><content type="html">Have you ever wanted to use a local database server to store data from your Arduino projects? Would you like to be able to send queries directly to a MySQL database from your Arduino sketch? Well, now you can!

&lt;/p&gt;

The MySQL Connector/Arduino is a new technology made for the Arduino permitting you to connect your Arduino project to a MySQL server via an Ethernet shield without using an intermediate computer or a web-based service. 

&lt;/p&gt;

Having direct access to a database server means you can store data acquired from your project as well as check values stored in tables on the server and keep the network local to your facility including having a network that isn't connected to the internet or any other network.

&lt;/p&gt;

The Connector/Arduino library allows you to issue queries to the database server in much the same manner as you would through the MySQL client application. You can insert, delete, and update data, call functions, create objects, etc. Issuing SELECT queries are also possible but they incur a bit more thought concerning memory management.

&lt;/p&gt;

&lt;a target="_blank" href="http://drcharlesbell.blogspot.com/2013/04/introducing-mysql-connectorarduino_6.html"&gt;http://drcharlesbell.blogspot.com/2013/04/introducing-mysql-connectorarduino_6.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Vh7RehOde3Y:jyG74ef1vi0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Vh7RehOde3Y:jyG74ef1vi0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=Vh7RehOde3Y:jyG74ef1vi0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=Vh7RehOde3Y:jyG74ef1vi0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/Vh7RehOde3Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/4714747671082450152/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/04/introducing-mysql-connectorarduino.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4714747671082450152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4714747671082450152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/Vh7RehOde3Y/introducing-mysql-connectorarduino.html" title="Introducing MySQL Connector/Arduino" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/04/introducing-mysql-connectorarduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ANQn89eCp7ImA9WhBVF0g.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-1804874940831148224</id><published>2013-04-15T15:54:00.002-04:00</published><updated>2013-04-23T19:29:53.160-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-23T19:29:53.160-04:00</app:edited><title>BMA180 Accelerometer</title><content type="html">Years ago I saw a neat dash gadget for a Jeep that had two pictures of a Jeep on the unit. As you drove, the two pictures would move, showing pitch and roll angles, with the idea it would help prevent you from tipping over when driving off road.&lt;br /&gt;
&lt;a href="http://www.amazon.com/gp/product/B000E3BVVA/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B000E3BVVA&amp;amp;linkCode=as2&amp;amp;tag=webconx" target="_blank"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-aVWVhwxu8nA/UXcYDacWbhI/AAAAAAAAAq4/37cUrhJh5OQ/s320/clinometer.jpg" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I received a &lt;a href="http://www.geeetech.com/bma180-triple-axis-accelerometer-breakout-p-536.html" target="_blank"&gt;BMA180 Accelerometer&lt;/a&gt;, and decided to build an Arduino version, maybe eventually displaying graphics on a LCD screen. For now I want to get the unit talking to the Arduino, displaying G forces in 3 dimensions:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Pitch (front to back, or X)&lt;/div&gt;
&lt;div&gt;
Roll (side to side, or Y)&lt;/div&gt;
&lt;div&gt;
Yaw (pivoting as in a skid, or Z)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I connected a BMA180&amp;nbsp;breakout&amp;nbsp;as follows:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-nXlSwr1z2kI/UWxWzTzNFxI/AAAAAAAAAqQ/2yibKyQscNo/s1600/bma180.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://2.bp.blogspot.com/-nXlSwr1z2kI/UWxWzTzNFxI/AAAAAAAAAqQ/2yibKyQscNo/s320/bma180.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Although the BMA180 requires a 3.3v input, the TWI interface (SCK/SDI) is 5v logic tolerant.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I then uploaded the following code from&amp;nbsp;&lt;a href="http://www.geeetech.com/wiki/index.php/BMA180_Triple_Axis_Accelerometer_Breakout"&gt;http://www.geeetech.com/wiki/index.php/BMA180_Triple_Axis_Accelerometer_Breakout&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
//BMA180 triple axis accelerometer sample code//&lt;br /&gt;
//www.geeetech.com//&lt;br /&gt;
//&lt;br /&gt;
#include &lt;wire .h=""&gt;&amp;nbsp;&lt;/wire&gt;&lt;br /&gt;
#define BMA180 0x40 &amp;nbsp;//address of the accelerometer&lt;br /&gt;
#define RESET 0x10 &lt;br /&gt;
#define PWR 0x0D&lt;br /&gt;
#define BW 0X20&lt;br /&gt;
#define RANGE 0X35&lt;br /&gt;
#define DATA 0x02&lt;br /&gt;
//&lt;br /&gt;
int offx = 31; &lt;br /&gt;
int offy = 47; &lt;br /&gt;
int offz = -23;&lt;br /&gt;
//&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;Serial.begin(9600);&lt;br /&gt;
&amp;nbsp;Wire.begin();&lt;br /&gt;
&amp;nbsp;Serial.println("Demo started, initializing sensors");&lt;br /&gt;
&amp;nbsp;AccelerometerInit();&lt;br /&gt;
&amp;nbsp;Serial.println("Sensors have been initialized");&lt;br /&gt;
}&lt;br /&gt;
//&lt;br /&gt;
void AccelerometerInit()&lt;br /&gt;
//&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;byte temp[1];&lt;br /&gt;
&amp;nbsp;byte temp1;&lt;br /&gt;
&amp;nbsp; //&lt;br /&gt;
&amp;nbsp; writeTo(BMA180,RESET,0xB6);&lt;br /&gt;
&amp;nbsp; //wake up mode&lt;br /&gt;
&amp;nbsp; writeTo(BMA180,PWR,0x10);&lt;br /&gt;
&amp;nbsp; // low pass filter,&lt;br /&gt;
&amp;nbsp; readFrom(BMA180, BW,1,temp);&lt;br /&gt;
&amp;nbsp; temp1=temp[0]&amp;amp;0x0F;&lt;br /&gt;
&amp;nbsp; writeTo(BMA180, BW, temp1); &lt;br /&gt;
&amp;nbsp; // range +/- 2g&lt;br /&gt;
&amp;nbsp; readFrom(BMA180, RANGE, 1 ,temp); &lt;br /&gt;
&amp;nbsp; temp1=(temp[0]&amp;amp;0xF1) | 0x04;&lt;br /&gt;
&amp;nbsp; writeTo(BMA180,RANGE,temp1);&lt;br /&gt;
}&lt;br /&gt;
//&lt;br /&gt;
void AccelerometerRead()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;// read in the 3 axis data, each one is 14 bits&lt;br /&gt;
&amp;nbsp;// print the data to terminal&lt;br /&gt;
&amp;nbsp;int n=6;&lt;br /&gt;
&amp;nbsp;byte result[5];&lt;br /&gt;
&amp;nbsp;readFrom(BMA180, DATA, n , result);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;int x= (( result[0] | result[1]&amp;lt;&lt;8&gt;&amp;gt;2)+offx&amp;nbsp;;&lt;!--8--&gt;&lt;!--8--&gt;&lt;/8&gt;&lt;br /&gt;
&amp;nbsp;float x1=x/4096.0;&lt;br /&gt;
&amp;nbsp;Serial.print("x=");&lt;br /&gt;
&amp;nbsp;Serial.print(x1);&lt;br /&gt;
&amp;nbsp;Serial.print("g");&lt;br /&gt;
&amp;nbsp;//&lt;br /&gt;
&amp;nbsp;int y= (( result[2] | result[3]&amp;lt;&lt;8&gt;&amp;gt;2)+offy;&lt;!--8--&gt;&lt;!--8--&gt;&lt;/8&gt;&lt;br /&gt;
&amp;nbsp;float y1=y/4096.0;&lt;br /&gt;
&amp;nbsp;Serial.print(",y=");&lt;br /&gt;
&amp;nbsp;Serial.print(y1);&lt;br /&gt;
&amp;nbsp;Serial.print("g");&lt;br /&gt;
&amp;nbsp;//&lt;br /&gt;
&amp;nbsp;int z= (( result[4] | result[5]&amp;lt;&lt;8&gt;&amp;gt;2)+offz;&lt;!--8--&gt;&lt;!--8--&gt;&lt;/8&gt;&lt;br /&gt;
&amp;nbsp;float z1=z/4096.0;&lt;br /&gt;
&amp;nbsp;Serial.print(",z=");&lt;br /&gt;
&amp;nbsp;Serial.print(z1);&lt;br /&gt;
&amp;nbsp;Serial.println("g");&lt;br /&gt;
}&lt;br /&gt;
//&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;AccelerometerRead();&lt;br /&gt;
&amp;nbsp;delay(300); // slow down output &lt;br /&gt;
}&lt;br /&gt;
//&lt;br /&gt;
//---------------- Functions--------------------&lt;br /&gt;
//Writes val to address register on ACC&lt;br /&gt;
void writeTo(int DEVICE, byte address, byte val)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; Wire.beginTransmission(DEVICE); &amp;nbsp; //start transmission to ACC&lt;br /&gt;
&amp;nbsp; Wire.write(address); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //send register address&lt;br /&gt;
&amp;nbsp; Wire.write(val); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //send value to write&lt;br /&gt;
&amp;nbsp; Wire.endTransmission(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //end trnsmisson&lt;br /&gt;
}&lt;br /&gt;
//reads num bytes starting from address register in to buff array&lt;br /&gt;
&amp;nbsp;void readFrom(int DEVICE, byte address , int num ,byte buff[])&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;Wire.beginTransmission(DEVICE); //start transmission to ACC&lt;br /&gt;
&amp;nbsp;Wire.write(address); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//send reguster address&lt;br /&gt;
&amp;nbsp;Wire.endTransmission(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//end transmission&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Wire.beginTransmission(DEVICE); //start transmission to ACC&lt;br /&gt;
&amp;nbsp;Wire.requestFrom(DEVICE,num); &amp;nbsp;//request 6 bits from ACC&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;int i=0;&lt;br /&gt;
&amp;nbsp;while(Wire.available()) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//ACC may abnormal&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;buff[i] =Wire.read(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//receive a byte&lt;br /&gt;
&amp;nbsp;i++;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;Wire.endTransmission(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //end transmission&lt;br /&gt;
&amp;nbsp;}&lt;!--8--&gt;&lt;!--8--&gt;&lt;!--8--&gt;&lt;!--8--&gt;&lt;!--8--&gt;&lt;!--8--&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As I move the sensor through the X, Y, and Z axis, the serial monitor shows the changing g forces for each axis. Next update will be to show actual angles on a LCD.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-jjlCcfoYQ0U/UWxXlU3kJTI/AAAAAAAAAqY/AUmgbwWnjjs/s1600/gforces.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://1.bp.blogspot.com/-jjlCcfoYQ0U/UWxXlU3kJTI/AAAAAAAAAqY/AUmgbwWnjjs/s400/gforces.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-T5C3LelXaj8/UWxa4FGvp5I/AAAAAAAAAqg/4PkSGphmUHg/s1600/P1020375.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-T5C3LelXaj8/UWxa4FGvp5I/AAAAAAAAAqg/4PkSGphmUHg/s400/P1020375.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=EnpUzLNqoGQ:bP0Wfa3OQDc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=EnpUzLNqoGQ:bP0Wfa3OQDc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=EnpUzLNqoGQ:bP0Wfa3OQDc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=EnpUzLNqoGQ:bP0Wfa3OQDc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/EnpUzLNqoGQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/1804874940831148224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/04/bma180-accelerometer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1804874940831148224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1804874940831148224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/EnpUzLNqoGQ/bma180-accelerometer.html" title="BMA180 Accelerometer" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-aVWVhwxu8nA/UXcYDacWbhI/AAAAAAAAAq4/37cUrhJh5OQ/s72-c/clinometer.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/04/bma180-accelerometer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMBRXo4cSp7ImA9WhBWGU0.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-8614613370215469752</id><published>2013-04-06T12:20:00.000-04:00</published><updated>2013-04-13T20:47:34.439-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-13T20:47:34.439-04:00</app:edited><title>This weeks projects: Load cells, Breadboard Power Supply, Temp / Humidity and more ....</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-nAuiBCByTos/UWBVcsGII4I/AAAAAAAAApE/dI4_wQ2Et-8/s1600/P1020341.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-nAuiBCByTos/UWBVcsGII4I/AAAAAAAAApE/dI4_wQ2Et-8/s320/P1020341.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
I had a bunch of parts come in this week:&lt;br /&gt;
&lt;br /&gt;
A 85lb. Load Cell (Arduino Scale project)&lt;br /&gt;
DHT-11 Temp / Humidity Sensors&lt;br /&gt;
Breadboard&amp;nbsp;dual&amp;nbsp;voltage (3.3/5v) power supply&lt;br /&gt;
Motion Sensors&lt;br /&gt;
3 axis accelerometer&lt;br /&gt;
&lt;br /&gt;
Still in transit:&lt;br /&gt;
&lt;br /&gt;
DHT-22 Temp/Humidity Sensor&lt;br /&gt;
Waterproof DS18B20 Temp Sensor&lt;br /&gt;
&lt;br /&gt;
I have my work cut out for me, and updated code and tutorials will be posted. &lt;a href="mailto:solar@essnmag.com" target="_blank"&gt;Contact&lt;/a&gt; me if you want any of our protoboard projects listed in the various tutorials I post here.&lt;br /&gt;
&lt;br /&gt;
On this load cell (from a Accuteck &amp;nbsp;&lt;a href="http://goo.gl/QOhHQ" target="_blank"&gt;W-8260-86W Postal Scale&lt;/a&gt;) the 4 wires coming from the load cell are:&lt;br /&gt;
&lt;br /&gt;
Red: Excitation&amp;nbsp;+&lt;br /&gt;
White: Signal&amp;nbsp;+&lt;br /&gt;
Green: Signal -&lt;br /&gt;
Black: Excitation -&lt;br /&gt;
&lt;br /&gt;
This matches the GSE / NCI / Sensotec wiring scheme. To increase the output of the load cell so that the Arduino can read it on an analog input, we will need a INA125P&amp;nbsp;&lt;a href="http://goo.gl/17Q2N" target="_blank"&gt;amplifier&lt;/a&gt; and a 10 ohm resistor.&lt;br /&gt;
&lt;br /&gt;
* 4/11/13 update: Our free sample &lt;a href="http://www.ti.com/lit/ds/symlink/ina125.pdf" target="_blank"&gt;INA125P&lt;/a&gt; came in today from &lt;a href="http://goo.gl/MfxYk" target="_blank"&gt;Texas Instruments&lt;/a&gt;. Many electronics manufacturers will send you free samples for prototyping projects. Atmel sent us 3 free 328P-PU processors.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-__Ezp4j7NZ8/UWCa94BdgwI/AAAAAAAAApc/LLd8YsvtH-w/s1600/arduino+load+cell.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://3.bp.blogspot.com/-__Ezp4j7NZ8/UWCa94BdgwI/AAAAAAAAApc/LLd8YsvtH-w/s320/arduino+load+cell.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
* 4/13/13 update: INA125P came in, circuit is connected and the code uploaded, along with the video.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="281" src="http://www.youtube.com/embed/QmOT_1BRcYc" width="500"&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: #d5d6d7; color: #333333; line-height: 16.796875px; text-align: justify;"&gt;&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Arduino&amp;nbsp;as&amp;nbsp;load&amp;nbsp;cell&amp;nbsp;amplifier&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;by&amp;nbsp;Christian&amp;nbsp;Liljedahl&amp;nbsp;&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;christian.liljedahl.dk&lt;/span&gt;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Load&amp;nbsp;cells&amp;nbsp;are&amp;nbsp;linear.&amp;nbsp;So&amp;nbsp;once&amp;nbsp;you&amp;nbsp;have&amp;nbsp;established&amp;nbsp;two&amp;nbsp;data&amp;nbsp;pairs,&amp;nbsp;you&amp;nbsp;can&amp;nbsp;interpolate&amp;nbsp;the&amp;nbsp;rest.&lt;/span&gt;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Step&amp;nbsp;1:&amp;nbsp;Upload&amp;nbsp;this&amp;nbsp;sketch&amp;nbsp;to&amp;nbsp;your&amp;nbsp;arduino&amp;nbsp;board&lt;/span&gt;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;You&amp;nbsp;need&amp;nbsp;two&amp;nbsp;loads&amp;nbsp;of&amp;nbsp;well&amp;nbsp;know&amp;nbsp;weight.&amp;nbsp;In&amp;nbsp;this&amp;nbsp;example&amp;nbsp;A&amp;nbsp;=&amp;nbsp;10&amp;nbsp;kg.&amp;nbsp;B&amp;nbsp;=&amp;nbsp;30&amp;nbsp;kg&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Put&amp;nbsp;on&amp;nbsp;load&amp;nbsp;A&amp;nbsp;&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;read&amp;nbsp;the&amp;nbsp;analog&amp;nbsp;value&amp;nbsp;showing&amp;nbsp;(this&amp;nbsp;is&amp;nbsp;analogvalA)&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;put&amp;nbsp;on&amp;nbsp;load&amp;nbsp;B&lt;/span&gt;
&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;read&amp;nbsp;the&amp;nbsp;analog&amp;nbsp;value&amp;nbsp;B&lt;/span&gt;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Enter&amp;nbsp;you&amp;nbsp;own&amp;nbsp;analog&amp;nbsp;values&amp;nbsp;here&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; loadA = 10; &lt;span style="color: #7e7e7e;"&gt;// kg&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; analogvalA = 200; &lt;span style="color: #7e7e7e;"&gt;// analog reading taken with load A on the load cell&lt;/span&gt;

&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; loadB = 30; &lt;span style="color: #7e7e7e;"&gt;// kg &lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; analogvalB = 600; &lt;span style="color: #7e7e7e;"&gt;// analog reading taken with load B on the load cell&lt;/span&gt;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;Upload&amp;nbsp;the&amp;nbsp;sketch&amp;nbsp;again,&amp;nbsp;and&amp;nbsp;confirm,&amp;nbsp;that&amp;nbsp;the&amp;nbsp;kilo-reading&amp;nbsp;from&amp;nbsp;the&amp;nbsp;serial&amp;nbsp;output&amp;nbsp;now&amp;nbsp;is&amp;nbsp;correct,&amp;nbsp;using&amp;nbsp;your&amp;nbsp;known&amp;nbsp;loads&lt;/span&gt;

&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; analogValueAverage = 0;

&lt;span style="color: #7e7e7e;"&gt;//&amp;nbsp;How&amp;nbsp;often&amp;nbsp;do&amp;nbsp;we&amp;nbsp;do&amp;nbsp;readings?&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;long&lt;/span&gt; time = 0; &lt;span style="color: #7e7e7e;"&gt;// &lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; timeBetweenReadings = 200; &lt;span style="color: #7e7e7e;"&gt;// We want a reading every 200 ms;&lt;/span&gt;

&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;strong&gt;setup&lt;/strong&gt;&lt;/span&gt;() {
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;&lt;strong&gt;Serial&lt;/strong&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;begin&lt;/span&gt;(9600);
}

&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;strong&gt;loop&lt;/strong&gt;&lt;/span&gt;() {
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; analogValue = &lt;span style="color: #cc6600;"&gt;analogRead&lt;/span&gt;(0);

&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// running average - We smooth the readings a little bit&lt;/span&gt;
&amp;nbsp;&amp;nbsp;analogValueAverage&amp;nbsp;=&amp;nbsp;0.99*analogValueAverage&amp;nbsp;+&amp;nbsp;0.01*analogValue;

&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// Is it time to print? &lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt;(&lt;span style="color: #cc6600;"&gt;millis&lt;/span&gt;() &amp;gt; time + timeBetweenReadings){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; load = analogToLoad(analogValueAverage);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;&lt;strong&gt;Serial&lt;/strong&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;print&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"analogValue: "&lt;/span&gt;);&lt;span style="color: #cc6600;"&gt;&lt;strong&gt;Serial&lt;/strong&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(analogValueAverage);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;&lt;strong&gt;Serial&lt;/strong&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;print&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"             load: "&lt;/span&gt;);&lt;span style="color: #cc6600;"&gt;&lt;strong&gt;Serial&lt;/strong&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(load,5);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;nbsp;=&amp;nbsp;&lt;span style="color: #cc6600;"&gt;millis&lt;/span&gt;();
&amp;nbsp;&amp;nbsp;}
}

&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; analogToLoad(&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; analogval){

&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// using a custom map-function, because the standard arduino map function only uses int&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; load = mapfloat(analogval, analogvalA, analogvalB, loadA, loadB);
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;return&lt;/span&gt; load;
}

&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; mapfloat(&lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; x, &lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; in_min, &lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; in_max, &lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; out_min, &lt;span style="color: #cc6600;"&gt;float&lt;/span&gt; out_max)
{
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;return&lt;/span&gt; (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Our Inspiration:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.controlweigh.com/loadcell_colors.htm"&gt;http://www.controlweigh.com/loadcell_colors.htm&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://cerulean.dk/words/?page_id=42"&gt;http://cerulean.dk/words/?page_id=42&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=NL-9GuFB8ns:zwV-v9A1E-g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=NL-9GuFB8ns:zwV-v9A1E-g:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=NL-9GuFB8ns:zwV-v9A1E-g:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=NL-9GuFB8ns:zwV-v9A1E-g:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/NL-9GuFB8ns" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/8614613370215469752/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/04/this-weeks-projects-load-cells.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/8614613370215469752?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/8614613370215469752?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/NL-9GuFB8ns/this-weeks-projects-load-cells.html" title="This weeks projects: Load cells, Breadboard Power Supply, Temp / Humidity and more ...." /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-nAuiBCByTos/UWBVcsGII4I/AAAAAAAAApE/dI4_wQ2Et-8/s72-c/P1020341.JPG" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/04/this-weeks-projects-load-cells.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IHQnw9fSp7ImA9WhBXEEk.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-1044777665398675209</id><published>2013-03-23T09:27:00.000-04:00</published><updated>2013-03-23T09:32:13.265-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-23T09:32:13.265-04:00</app:edited><title>Ham Radio for Arduino and Picaxe</title><content type="html">&lt;a href="http://hamradioprojects.com/cover-web.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://hamradioprojects.com/cover-web.jpg" width="241" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;h2 style="color: #1d7245; font-family: Helvetica, Arial, sans-serif; font-style: italic;"&gt;
Ham Radio Meets Open Source Electronics&lt;/h2&gt;
Microcontroller technology has exploded in popularity among ham radio operators. The new generation of single-board microcontrollers is easier than ever to use, bringing together hardware and software for project-building most radio amateurs can easily dive into.&lt;br /&gt;
&lt;br /&gt;
With inexpensive microcontroller platforms – such as the popular open-source Arduino board – along with readily available parts, components and accessory boards, the possibilities are limitless: beacon transmitters, keyers, antenna position control, RTTY and digital mode decoders, waterfall displays, and more.&lt;br /&gt;
&lt;br /&gt;
Editor Leigh L. Klotz, Jr, WA5ZNU has assembled this first edition of Ham Radio for Arduino and PICAXE to help introduce you to the rewards of experimenting with microcontrollers. Klotz and many other contributors have designed projects that will enhance your ham radio station and operating capabilities. Or, you can take it to the next step, using these projects as a launch pad for creating your own projects.

&lt;a href="http://hamradioprojects.com/"&gt;http://hamradioprojects.com/&lt;/a&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=OlqUeeoIIFw:ed30ABACzZQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=OlqUeeoIIFw:ed30ABACzZQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=OlqUeeoIIFw:ed30ABACzZQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=OlqUeeoIIFw:ed30ABACzZQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/OlqUeeoIIFw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/1044777665398675209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/03/ham-radio-for-arduino-and-picaxe.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1044777665398675209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1044777665398675209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/OlqUeeoIIFw/ham-radio-for-arduino-and-picaxe.html" title="Ham Radio for Arduino and Picaxe" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/03/ham-radio-for-arduino-and-picaxe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAAQHk-cCp7ImA9WhBQFU8.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-1222185547602865790</id><published>2013-03-17T08:52:00.001-04:00</published><updated>2013-03-17T08:52:21.758-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-17T08:52:21.758-04:00</app:edited><title>Missing Arduino Analog Inputs, and the Random Function</title><content type="html">The Atmel 328P chip used on many of the Arduino boards actually&amp;nbsp;has 8 Analog Inputs, but specifically with the DIP version instead of the SMT, there weren't enough pins on the DIP carrier to bring those ports out for use. On some of the SMT versions, like the Pro Mini, Ports A6 &amp;amp; A7 are available as analog inputs, but not multi purpose (Digital I/O) like A0-A5.&lt;br /&gt;
&lt;br /&gt;
Even on the UNO, which doesn't bring A6 &amp;amp; A7 out to a pin, we can still make use of these ports. The Random function is a common function for many applications, as it seems to provide a random number generator that can be used for dice games, and other applications. However, unless seeded by a varying start number, it actually is quite predictable.&lt;br /&gt;
&lt;br /&gt;
One neat feature of an analog input is referred to as a floating input. This is a input that is not connected to anything. If you try to read it, the values will be all over the place, based on changing electrical fields nearby. We can use either of these two phantom analog inputs as seeds for the random function, ensuring a truly random output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: white; color: #555555;"&gt;long randNumber;

void setup(){
  Serial.begin(9600);
  randomSeed(analogRead(A7));
}

void loop(){
  randNumber = random(300);
  Serial.println(randNumber);

  delay(50);
}
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
More Info:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://arduino.cc/en/Reference/RandomSeed" target="_blank"&gt;http://arduino.cc/en/Reference/RandomSeed&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://arduino.cc/en/Reference/Random" target="_blank"&gt;http://arduino.cc/en/Reference/Random&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://arduino.cc/en/Reference/AnalogRead" target="_blank"&gt;http://arduino.cc/en/Reference/AnalogRead&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=0bfZEwPmtd4:sdZdS8XNEiA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=0bfZEwPmtd4:sdZdS8XNEiA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=0bfZEwPmtd4:sdZdS8XNEiA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=0bfZEwPmtd4:sdZdS8XNEiA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/0bfZEwPmtd4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/1222185547602865790/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/03/missing-arduino-analog-inputs-and.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1222185547602865790?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1222185547602865790?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/0bfZEwPmtd4/missing-arduino-analog-inputs-and.html" title="Missing Arduino Analog Inputs, and the Random Function" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/03/missing-arduino-analog-inputs-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4HQHs6eyp7ImA9WhBSGU4.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-4725984906712204760</id><published>2013-02-26T20:52:00.002-05:00</published><updated>2013-02-26T21:08:51.513-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-26T21:08:51.513-05:00</app:edited><title>USB / FTDI</title><content type="html">Some Arduino's, like the &lt;a href="http://www.amazon.com/gp/product/B004G53J5I/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B004G53J5I&amp;amp;linkCode=as2&amp;amp;tag=webconx" target="_blank"&gt;Arduino Pro Mini&lt;/a&gt;, do not have an onboard usb interface. This is the case with our &lt;a href="http://arduinotronics.blogspot.com/2013/02/the-diy-arduino.html" target="_blank"&gt;DIY minimal Arduino&lt;/a&gt;. So we built a a adapter around a USB/FTDI interface.&lt;br /&gt;
&lt;br /&gt;
One feature we wanted was the auto reset feature of the newer Arduino's, so we don't have to push the reset button when uploading a sketch.&lt;br /&gt;
&lt;br /&gt;
We also wanted an easy way to connect and disconnect the interface, so it can be used with other boards we build, avoiding the cost of having to have multiple interfaces. By putting a header on the Arduino board, this adapter just plugs right in when a code change is necessary.&lt;br /&gt;
&lt;br /&gt;
A .1 uf capacitor connects RTS to pin 1 on the Atmel chip. Opposite to convention, RX on the﻿ FTDI connects to RX on the Atmel (Pin 2), and TX on the﻿ FTDI connects to TX on the Atmel (Pin 3)!&lt;br /&gt;
&lt;br /&gt;
When uploading sketches, pick Arduino Duemilanove w/ ATmega328 as your board.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-MlCyPhGI5M8/US1ku9UPl0I/AAAAAAAAAoE/e8rkQZ5OENQ/s1600/P1020217.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-MlCyPhGI5M8/US1ku9UPl0I/AAAAAAAAAoE/e8rkQZ5OENQ/s320/P1020217.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-YPyLy3kG0nM/US1kw44cNLI/AAAAAAAAAoM/Awckm9YCGwA/s1600/P1020226.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-YPyLy3kG0nM/US1kw44cNLI/AAAAAAAAAoM/Awckm9YCGwA/s320/P1020226.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-2LaxPicJiSo/US1kxMLDGBI/AAAAAAAAAoQ/hOMT6IbOZck/s1600/P1020227.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-2LaxPicJiSo/US1kxMLDGBI/AAAAAAAAAoQ/hOMT6IbOZck/s320/P1020227.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-YCPvkXldGzk/US1p314ziqI/AAAAAAAAAow/_ei4u_qfaSw/s1600/usb-ftdi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="308" src="http://3.bp.blogspot.com/-YCPvkXldGzk/US1p314ziqI/AAAAAAAAAow/_ei4u_qfaSw/s320/usb-ftdi.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=VE-5hj2UB-k:_etJh8j8lbU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=VE-5hj2UB-k:_etJh8j8lbU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=VE-5hj2UB-k:_etJh8j8lbU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=VE-5hj2UB-k:_etJh8j8lbU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/VE-5hj2UB-k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/4725984906712204760/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/02/usb-ftdi.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4725984906712204760?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4725984906712204760?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/VE-5hj2UB-k/usb-ftdi.html" title="USB / FTDI" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-MlCyPhGI5M8/US1ku9UPl0I/AAAAAAAAAoE/e8rkQZ5OENQ/s72-c/P1020217.JPG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/02/usb-ftdi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cGQHk_fCp7ImA9WhBSGU4.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-9150760956448747930</id><published>2013-02-11T08:55:00.000-05:00</published><updated>2013-02-26T21:10:21.744-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-26T21:10:21.744-05:00</app:edited><title>The DIY Arduino</title><content type="html">We have finished our DIY Arduino on a solderless breadboard, and are about to move it to a perfboard for adding additional project components. We wanted to share this stage of the project to make it easier for others to do the same.&lt;br /&gt;
&lt;br /&gt;
Components needed (&lt;a href="http://www.amazon.com/gp/registry/wishlist/1344H0BGPAEQ0/?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;linkCode=ur2&amp;amp;tag=webconx" target="_blank"&gt;Parts List&lt;/a&gt;&lt;img alt="" border="0" height="1" src="https://www.assoc-amazon.com/e/ir?t=webconx&amp;amp;l=ur2&amp;amp;o=1" style="border: none !important; margin: 0px !important;" width="1" /&gt;):&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
Atmel 328P with bootloader installed&lt;br /&gt;
16 mHz Crystal&lt;br /&gt;
Qty (2) 22 pF capacitors&lt;br /&gt;
Qty (1) 10k Resistor&lt;br /&gt;
Qty (1) Reset Switch&lt;br /&gt;
Qty (1) .1 uF Capacitor&lt;br /&gt;
&lt;br /&gt;
Power Supply:&lt;br /&gt;
Qty (1) 7805 Voltage Regulator&lt;br /&gt;
Qty (2) 10 uF Capacitors&lt;br /&gt;
Qty (1) 150 Ohm Resistor&lt;br /&gt;
Qty (1) LED&lt;br /&gt;
&lt;br /&gt;
Programming:&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
Qty (1) FTDI / USB Adapter (just need the one for all additional projects, not one for each project)

&lt;br /&gt;
&lt;br /&gt;
** A quick note on the Arduino Revised USB FTDI **&lt;br /&gt;
&lt;br /&gt;
Use RTS, not DTR for the auto reset, and opposite to convention, RX on the FTDI connects to RX on the Atmel, and TX to TX!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Qyz5b225MpQ/URj3HtXYkCI/AAAAAAAAAnk/v4jxC_6QzUg/s1600/DIY%2BArduino.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://1.bp.blogspot.com/-Qyz5b225MpQ/URj3HtXYkCI/AAAAAAAAAnk/v4jxC_6QzUg/s320/DIY%2BArduino.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-83zsuv7fDWg/URj3Q8iKR0I/AAAAAAAAAnw/mah4323zn8U/s1600/5v-reg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://4.bp.blogspot.com/-83zsuv7fDWg/URj3Q8iKR0I/AAAAAAAAAnw/mah4323zn8U/s320/5v-reg.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="281" src="http://www.youtube.com/embed/_I1jw0esPAA?list=UUqfgIjpizVhHbCr45AZbKhQ" width="500"&gt;&lt;/iframe&gt;

&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=-p37cqQZWVk:ngngyBFBQEM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=-p37cqQZWVk:ngngyBFBQEM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=-p37cqQZWVk:ngngyBFBQEM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=-p37cqQZWVk:ngngyBFBQEM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/-p37cqQZWVk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/9150760956448747930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/02/the-diy-arduino.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/9150760956448747930?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/9150760956448747930?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/-p37cqQZWVk/the-diy-arduino.html" title="The DIY Arduino" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Qyz5b225MpQ/URj3HtXYkCI/AAAAAAAAAnk/v4jxC_6QzUg/s72-c/DIY%2BArduino.png" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/02/the-diy-arduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYEQH49fip7ImA9WhNaF0o.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-791992830456740165</id><published>2013-02-01T20:55:00.000-05:00</published><updated>2013-02-01T20:55:01.066-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-01T20:55:01.066-05:00</app:edited><title>Breadboard Power Supplies</title><content type="html">A important part of breadboarding is supplying the proper power to the circuits you are building. We prototype on &lt;a href="http://www.amazon.com/gp/product/B0040Z1ERO/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0040Z1ERO&amp;amp;linkCode=as2&amp;amp;tag=webconx" target="_blank"&gt;solderless breadboards&lt;/a&gt;, then move the circuit to a &lt;a href="http://www.amazon.com/gp/product/B0040Z3012/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0040Z3012&amp;amp;linkCode=as2&amp;amp;tag=webconx" target="_blank"&gt;solder type protoboard&lt;/a&gt; that matches the solderless breadboard. We do this to make our projects easier for others to duplicate. We have a &lt;a href="http://goo.gl/qupg1" target="_blank"&gt;favorite power supply&lt;/a&gt; that fits both the solderless breadboard, and the solderable protoboard. It has dual 3.3v / 5v power supplies, so each set of power rails on the breadboard is voltage selectable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://goo.gl/qupg1" target="_blank"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/31PF7iQPY4L._SL500_AA300_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;

&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3"  WIDTH="500px" HEIGHT="166px"&gt; &lt;PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3&amp;Operation=GetDisplayTemplate"&gt;&lt;PARAM NAME="quality" VALUE="high"&gt;&lt;PARAM NAME="bgcolor" VALUE="#FFFFFF"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;&lt;embed src="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3&amp;Operation=GetDisplayTemplate" id="Player_3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3" quality="high" bgcolor="#ffffff" name="Player_3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="166px" width="500px"&gt;&lt;/embed&gt;&lt;/OBJECT&gt; &lt;NOSCRIPT&gt;&lt;A HREF="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F3ad6017a-e0d5-4b51-8a9e-4bafc4a1cde3&amp;Operation=NoScript"&gt;Amazon.com Widgets&lt;/A&gt;&lt;/NOSCRIPT&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2mwSo5Kg52c:JnqLMiogPx0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2mwSo5Kg52c:JnqLMiogPx0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=2mwSo5Kg52c:JnqLMiogPx0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2mwSo5Kg52c:JnqLMiogPx0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/2mwSo5Kg52c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/791992830456740165/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/02/breadboard-power-supplies.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/791992830456740165?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/791992830456740165?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/2mwSo5Kg52c/breadboard-power-supplies.html" title="Breadboard Power Supplies" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/02/breadboard-power-supplies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUBRXg-eCp7ImA9WhNaFkU.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-455950802182862462</id><published>2013-01-31T21:50:00.000-05:00</published><updated>2013-01-31T21:54:14.650-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-31T21:54:14.650-05:00</app:edited><title>Burning a Bootloader on New Atmel 328's</title><content type="html">We are in the process of building some projects with an embedded Arduino, instead of using a Arduino board.&amp;nbsp;&lt;a href="http://hacktronics.com/"&gt;Hacktronics.com&lt;/a&gt; sent us some new Atmel 328-PU chips for this purpose. These chips are new, without a bootloader installed. The bootloader is the difference between a Bare Atmel, and an Arduino. It's what allows the Arduino IDE to upload sketches.&lt;br /&gt;
&lt;br /&gt;
Now the chip that comes on the Arduino UNO and Duemilanove is the Atmel 328P-PU. This is the picopower chip. We&amp;nbsp;received&amp;nbsp;the 328-PU. They have a different signature, so additional steps needed to be taken.&lt;br /&gt;
&lt;br /&gt;
First we wired up a Arduino on a breadboard per the instructions at&amp;nbsp;&lt;a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard"&gt;http://arduino.cc/en/Tutorial/ArduinoToBreadboard&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
You can get the parts at&amp;nbsp;&lt;a href="http://goo.gl/vchqx" target="_blank"&gt;Bare Bones Arduino&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I used my older Duemilanove as the Host, as the instructions say this process does not work with an UNO.&lt;br /&gt;
&lt;br /&gt;
There is a process if you use a UNO as the Host, I did not have one handy -&amp;nbsp;&lt;a href="http://electronics.stackexchange.com/questions/10587/how-to-burn-atmega328-chip-via-arduino-uno-as-isp"&gt;http://electronics.stackexchange.com/questions/10587/how-to-burn-atmega328-chip-via-arduino-uno-as-isp&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" width="236" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
When burning the boot loader, we ran into a error because the signature of the chip was wrong. So we followed the instructions at&amp;nbsp;&lt;a href="http://arduino.cc/forum/index.php?topic=58670.0"&gt;http://arduino.cc/forum/index.php?topic=58670.0&lt;/a&gt;&amp;nbsp;regarding editing the avrdude.conf file from 0F to 14 while burning the bootloader. Don't forget to set it back after the bootloader is burned. It doesn't need the change to upload sketches. You may not have to do this if you use the above Optiboot process.&lt;br /&gt;
&lt;br /&gt;
Now we have several Atmel 328's with the bootloader installed, ready to go into projects. Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=jebvudkUDvM:ygN6jvDqDaI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=jebvudkUDvM:ygN6jvDqDaI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=jebvudkUDvM:ygN6jvDqDaI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=jebvudkUDvM:ygN6jvDqDaI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/jebvudkUDvM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/455950802182862462/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/burning-bootloader-on-new-atmel-328s.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/455950802182862462?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/455950802182862462?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/jebvudkUDvM/burning-bootloader-on-new-atmel-328s.html" title="Burning a Bootloader on New Atmel 328's" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/burning-bootloader-on-new-atmel-328s.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YFSX08fip7ImA9WhNbEUw.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-5205281357710801990</id><published>2013-01-13T09:41:00.000-05:00</published><updated>2013-01-13T18:18:38.376-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-13T18:18:38.376-05:00</app:edited><title>Motion Sensors &amp; SSR's</title><content type="html">A &lt;a href="http://goo.gl/IRT6E" target="_blank"&gt;Motion Sensor&lt;/a&gt; is a good way to save energy, by turning lights on and off based on the&amp;nbsp;presence&amp;nbsp;of a warm body. &amp;nbsp;Walk into a room, the lights come on, walk out, and they go off. We can build in a delay on the off cycle, and a manual override with a switch giving us motion - off - on modes.&lt;br /&gt;
&lt;br /&gt;
Now also on &lt;a href="http://www.instructables.com/id/DIY-Arduino-Motion-Sensor-Lighting-Control/" target="_blank"&gt;Instructables&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
First we start with the &lt;a href="http://goo.gl/IRT6E" target="_blank"&gt;PIR Motion Sensor&lt;/a&gt;. This connects to a digital input, which we monitor for the&amp;nbsp;presence&amp;nbsp;of a warm body.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://ecx.images-amazon.com/images/I/31VTtQujzsL._SS400_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://ecx.images-amazon.com/images/I/31VTtQujzsL._SS400_.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
int ledPin = 13;&lt;br /&gt;
int switchPin = 2;&lt;br /&gt;
int value = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
pinMode(ledPin, OUTPUT);&lt;br /&gt;
pinMode(switchPin, INPUT);&lt;br /&gt;
digitalWrite(ledPin, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
value = digitalRead(switchPin);&lt;br /&gt;
if (HIGH == value) {&lt;br /&gt;
digitalWrite(ledPin, HIGH);&lt;br /&gt;
} else {&lt;br /&gt;
digitalWrite(ledPin, LOW);&lt;br /&gt;
} }
&lt;br /&gt;
&lt;br /&gt;
This turns on the LED on the &lt;a href="http://goo.gl/qVwqf" target="_blank"&gt;Arduino&lt;/a&gt; when motion is detected. Now let's add the &lt;a href="http://goo.gl/kQ157" target="_blank"&gt;SSR&lt;/a&gt;. This allows us to control 120vac devices with no chance of damaging the Arduino (optically isolated) and reduced chance of getting zapped (not much harder than wiring a light switch). I suggest&amp;nbsp;starting&amp;nbsp;with a corded desk or floor lamp.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://ecx.images-amazon.com/images/I/411URtdqYBL._SS500_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://ecx.images-amazon.com/images/I/411URtdqYBL._SS500_.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Unplug from wall before doing this step!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Separate the two wires going to the lamp, and &lt;b&gt;only cut one of them (preferably the HOT, not the Neutral (wide blade), if your plug is polarized - Larry).&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;Mike recommends you cut open a short extension cord instead of your lamp cord, so that the project is "portable".&lt;br /&gt;
&lt;br /&gt;
Strip the insulation from the two ends you have from the one line, and insert them under the SSR screws labeled 1 &amp;amp; 2.&lt;br /&gt;
Connect screw 4 on the SSR to ground on the Arduino, and screw 3 to pin 13 on the Arduino.&lt;br /&gt;
Plug the lamp back into the wall, and power up the Arduino.&lt;br /&gt;
&lt;br /&gt;
Your lamp should light when motion is detected, and go out after a short period of time after you leave the focus area.&lt;br /&gt;
&lt;br /&gt;
Now lets add a manual override switch. You will want a &lt;a href="http://goo.gl/Lslvs" target="_blank"&gt;SPDT switch with center off&lt;/a&gt;. You will be connecting the center pin to +5vdc&amp;nbsp;on the arduino. The outer two pins will connect to Arduino pins 11 &amp;amp; 12, with a 10k resistor to&amp;nbsp;ground on each.&lt;br /&gt;
&lt;br /&gt;
Now our sketch looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int inPin1 = 11; &amp;nbsp; // switch connected to digital pin 11&lt;br /&gt;
int inPin2 = 12; &amp;nbsp; // switch connected to digital pin 12&lt;br /&gt;
&lt;br /&gt;
int ssrPin = 13;&lt;br /&gt;
int pirPin = 2;&lt;br /&gt;
int motionDetect= 0;&lt;br /&gt;
int manualSwitch = 0;&lt;br /&gt;
int motionSwitch = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
pinMode(ssrPin, OUTPUT);&lt;br /&gt;
pinMode(pirPin, INPUT);&lt;br /&gt;
pinMode(inPin1, INPUT);&lt;br /&gt;
pinMode(inPin2, INPUT);&lt;br /&gt;
digitalWrite(ssrPin, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
motionSwitch = digitalRead (inPin1);&lt;br /&gt;
manualSwitch = digitalRead (inPin2);&lt;br /&gt;
&lt;br /&gt;
if (motionSwitch == HIGH) // Motion Mode&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; motionDetect = digitalRead(pirPin);&lt;br /&gt;
&amp;nbsp; if (motionDetect == HIGH) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;digitalWrite(ssrPin, HIGH);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;delay (180000); //Optional 3 minute delayed off&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else if (manualSwitch == HIGH) // Manual On&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; digitalWrite(ssrPin, HIGH)&lt;br /&gt;
}&lt;br /&gt;
else // Manual Off&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; digitalWrite(ssrPin, LOW)&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-3Owqt2cWC3c/UPLSdaK8wUI/AAAAAAAAAmQ/sjQd7_P53Ik/s1600/PIR_SSR.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/-3Owqt2cWC3c/UPLSdaK8wUI/AAAAAAAAAmQ/sjQd7_P53Ik/s400/PIR_SSR.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=1Lfo_gR3ld4:7M2nYaH2qKg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=1Lfo_gR3ld4:7M2nYaH2qKg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=1Lfo_gR3ld4:7M2nYaH2qKg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=1Lfo_gR3ld4:7M2nYaH2qKg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/1Lfo_gR3ld4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/5205281357710801990/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/motion-sensors-ssrs.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/5205281357710801990?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/5205281357710801990?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/1Lfo_gR3ld4/motion-sensors-ssrs.html" title="Motion Sensors &amp; SSR's" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-3Owqt2cWC3c/UPLSdaK8wUI/AAAAAAAAAmQ/sjQd7_P53Ik/s72-c/PIR_SSR.PNG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/motion-sensors-ssrs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMRXwzeSp7ImA9WhNUFk0.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-3915869146776627566</id><published>2013-01-07T17:58:00.000-05:00</published><updated>2013-01-07T18:44:44.281-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-07T18:44:44.281-05:00</app:edited><title>Temperature and Humidity Redux</title><content type="html">A long while back (in a galaxy very far away), we built a temp and humidity monitor with the &lt;a href="http://arduinotronics.blogspot.com/2010/09/our-temperature-humidity-monitor-is.html" target="_blank"&gt;SHT-21&lt;/a&gt; chip. It's a very accurate, albeit very expensive, solution. What if good enough, is good enough? If you don't need scientific resolution, the DHT-11 is a very inexpensive solution. Today we built a temp and humidity monitor with this module.

I started off with a &lt;a href="http://goo.gl/obTYK" target="_blank"&gt;DHT-11 breakout board from geeetech&lt;/a&gt;. I used this module because it has the pull up resistor and a conditioning capacitor onboard. I connected S (signal) to pin 2, - to Gnd, and&amp;nbsp;+ to 5vdc.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://ecx.images-amazon.com/images/I/41AKSp%2B1bKL.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="373" src="http://ecx.images-amazon.com/images/I/41AKSp%2B1bKL.jpg" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
I downloaded the library from &lt;a href="https://github.com/adafruit/DHT-sensor-library" target="_blank"&gt;github&lt;/a&gt; and followed the tutorial from &lt;a href="http://learn.adafruit.com/dht/overview" target="_blank"&gt;adafruit&lt;/a&gt;. I changed the sketch slightly, as it outputs the temperature in C, and I want to see it in F, so I changed two lines from:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Serial.print(t);&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; Serial.println(" *C");&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
to:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Serial.print(t*1.8+32);&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; Serial.println(" *F");&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Here is the final result:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-K-5yLtt6ADM/UOtR-ZHD6MI/AAAAAAAAAls/7BH7BBM97PY/s1600/dht11.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-K-5yLtt6ADM/UOtR-ZHD6MI/AAAAAAAAAls/7BH7BBM97PY/s320/dht11.PNG" width="318" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Example testing sketch for various DHT humidity/temperature sensors&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Written by ladyada, public domain&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Fahrenheit conversion added by Steve Spence, http://arduinotronics.blogspot.com&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
#include "DHT.h"&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
#define DHTPIN 2 &amp;nbsp; &amp;nbsp; // what pin we're connected to&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Uncomment whatever type you're using!&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
#define DHTTYPE DHT11 &amp;nbsp; // DHT 11&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
//#define DHTTYPE DHT22 &amp;nbsp; // DHT 22 &amp;nbsp;(AM2302)&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
//#define DHTTYPE DHT21 &amp;nbsp; // DHT 21 (AM2301)&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Connect pin + (middle) of the sensor to +5V&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Connect pin S&amp;nbsp;&amp;nbsp;(on the right)&amp;nbsp;of the sensor to whatever your DHTPIN is&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
// Connect pin - (on the left) of the sensor to GROUND&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
DHT dht(DHTPIN, DHTTYPE);&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
void setup() {&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; Serial.begin(9600);&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; Serial.println("DHTxx test!");&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; dht.begin();&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
}&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
void loop() {&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; // Reading temperature or humidity takes about 250 milliseconds!&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; float h = dht.readHumidity();&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; float t = dht.readTemperature();&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; // check if returns are valid, if they are NaN (not a number) then something went wrong!&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; if (isnan(t) || isnan(h)) {&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.println("Failed to read from DHT");&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; } else {&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.print("Humidity: ");&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.print(h);&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.print(" %\t");&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.print("Temperature: ");&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.print(t*1.8+32);&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.println(" *F");&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
}&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=7rQbdy7ZZ7w:o6FFh05TU-k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=7rQbdy7ZZ7w:o6FFh05TU-k:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=7rQbdy7ZZ7w:o6FFh05TU-k:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=7rQbdy7ZZ7w:o6FFh05TU-k:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/7rQbdy7ZZ7w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/3915869146776627566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/temperature-and-humidity-redux.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/3915869146776627566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/3915869146776627566?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/7rQbdy7ZZ7w/temperature-and-humidity-redux.html" title="Temperature and Humidity Redux" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-K-5yLtt6ADM/UOtR-ZHD6MI/AAAAAAAAAls/7BH7BBM97PY/s72-c/dht11.PNG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/temperature-and-humidity-redux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAAR3w8eCp7ImA9WhNbEEU.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-6054556815756728611</id><published>2013-01-07T08:54:00.001-05:00</published><updated>2013-01-13T08:45:46.270-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-13T08:45:46.270-05:00</app:edited><title>Working with the SainSmart 5v Relay Board</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Today we are working with our &lt;a href="http://goo.gl/qTZmj" target="_blank"&gt;SainSmart 5v Relay Board&lt;/a&gt;. This is a simple and inexpensive 4 port SPDT&amp;nbsp;relay board&amp;nbsp;(there are boards with more or less relays) &amp;nbsp;that takes a digital signal (LOW) from the Arduino, through an optoisolator, which&amp;nbsp;triggers&amp;nbsp;a transistor, pulling in the relay. The relay contacts are rated for 10 amps at 120/240vac, and 10 amps at 30vdc or less.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
IMPORTANT!&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The contact pins are not numbered, and are reversed if you go by what the schematic appears to be saying. Facing the screw terminals, with the board face up (solder side down), the screw terminals are as follows (from left to right):&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
K4&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
1 - Normally Open&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
2 - Common&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
3 - Normally Closed&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
K3&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
1 - Normally Open&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
2 - Common&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
3 - Normally Closed&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
K2&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
1 - Normally Open&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
2 - Common&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
3 - Normally Closed&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
K1&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
1 - Normally Open&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
2 - Common&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
3 - Normally Closed&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
When you send a logic low, that turns on the LED, and energizes the coil. However, a disconnected input will drop out the LED and the coil, as will a logic HIGH. We will send a logic HIGH in setup to ensure the relays are disabled on boot.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-IEFq8WDTNsU/UOrJ_zfS5bI/AAAAAAAAAlY/TlDCtwJq2yQ/s1600/sainrelay.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://1.bp.blogspot.com/-IEFq8WDTNsU/UOrJ_zfS5bI/AAAAAAAAAlY/TlDCtwJq2yQ/s400/sainrelay.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
There is a 6 pin male header, so you will need a &lt;a href="http://goo.gl/7iRBr" target="_blank"&gt;cable or female pins&lt;/a&gt; to slide over the header to connect it to your Arduino. Pin 1 connects to Arduino GND, Pins 2-5 to Digital output pins, and Pin 6 to Arduino 5v. A red LED for each relay lights when active (LOW).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://ecx.images-amazon.com/images/I/51kFbMU+3gL.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://ecx.images-amazon.com/images/I/51kFbMU+3gL.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
int relayPin1 = 7; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // IN1 connected to digital pin 7&lt;br /&gt;
int relayPin1 = 8; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // IN2 connected to digital pin 7&lt;br /&gt;
int relayPin1 = 9; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // IN3 connected to digital pin 7&lt;br /&gt;
int relayPin1 = 10; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // IN4 connected to digital pin 7&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; pinMode(relayPin1, OUTPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;// sets the digital pin as output&lt;br /&gt;
&amp;nbsp; pinMode(relayPin2, OUTPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;// sets the digital pin as output&lt;br /&gt;
&amp;nbsp; pinMode(relayPin3, OUTPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;// sets the digital pin as output&lt;br /&gt;
&amp;nbsp; pinMode(relayPin4, OUTPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;// sets the digital pin as output&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin1, HIGH); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Prevents relays from starting up engaged&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin2, HIGH); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Prevents relays from starting up engaged&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin3, HIGH); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Prevents relays from starting up engaged&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin4, HIGH); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Prevents relays from starting up engaged&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin1, LOW); &amp;nbsp; // energizes the relay and lights the LED&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin2, LOW); &amp;nbsp; // energizes the relay and lights the LED&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin3, LOW); &amp;nbsp; // energizes the relay and lights the LED&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin4, LOW); &amp;nbsp; // energizes the relay and lights the LED&lt;br /&gt;
&amp;nbsp; delay(1000); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// waits for a second&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin1, HIGH); &amp;nbsp; &amp;nbsp;// de-energizes the relay and LED is off&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin2, HIGH); &amp;nbsp; &amp;nbsp;// de-energizes the relay and LED is off&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin3, HIGH); &amp;nbsp; &amp;nbsp;// de-energizes the relay and LED is off&lt;br /&gt;
&amp;nbsp; digitalWrite(relayPin4, HIGH); &amp;nbsp; &amp;nbsp;// de-energizes the relay and LED is off&lt;br /&gt;
&amp;nbsp; delay(1000); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// waits for a second&lt;br /&gt;
}&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=co-FpofT6Z4:NNnpUVmUBwM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=co-FpofT6Z4:NNnpUVmUBwM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=co-FpofT6Z4:NNnpUVmUBwM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=co-FpofT6Z4:NNnpUVmUBwM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/co-FpofT6Z4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/6054556815756728611/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/working-with-sainsmart-5v-relay-board.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6054556815756728611?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6054556815756728611?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/co-FpofT6Z4/working-with-sainsmart-5v-relay-board.html" title="Working with the SainSmart 5v Relay Board" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-IEFq8WDTNsU/UOrJ_zfS5bI/AAAAAAAAAlY/TlDCtwJq2yQ/s72-c/sainrelay.PNG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/working-with-sainsmart-5v-relay-board.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8DRn0-fSp7ImA9WhNUFEQ.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-1931632914283662444</id><published>2013-01-06T09:27:00.000-05:00</published><updated>2013-01-06T12:21:17.355-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-06T12:21:17.355-05:00</app:edited><title>Build the $15 Arduino</title><content type="html">Since I don't want to dedicate a &lt;a href="http://goo.gl/5HFej" target="_blank"&gt;$22 Arduino UNO&lt;/a&gt; for every project (for space reasons, not price), I've started embedding a Atmel 328 chip into my projects. You can build your own Arduino UNO compatible for approximately $15 (buy &lt;a href="http://goo.gl/6pIKO" target="_blank"&gt;parts&lt;/a&gt; in bulk, and make several), depending on the options you want to include. This &lt;a href="http://goo.gl/A1hzX" target="_blank"&gt;DIY Arduino&lt;/a&gt; will be the foundation for a series of books we are writing based on the Arduino and general electronics.&lt;br /&gt;
&lt;br /&gt;
The bare minimum needed to build is the following:&lt;br /&gt;
&lt;br /&gt;
Qty. (1) ATMEGA328P (with Arduino Bootloader) &lt;a href="http://goo.gl/g1TTr" target="_blank"&gt;$2.95&lt;/a&gt;&lt;br /&gt;
Qty. (1) 28 pin socket (optional, but highly recommended)&lt;br /&gt;
Qty. (2) 22pf ceramic capacitors&lt;br /&gt;
Qty. (2) 100nf (.1 uf) ceramic capacitors&lt;br /&gt;
Qty. (1) 16 mHz crystal &lt;a href="http://goo.gl/ZRNIN" target="_blank"&gt;$2.57&lt;/a&gt;&lt;br /&gt;
Qty. (1) 6 pin male header (for &lt;a href="http://goo.gl/SJRX5" target="_blank"&gt;FTDI Programming Cable&lt;/a&gt;, see parts link above)&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
Qty. (1) 150 ohm 1/4w resistor &amp;amp;&lt;br /&gt;
Qty. (1) Green LED (pin 13 indicator)&lt;br /&gt;
&lt;br /&gt;
Qty. (1) PCB Momentary Tactile Push Button Switch (reset)&lt;br /&gt;
&lt;br /&gt;
Power supply:&lt;br /&gt;
Qty. (1) LM7805 5v voltage regulator&lt;br /&gt;
Qty. (2) 10uf electrolytic caps&lt;br /&gt;
Qty. (1) Green LED&lt;br /&gt;
Qty. (1) 150 Ohm 1/4w resistor&lt;br /&gt;
&lt;br /&gt;
Full instructions on assembly are located at&amp;nbsp;&lt;a href="http://thetransistor.com/projects/arduino/" target="_blank"&gt;http://thetransistor.com/projects/arduino/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=IJDwJ013TSg:tcrDX7BOIUU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=IJDwJ013TSg:tcrDX7BOIUU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=IJDwJ013TSg:tcrDX7BOIUU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=IJDwJ013TSg:tcrDX7BOIUU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/IJDwJ013TSg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/1931632914283662444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/build-15-arduino.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1931632914283662444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1931632914283662444?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/IJDwJ013TSg/build-15-arduino.html" title="Build the $15 Arduino" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/build-15-arduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMHR3g8eyp7ImA9WhNUEko.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-3836230896968025721</id><published>2013-01-03T20:59:00.001-05:00</published><updated>2013-01-03T22:33:56.673-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-03T22:33:56.673-05:00</app:edited><title>Working with Reed Relays</title><content type="html">One of the main benefits of Physical Computing is being able to control your environment, not just monitor it. Transistors, MOSFETs, Solid State Relays, and Mechanical Relays all allow you to turn devices on and off based on inputs and decision making processes.&lt;br /&gt;
&lt;br /&gt;
One of my favorite Mechanical Relays is the Reed Relay. They come in a variety of coil voltages, and the one we use has a 5v coil, and is a perfect match for the Arduino. It has a resistance of 500 ohms, so it draws 10ma, right within the range of the Arduino output capabilities. Reed Relays come with or without snubber diodes. &lt;a href="http://en.wikipedia.org/wiki/Snubber" target="_blank"&gt;Snubber diodes&lt;/a&gt; are used to prevent the inductive kick of the coil from damaging the port on the Arduino. We will be using a Reed Relay with a built in snubber.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-slA3UnDgn3c/UOYzB29b7hI/AAAAAAAAAkw/GmD2hwmWu3c/s1600/reedrelay2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="122" src="http://4.bp.blogspot.com/-slA3UnDgn3c/UOYzB29b7hI/AAAAAAAAAkw/GmD2hwmWu3c/s320/reedrelay2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
We will be using a &lt;a href="http://arduino.cc/en/Reference/DigitalWrite" target="_blank"&gt;digitalWrite&lt;/a&gt; command to output a 5v HIGH to the output pin that connects to the&amp;nbsp;+ pin on the reed relay. The &lt;a href="http://www.alliedelec.com/Search/ProductDetail.aspx?SKU=70185466" target="_blank"&gt;Magnecraft W107DIP-5&lt;/a&gt; is a fairly inexpensive Reed Relay, with Normally Open contacts. Normally Closed, and SPDT varieties are also&amp;nbsp;available.&lt;br /&gt;
&lt;br /&gt;
Connect Pin 3 of the reed relay to the output pin (13) on the Arduino. Connect Pin 5 of the reed relay to Gnd. Pins 1 &amp;amp; 7 are your switched contacts. Connect Pin 1 to power, Pin 7 to load, and the other pin of your load to the other power connector. The load and load power can be AC or DC, and up to .5 amp current draw.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-wUP1qXDzSjk/UOYyjxePRrI/AAAAAAAAAko/1wcw3mEMk4k/s1600/reedrelay.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-wUP1qXDzSjk/UOYyjxePRrI/AAAAAAAAAko/1wcw3mEMk4k/s1600/reedrelay.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;pre style="background-color: white; color: #555555; text-align: start;"&gt;int outputPin = 13;       // Relay connected to digital pin 13

void setup()
{
  pinMode(outputPin, OUTPUT);   // sets the digital pin as output
}

void loop()
{
  digitalWrite(outputPin, HIGH);   // sets the relay on
  delay(5000);                  // waits for 5 seconds
  digitalWrite(outputPin, LOW);    // sets the relay off
  delay(5000);                  // waits for 5 seconds
}&lt;/pre&gt;
&lt;pre style="background-color: white; color: #555555; text-align: start;"&gt;&lt;/pre&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-a1iaH7Fthgo/UOY3LiGrlRI/AAAAAAAAAlE/xTAkbDTlKZE/s1600/reedrelay3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://2.bp.blogspot.com/-a1iaH7Fthgo/UOY3LiGrlRI/AAAAAAAAAlE/xTAkbDTlKZE/s320/reedrelay3.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre style="background-color: white; color: #555555; text-align: start;"&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2DHh_ki_HGA:v1-abDtllUM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2DHh_ki_HGA:v1-abDtllUM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=2DHh_ki_HGA:v1-abDtllUM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=2DHh_ki_HGA:v1-abDtllUM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/2DHh_ki_HGA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/3836230896968025721/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2013/01/working-with-reed-relays.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/3836230896968025721?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/3836230896968025721?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/2DHh_ki_HGA/working-with-reed-relays.html" title="Working with Reed Relays" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-slA3UnDgn3c/UOYzB29b7hI/AAAAAAAAAkw/GmD2hwmWu3c/s72-c/reedrelay2.PNG" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2013/01/working-with-reed-relays.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQEQHk4cSp7ImA9WhNVFkw.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-7684826411468887318</id><published>2012-12-27T08:51:00.005-05:00</published><updated>2012-12-27T08:51:41.739-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-27T08:51:41.739-05:00</app:edited><title>Arduino &amp; Android Integration</title><content type="html">I'm working on a project for a friend of mine, which requires a Arduino to be connected to an Android device. The Android is the display and control&amp;nbsp;interface&amp;nbsp;for the Arduino, displaying data from the Arduino, pin status, and sending control messages to turn items on and off, dim with PWM, etc.&lt;br /&gt;
&lt;br /&gt;
2 items we recommend are the &lt;a href="http://goo.gl/KcFEm" target="_blank"&gt;Arduino MEGA ADK R3 for Android&lt;/a&gt; and &lt;a href="http://goo.gl/F12XE" target="_blank"&gt;Beginning Android ADK with Arduino&lt;/a&gt;. Add a Android phone or tablet, and you are on your way to creating some very cool apps, limited only by your imagination.&lt;br /&gt;
&lt;br /&gt;
I just finished reading this book, and I highly recommend it. It makes it easy to create apps and communication between the Arduino and the Android!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://goo.gl/KcFEm" target="_blank"&gt;&lt;img border="0" height="320" src="http://ecx.images-amazon.com/images/I/91aL+M1lEIL._AA1500_.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://goo.gl/F12XE" target="_blank"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/51qxxc-YL6L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=DiopSuhEbyE:e25BfTnOOsQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=DiopSuhEbyE:e25BfTnOOsQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=DiopSuhEbyE:e25BfTnOOsQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=DiopSuhEbyE:e25BfTnOOsQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/DiopSuhEbyE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/7684826411468887318/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/12/arduino-android-integration.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/7684826411468887318?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/7684826411468887318?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/DiopSuhEbyE/arduino-android-integration.html" title="Arduino &amp; Android Integration" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/12/arduino-android-integration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcNQ3g5fCp7ImA9WhNVE0g.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-1663857615480996270</id><published>2012-12-24T09:02:00.002-05:00</published><updated>2012-12-24T09:08:12.624-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-24T09:08:12.624-05:00</app:edited><title>Breadboard and Protoboard Combo Pack</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.wrighthobbies.com/images/P/bb400pb400combo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="219" src="http://www.wrighthobbies.com/images/P/bb400pb400combo.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
A&amp;nbsp;prototyper's&amp;nbsp;dream combination, I can't recommend this inexpensive ($7) package enough. After working out the bugs in your design on the solderless breadboard, transfer it to the permanent PCB for posterity. Perfect for embedded DIY Arduino designs where shield compatibility is not a concern.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.wrighthobbies.com/product.php?productid=131&amp;amp;cat=18&amp;amp;page=1"&gt;http://www.wrighthobbies.com/product.php?productid=131&amp;amp;cat=18&amp;amp;page=1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Breadboard 400&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
Standard solderless breadboard with 2 power strips and 400 contact points.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;ProtoBoard 400&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
High quality,double-sided prototype board designed for quick and quality prototyping.  These are production quality boards with solder mask and silk screen. The board has 464 plated through holes. The board is laid out to match a 400-point  breadboard with the same row and column markings. This allows you to build a circuit on a breadboard then transfer the design to the protoboard exactly as it is on the breadboard. An additional double column of holes runs through the middle of the board for additional power connections.&lt;br /&gt;
&lt;br /&gt;
These boards are durable and easy to work with. You won't have to worry about pads coming loose with this board!&lt;br /&gt;
&lt;br /&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="175px" id="Player_0348d3d3-f39b-4361-a8fe-8c9be1a5ad19" nbsp="nbsp" px="px"&gt; &lt;param NAME="movie" VALUE="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;amp;ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F0348d3d3-f39b-4361-a8fe-8c9be1a5ad19&amp;amp;Operation=GetDisplayTemplate"&gt;&lt;param NAME="quality" VALUE="high"&gt;&lt;param NAME="bgcolor" VALUE="#FFFFFF"&gt;&lt;param NAME="allowscriptaccess" VALUE="always"&gt;&lt;embed src="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;amp;ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F0348d3d3-f39b-4361-a8fe-8c9be1a5ad19&amp;amp;Operation=GetDisplayTemplate" id="Player_0348d3d3-f39b-4361-a8fe-8c9be1a5ad19" quality="high" bgcolor="#ffffff" name="Player_0348d3d3-f39b-4361-a8fe-8c9be1a5ad19" allowscriptaccess="always" &amp;nbsp;type="application/x-shockwave-flash" align="middle" height="175px" width="500px"&gt;&lt;/embed&gt;&lt;/OBJECT&gt; &lt;noscript&gt;&lt;a HREF="http://ws.amazon.com/widgets/q?rt=tf_cw&amp;amp;ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fwebconx%2F8010%2F0348d3d3-f39b-4361-a8fe-8c9be1a5ad19&amp;amp;Operation=NoScript"&gt;Amazon.com Widgets&lt;/A&gt;&lt;/noscript&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=tElkbEhfAlU:9Qrb7IYhC7o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=tElkbEhfAlU:9Qrb7IYhC7o:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=tElkbEhfAlU:9Qrb7IYhC7o:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=tElkbEhfAlU:9Qrb7IYhC7o:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/tElkbEhfAlU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/1663857615480996270/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/12/breadboard-and-protoboard-combo-pack.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1663857615480996270?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/1663857615480996270?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/tElkbEhfAlU/breadboard-and-protoboard-combo-pack.html" title="Breadboard and Protoboard Combo Pack" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/12/breadboard-and-protoboard-combo-pack.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHR309eyp7ImA9WhNWFks.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-6477086315122946038</id><published>2012-12-12T21:06:00.000-05:00</published><updated>2012-12-16T07:18:56.363-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-16T07:18:56.363-05:00</app:edited><title>Arduino PID Control</title><content type="html">PID you say. What's that?&lt;br /&gt;
&lt;br /&gt;
According to &lt;a href="http://en.wikipedia.org/wiki/PID_controller"&gt;Wikipedia&lt;/a&gt;:

A proportional–integral–derivative controller (PID controller) is a generic control loop feedback mechanism (controller) widely used in industrial control systems – a PID is the most commonly used feedback controller. A PID controller calculates an "error" value as the difference between a measured process variable and a desired setpoint. The controller attempts to minimize the error by adjusting the process control inputs.&lt;br /&gt;
&lt;br /&gt;
Here's the issue:

Let's say you want to heat a tank of water to 150 degrees. you check the temp sensor, and it says 100 degrees, so you turn on the heat full bore. You check again, and it says 160 degrees, so you turn off the heat. But now the water has cooled to 140. Now with a micro-controller like the Arduino, &lt;a href="http://arduinotronics.blogspot.com/2011/05/dual-water-tank-heater-thermostat.html" target="_blank"&gt;keeping a 10 degree spread (+/- 5 degrees) isn't too hard&lt;/a&gt;, but for finer and more intelligent control, it's time for PID!&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
The &lt;a href="http://playground.arduino.cc/Code/PIDLibrary"&gt;Arduino Playground&lt;/a&gt; puts it this way:

So, you tell the PID what to measure (the "Input",) Where you want that measurement to be (the "Setpoint",) and the variable to adjust that can make that happen (the "Output".) The PID then adjusts the output trying to make the input equal the setpoint.&lt;br /&gt;
&lt;br /&gt;
There is an awesome library for the Arduino that makes this process almost easy.&lt;br /&gt;
&lt;br /&gt;
Read more at &lt;a href="http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/"&gt;http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://goo.gl/FdcxT"&gt;PID Controllers: Theory, Design, and Tuning&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=BKWI3QoZHxo:BVKaNFB5IQg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=BKWI3QoZHxo:BVKaNFB5IQg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=BKWI3QoZHxo:BVKaNFB5IQg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=BKWI3QoZHxo:BVKaNFB5IQg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/BKWI3QoZHxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/6477086315122946038/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/12/arduino-pid-control.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6477086315122946038?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6477086315122946038?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/BKWI3QoZHxo/arduino-pid-control.html" title="Arduino PID Control" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/12/arduino-pid-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FSXYzfSp7ImA9WhNXFE0.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-758064324514345335</id><published>2012-12-01T17:56:00.001-05:00</published><updated>2012-12-01T18:00:18.885-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-01T18:00:18.885-05:00</app:edited><title>Arduino &amp; Model Railroading: Io:duino</title><content type="html">From&amp;nbsp;&lt;a href="http://railstars.com/hardware/io/io-duino/"&gt;http://railstars.com/hardware/io/io-duino/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
The Io:duino is designed for DIY model railroading, combining the power of&amp;nbsp;&lt;a href="http://nmranet.org/" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;NMRAnet&lt;/a&gt;&amp;nbsp;and open-source tools. Fully&amp;nbsp;&lt;a href="http://arduino.cc/" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;Arduino&lt;/a&gt;-compatible, Io:duino makes it easy to design your own digital controls, for layout automation, lighting effects, even controlling your trains via DC or DCC.*&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
Even better, Io:duino’s built-in Controller Area Network (CAN) support makes it a great tool for hacking your automobile, or for home automation.**&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
Io:duino is built around the Atmel AT90CAN128 processor, whose 128KB of program space, 4KB of SRAM, and 4KB of EEPROM are just the icing on the cake. This processor has built-in hardware support for the CAN and NMRAnet networking protocols, without sacrificing any of the digital I/O pins.&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
&lt;a href="http://arduino.cc/" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;Arduino&lt;/a&gt;&amp;nbsp;compatibility means you have immediate access to hundreds of add-ons called shields, empowering you start building without any additional tools. And it’s easy to write and upload your own custom software over USB.&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
Like all Railstars products, Io:duino includes a No-Questions-Asked 3-Year Warranty!&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
Retail Price $90. Available from an&amp;nbsp;&lt;a href="http://railstars.com/dealers/" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;Railstars Authorized Dealer&lt;/a&gt;&amp;nbsp;or the&amp;nbsp;&lt;a href="http://railstars.com/store/#ecwid:category=1314839&amp;amp;mode=product&amp;amp;product=9415197" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;Railstars Web Store&lt;/a&gt;.&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
*Requires additional hardware, such as a digital power station like&amp;nbsp;&lt;a href="http://railstars.com/hardware/railbooster/" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;RAILbooster&lt;/a&gt;, or a motor shield like&amp;nbsp;&lt;a href="http://www.sparkfun.com/products/9213" style="background-color: transparent; border: 0px; color: #00b7f3; margin: 0px; outline: 0px; padding: 0px; text-decoration: initial; text-shadow: none !important; vertical-align: baseline;"&gt;Ardumotor&lt;/a&gt;, not included.&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;
**Requires cable adapter and additional software libraries, not included.&lt;/div&gt;
&lt;div style="background-color: #f7f7f7; border: 0px; color: #201f1f; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; outline: 0px; padding: 0px 0px 10px; vertical-align: baseline;"&gt;&lt;/div&gt;
&lt;p&gt;
Further Reading:&lt;p&gt;
&lt;a href="http://www.amazon.com/gp/product/0890246769/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0890246769&amp;amp;linkCode=as2&amp;amp;tag=webconx"&gt;The DCC Guide: How to Select and Use Your Command Control System&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=webconx&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0890246769" style="border: none !important; margin: 0px !important;" width="1" /&gt;
&lt;a href="http://www.amazon.com/gp/product/0890246769/ref=as_li_ss_il?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0890246769&amp;amp;linkCode=as2&amp;amp;tag=webconx"&gt;&lt;img border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=0890246769&amp;amp;Format=_SL110_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=webconx" /&gt;&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=webconx&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0890246769" style="border: none !important; margin: 0px !important;" width="1" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=v4WbxYO9Gfg:A08MEEl-oEk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=v4WbxYO9Gfg:A08MEEl-oEk:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=v4WbxYO9Gfg:A08MEEl-oEk:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=v4WbxYO9Gfg:A08MEEl-oEk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/v4WbxYO9Gfg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/758064324514345335/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/12/arduino-model-railroading-ioduino.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/758064324514345335?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/758064324514345335?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/v4WbxYO9Gfg/arduino-model-railroading-ioduino.html" title="Arduino &amp; Model Railroading: Io:duino" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/12/arduino-model-railroading-ioduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYGR3k8fyp7ImA9WhNQGEk.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-6053389437828528949</id><published>2012-11-24T08:00:00.002-05:00</published><updated>2012-11-25T07:22:06.777-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-25T07:22:06.777-05:00</app:edited><title>More Ethernet - Read Analog, &amp; Set Digital Pins</title><content type="html">As a followup to our previous Ethernet web server example, I offer a enhanced version. Again, it displays what is coming in on the analog pins, but also allows you to control digital pins 0-7.&lt;br /&gt;
&lt;br /&gt;
Get the &lt;a href="https://docs.google.com/open?id=0ByRIq5k2wjcSNHM1RnI3cVhVZ2M"&gt;CODE HERE&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;a href="http://goo.gl/fLMul" target="_blank"&gt;Arduino UNO&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://goo.gl/HBdKP" target="_blank"&gt;Ethernet Shield&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Plug shield into your home router with an ethernet cable. Change IP information to match your network, and MAC address to match your shield.&lt;br /&gt;
&lt;br /&gt;
The html isn't pretty, but it's functional! I'm sure some of you can pretty it up, and even show the current status of the digital pins, like the status of the analog pins are displayed. Thanks to the &lt;a href="http://blog.whatididwas.com/" target="_blank"&gt;What I did Was&lt;/a&gt; blog for&amp;nbsp;inspiration!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-afi-BBkyFkM/ULDEcyWmLmI/AAAAAAAAAkA/URRRsZzeSWI/s1600/webserver.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://4.bp.blogspot.com/-afi-BBkyFkM/ULDEcyWmLmI/AAAAAAAAAkA/URRRsZzeSWI/s320/webserver.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=nNpajfG161M:1L5mQmZdz1E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=nNpajfG161M:1L5mQmZdz1E:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=nNpajfG161M:1L5mQmZdz1E:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=nNpajfG161M:1L5mQmZdz1E:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/nNpajfG161M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/6053389437828528949/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/11/more-ethernet-read-analog-set-digital.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6053389437828528949?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/6053389437828528949?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/nNpajfG161M/more-ethernet-read-analog-set-digital.html" title="More Ethernet - Read Analog, &amp; Set Digital Pins" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-afi-BBkyFkM/ULDEcyWmLmI/AAAAAAAAAkA/URRRsZzeSWI/s72-c/webserver.PNG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/11/more-ethernet-read-analog-set-digital.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQBRXw7eSp7ImA9WhNQGEk.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-4837911759200533340</id><published>2012-11-23T13:08:00.000-05:00</published><updated>2012-11-25T07:42:34.201-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-25T07:42:34.201-05:00</app:edited><title>Using a Keypad for Input</title><content type="html">Keypads are handy for a variety of projects, from security access to telephone dialing. In this tutorial, we use a &lt;a href="http://www.adafruit.com/products/419" target="_blank"&gt;Adafruit membrane keypad&lt;/a&gt;, and output the button presses to the serial monitor. Nothing fancy, just a platform for future development. Expand the &lt;a href="http://arduino.cc/playground/uploads/Code/keypad.zip" target="_blank"&gt;Library&lt;/a&gt; in your sketchbook/libraries/ folder. The next step will be to &lt;a href="http://arduino.cc/playground/Code/MUX151" target="_blank"&gt;multiplex&lt;/a&gt; the lines so we don't use up 7 inputs with a &lt;a href="http://www.ti.com/lit/ds/sdls054/sdls054.pdf" target="_blank"&gt;SN74LS151&lt;/a&gt; (reduces Arduino pins to 3, expands inputs up to 16).&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;a href="http://goo.gl/IBN9K" target="_blank"&gt;Arduino Uno&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://goo.gl/8bW6h" target="_blank"&gt;Breadboard Kit&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://goo.gl/wXEzr" target="_blank"&gt;Membrane Keypad&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.adafruit.com/images/large/membranekeypad34arduino_LRG.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://www.adafruit.com/images/large/membranekeypad34arduino_LRG.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
#include &amp;lt;Keypad.h&amp;gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
const byte ROWS = 4; //four rows&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
const byte COLS = 3; //three columns&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
char keys[ROWS][COLS] = {&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; {'1','2','3'},&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; {'4','5','6'},&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; {'7','8','9'},&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; {'*','0','#'}&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
};&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pinouts of the keypad&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
byte colPins[COLS] = {4, 3, 2}; //connect to the column pinouts of the keypad&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
void setup(){&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; Serial.begin(9600);&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
}&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
void loop(){&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; char key = keypad.getKey();&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; if (key != NO_KEY){&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; &amp;nbsp; Serial.println(key);&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-beaWHQgoyhg/UK-7UxJVvFI/AAAAAAAAAjc/whrksyO5HQE/s1600/keypad+output.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-beaWHQgoyhg/UK-7UxJVvFI/AAAAAAAAAjc/whrksyO5HQE/s320/keypad+output.PNG" width="285" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=sWKmtLIozHU:sHyL-c1w6GQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=sWKmtLIozHU:sHyL-c1w6GQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=sWKmtLIozHU:sHyL-c1w6GQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=sWKmtLIozHU:sHyL-c1w6GQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/sWKmtLIozHU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/4837911759200533340/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/11/using-keypad-for-input.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4837911759200533340?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4837911759200533340?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/sWKmtLIozHU/using-keypad-for-input.html" title="Using a Keypad for Input" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-beaWHQgoyhg/UK-7UxJVvFI/AAAAAAAAAjc/whrksyO5HQE/s72-c/keypad+output.PNG" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/11/using-keypad-for-input.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAFQ3wzcCp7ImA9WhNQFkU.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-389789031247770812</id><published>2012-11-23T11:05:00.000-05:00</published><updated>2012-11-23T11:05:12.288-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-23T11:05:12.288-05:00</app:edited><title>EtherShield SD Card Access</title><content type="html">Since I was playing with my EtherShield SD, I figured I'd load up the example sketch "CardInfo" in the SD folder. I popped in the microSD card from my digital camera, and it started listing the files on my card (but did not recognize the full 16GB partition).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Initializing SD card...Wiring is correct and a card is present.&lt;br /&gt;
&lt;br /&gt;
Card type: SDHC&lt;br /&gt;
&lt;br /&gt;
Volume type is FAT32&lt;br /&gt;
&lt;br /&gt;
Volume size (bytes): 3038248960&lt;br /&gt;
Volume size (Kbytes): 2967040&lt;br /&gt;
Volume size (Mbytes): 2897&lt;br /&gt;
&lt;br /&gt;
Files found on the card (name, date and size in bytes):&lt;br /&gt;
DCIM/ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2011-06-20 14:58:52&lt;br /&gt;
&amp;nbsp; 100_PANA/ &amp;nbsp; &amp;nbsp; 2011-06-20 19:07:48&lt;br /&gt;
&amp;nbsp; &amp;nbsp; P1000812.JPG &amp;nbsp;2011-09-08 09:19:54 4158647&lt;br /&gt;
&amp;nbsp; &amp;nbsp; P1000781.JPG &amp;nbsp;2011-08-20 21:02:02 4309863&lt;br /&gt;
&amp;nbsp; &amp;nbsp; P1000813.JPG &amp;nbsp;2011-09-08 09:20:00 4258311&lt;br /&gt;
&amp;nbsp; &amp;nbsp; P1000814.JPG &amp;nbsp;2011-09-08 09:20:06 4145655&lt;br /&gt;
&amp;nbsp; &amp;nbsp; P1000954.JPG &amp;nbsp;2011-10-05 19:11:52 3605223&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ......&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp; SD card test&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp;This example shows how use the utility libraries on which the'&lt;br /&gt;
&amp;nbsp;SD library is based in order to get info about your SD card.&lt;br /&gt;
&amp;nbsp;Very useful for testing a card when you're not sure whether its working or not.&lt;br /&gt;
&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&amp;nbsp;The circuit:&lt;br /&gt;
&amp;nbsp; * SD card attached to SPI bus as follows:&lt;br /&gt;
&amp;nbsp;** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila&lt;br /&gt;
&amp;nbsp;** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila&lt;br /&gt;
&amp;nbsp;** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila&lt;br /&gt;
&amp;nbsp;** CS - depends on your SD card shield or module.&lt;br /&gt;
&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Pin 4 used here for consistency with other Arduino examples&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;created &amp;nbsp;28 Mar 2011&lt;br /&gt;
&amp;nbsp;by Limor Fried&lt;br /&gt;
&amp;nbsp;modified 9 Apr 2012&lt;br /&gt;
&amp;nbsp;by Tom Igoe&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
&amp;nbsp;// include the SD library:&lt;br /&gt;
#include &amp;lt;SD.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// set up variables using the SD utility library functions:&lt;br /&gt;
Sd2Card card;&lt;br /&gt;
SdVolume volume;&lt;br /&gt;
SdFile root;&lt;br /&gt;
&lt;br /&gt;
// change this to match your SD shield or module;&lt;br /&gt;
// Arduino Ethernet shield: pin 4&lt;br /&gt;
// Adafruit SD shields and modules: pin 10&lt;br /&gt;
// Sparkfun SD shield: pin 8&lt;br /&gt;
const int chipSelect = 4; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;// Open serial communications and wait for port to open:&lt;br /&gt;
&amp;nbsp; Serial.begin(9600);&lt;br /&gt;
&amp;nbsp; &amp;nbsp;while (!Serial) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ; // wait for serial port to connect. Needed for Leonardo only&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Serial.print("\nInitializing SD card...");&lt;br /&gt;
&amp;nbsp; // On the Ethernet Shield, CS is pin 4. It's set as an output by default.&lt;br /&gt;
&amp;nbsp; // Note that even if it's not used as the CS pin, the hardware SS pin&lt;br /&gt;
&amp;nbsp; // (10 on most Arduino boards, 53 on the Mega) must be left as an output&lt;br /&gt;
&amp;nbsp; // or the SD library functions will not work.&lt;br /&gt;
&amp;nbsp; pinMode(10, OUTPUT); &amp;nbsp; &amp;nbsp; // change this to 53 on a mega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // we'll use the initialization code from the utility libraries&lt;br /&gt;
&amp;nbsp; // since we're just testing if the card is working!&lt;br /&gt;
&amp;nbsp; if (!card.init(SPI_HALF_SPEED, chipSelect)) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("initialization failed. Things to check:");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("* is a card is inserted?");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("* Is your wiring correct?");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("* did you change the chipSelect pin to match your shield or module?");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return;&lt;br /&gt;
&amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Serial.println("Wiring is correct and a card is present.");&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // print the type of card&lt;br /&gt;
&amp;nbsp; Serial.print("\nCard type: ");&lt;br /&gt;
&amp;nbsp; switch(card.type()) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; case SD_CARD_TYPE_SD1:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println("SD1");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; case SD_CARD_TYPE_SD2:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println("SD2");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; case SD_CARD_TYPE_SDHC:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println("SDHC");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; default:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println("Unknown");&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32&lt;br /&gt;
&amp;nbsp; if (!volume.init(card)) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return;&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // print the type and size of the first FAT-type volume&lt;br /&gt;
&amp;nbsp; uint32_t volumesize;&lt;br /&gt;
&amp;nbsp; Serial.print("\nVolume type is FAT");&lt;br /&gt;
&amp;nbsp; Serial.println(volume.fatType(), DEC);&lt;br /&gt;
&amp;nbsp; Serial.println();&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp; volumesize = volume.blocksPerCluster(); &amp;nbsp; &amp;nbsp;// clusters are collections of blocks&lt;br /&gt;
&amp;nbsp; volumesize *= volume.clusterCount(); &amp;nbsp; &amp;nbsp; &amp;nbsp; // we'll have a lot of clusters&lt;br /&gt;
&amp;nbsp; volumesize *= 512; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// SD card blocks are always 512 bytes&lt;br /&gt;
&amp;nbsp; Serial.print("Volume size (bytes): ");&lt;br /&gt;
&amp;nbsp; Serial.println(volumesize);&lt;br /&gt;
&amp;nbsp; Serial.print("Volume size (Kbytes): ");&lt;br /&gt;
&amp;nbsp; volumesize /= 1024;&lt;br /&gt;
&amp;nbsp; Serial.println(volumesize);&lt;br /&gt;
&amp;nbsp; Serial.print("Volume size (Mbytes): ");&lt;br /&gt;
&amp;nbsp; volumesize /= 1024;&lt;br /&gt;
&amp;nbsp; Serial.println(volumesize);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp; Serial.println("\nFiles found on the card (name, date and size in bytes): ");&lt;br /&gt;
&amp;nbsp; root.openRoot(volume);&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp; // list all files in the card with date and size&lt;br /&gt;
&amp;nbsp; root.ls(LS_R | LS_DATE | LS_SIZE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=KjUEpE6jTNo:IS-D6F9IJnQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=KjUEpE6jTNo:IS-D6F9IJnQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=KjUEpE6jTNo:IS-D6F9IJnQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=KjUEpE6jTNo:IS-D6F9IJnQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/KjUEpE6jTNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/389789031247770812/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/11/ethershield-sd-card-access.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/389789031247770812?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/389789031247770812?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/KjUEpE6jTNo/ethershield-sd-card-access.html" title="EtherShield SD Card Access" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/11/ethershield-sd-card-access.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8HQ3Y5fip7ImA9WhNQFkU.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-4021055357147543974</id><published>2012-11-23T10:31:00.001-05:00</published><updated>2012-11-23T10:33:52.826-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-23T10:33:52.826-05:00</app:edited><title>Simple Ethernet</title><content type="html">This is the first in a series of&amp;nbsp;Ethernet&amp;nbsp;projects. This first project will display the values coming from the analog ports in a web browser on a remote machine. Additional posts will cover controlling the&amp;nbsp;Arduino&amp;nbsp;from a web browser, and reading and writing to the SD card for logging purposes. Stay tuned!&lt;br /&gt;
&lt;br /&gt;
I popped a Arduino EtherShield SD on to an older Duemilanove (328), and loaded the following sketch. I changed the MAC address to the one printed on the bottom of my EtherShield, and put in a applicable IP address from my network. When I pointed my browser to the new IP address, I got the following output:&lt;br /&gt;
&lt;br /&gt;
analog input 0 is 1023&lt;br /&gt;
analog input 1 is 0&lt;br /&gt;
analog input 2 is 1023&lt;br /&gt;
analog input 3 is 771&lt;br /&gt;
analog input 4 is 551&lt;br /&gt;
analog input 5 is 437&lt;br /&gt;
&lt;br /&gt;
This makes sense, because I have A0 and A2 connected to 5v, A1 connected to Gnd, and A3-A5 are left floating, and the values change every second or so.&lt;br /&gt;
&lt;br /&gt;
Sketch from examples folder (Ethernet, Web Server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp; Web Server&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;A simple web server that shows the value of the analog input pins.&lt;br /&gt;
&amp;nbsp;using an Arduino Wiznet Ethernet shield.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Circuit:&lt;br /&gt;
&amp;nbsp;* Ethernet shield attached to pins 10, 11, 12, 13&lt;br /&gt;
&amp;nbsp;* Analog inputs attached to pins A0 through A5 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;created 18 Dec 2009&lt;br /&gt;
&amp;nbsp;by David A. Mellis&lt;br /&gt;
&amp;nbsp;modified 9 Apr 2012&lt;br /&gt;
&amp;nbsp;by Tom Igoe&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Ethernet.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Enter a MAC address and IP address for your controller below.&lt;br /&gt;
// The IP address will be dependent on your local network:&lt;br /&gt;
byte mac[] = {&lt;br /&gt;
&amp;nbsp; 0x90, 0xA2, 0xDA, 0x00, 0x23, 0x36 };&lt;br /&gt;
IPAddress ip(192,168,254, 177);&lt;br /&gt;
&lt;br /&gt;
// Initialize the Ethernet server library&lt;br /&gt;
// with the IP address and port you want to use&lt;br /&gt;
// (port 80 is default for HTTP):&lt;br /&gt;
EthernetServer server(80);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&amp;nbsp;// Open serial communications and wait for port to open:&lt;br /&gt;
&amp;nbsp; Serial.begin(9600);&lt;br /&gt;
&amp;nbsp; &amp;nbsp;while (!Serial) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ; // wait for serial port to connect. Needed for Leonardo only&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // start the Ethernet connection and the server:&lt;br /&gt;
&amp;nbsp; Ethernet.begin(mac, ip);&lt;br /&gt;
&amp;nbsp; server.begin();&lt;br /&gt;
&amp;nbsp; Serial.print("server is at ");&lt;br /&gt;
&amp;nbsp; Serial.println(Ethernet.localIP());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&amp;nbsp; // listen for incoming clients&lt;br /&gt;
&amp;nbsp; EthernetClient client = server.available();&lt;br /&gt;
&amp;nbsp; if (client) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("new client");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // an http request ends with a blank line&lt;br /&gt;
&amp;nbsp; &amp;nbsp; boolean currentLineIsBlank = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while (client.connected()) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if (client.available()) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char c = client.read();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.write(c);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // if you've gotten to the end of the line (received a newline&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // character) and the line is blank, the http request has ended,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // so you can send a reply&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (c == '\n' &amp;amp;&amp;amp; currentLineIsBlank) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // send a standard http response header&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("HTTP/1.1 200 OK");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("Content-Type: text/html");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("Connnection: close");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("&lt;html&gt;");&lt;/html&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // add a meta refresh tag, so the browser pulls again every 5 seconds:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // output the value of each analog input pin&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int analogChannel = 0; analogChannel &amp;lt; 6; analogChannel++) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int sensorReading = analogRead(analogChannel);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.print("analog input ");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.print(analogChannel);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.print(" is ");&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.print(sensorReading);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("&lt;br /&gt;
"); &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client.println("&lt;br /&gt;
");&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (c == '\n') {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // you're starting a new line&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentLineIsBlank = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (c != '\r') {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // you've gotten a character on the current line&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentLineIsBlank = false;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // give the web browser time to receive the data&lt;br /&gt;
&amp;nbsp; &amp;nbsp; delay(1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // close the connection:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; client.stop();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Serial.println("client disonnected");&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=FlrUvwFn-CI:ocACSkAoQ3A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=FlrUvwFn-CI:ocACSkAoQ3A:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=FlrUvwFn-CI:ocACSkAoQ3A:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=FlrUvwFn-CI:ocACSkAoQ3A:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/FlrUvwFn-CI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/4021055357147543974/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/11/simple-ethernet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4021055357147543974?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/4021055357147543974?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/FlrUvwFn-CI/simple-ethernet.html" title="Simple Ethernet" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/11/simple-ethernet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YGQX46cSp7ImA9WhNQFkU.&quot;"><id>tag:blogger.com,1999:blog-4702287955799719958.post-8166958101605290991</id><published>2012-11-22T12:45:00.000-05:00</published><updated>2012-11-23T10:38:40.019-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-23T10:38:40.019-05:00</app:edited><title>Producing DTMF Tones</title><content type="html">I wanted to teach my Arduino to talk telephone, so I added a &lt;a href="http://www.holtek.com.tw/english/tech/appnote/comm/pdf/ha0037e.pdf" target="_blank"&gt;HT9000A DTMF chip&lt;/a&gt; to produce the familiar "touch tones" (upcoming projects will act upon "heard" DTMF tones, but with a different chip). &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-LEGTiZoiLQ0/UK5iKkl49uI/AAAAAAAAAjI/zYulRtGllrs/s1600/dtmf-out.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="122" src="http://2.bp.blogspot.com/-LEGTiZoiLQ0/UK5iKkl49uI/AAAAAAAAAjI/zYulRtGllrs/s320/dtmf-out.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
The output is really low volume, so you may want to plug in amplified speakers or use an input on your stereo. You could build an amplifier circuit with a &lt;a href="http://www.ti.com/lit/ds/symlink/lm386.pdf" target="_blank"&gt;LM386&lt;/a&gt; as well.&lt;br /&gt;
&lt;br /&gt;
I used an Ham Radio program that listens for touch tones and displays the number it hears to verify operation.&lt;a href="http://downloads.fyxm.net/DTMF-Decoder-47129.html" target="_blank"&gt; http://downloads.fyxm.net/DTMF-Decoder-47129.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The code I used (and modified) was built by &lt;a href="http://arduino.cc/forum/index.php/topic,14687.0.html" target="_blank"&gt;Brohogan&lt;/a&gt;.(don't forget the include file)&lt;br /&gt;
&lt;br /&gt;
/* HT9200A DTMF Generator Test&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BroHogan 7/17/09&lt;br /&gt;
&amp;nbsp;* SETUP FOR SERIAL MODE - Requires 3 pins - Data and Clock (100KHz) and CE&lt;br /&gt;
&amp;nbsp;* Wire per data sheet - 3.57MHz xtal (4.0MHz won't dial) S/P to GND = serial&lt;br /&gt;
&amp;nbsp;* modified by Steve Spence - http://arduinotronics.blogspot.com&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;HT9200.h&amp;gt;&amp;nbsp;&lt;ht9200 .h=".h"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // defines for HT9200 DTMF chip&lt;br /&gt;#define DATA_PIN&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Data (serial)&lt;br /&gt;#define CLOCK_PIN&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Clock (serial)&lt;br /&gt;#define CE_PIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Chip Enable pin (must control)&lt;br /&gt;&lt;br /&gt;#define PHONE_NMBR "2642262"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // phone # to dial&lt;br /&gt;char PhoneNum[] = PHONE_NMBR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // load phone # for dialer&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;&amp;nbsp; pinMode(DATA_PIN, OUTPUT);&lt;br /&gt;&amp;nbsp; pinMode(CLOCK_PIN, OUTPUT);&lt;br /&gt;&amp;nbsp; pinMode(CE_PIN, OUTPUT);&lt;br /&gt;&amp;nbsp; Init_HT9200();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // init the chip&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;&amp;nbsp; Dialer();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // dials phone&lt;br /&gt;&amp;nbsp; delay(3000);&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;void Init_HT9200 (){&lt;br /&gt;&amp;nbsp; digitalWrite(CE_PIN, HIGH);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start with chip disabled (else you go nuts)&lt;br /&gt;&amp;nbsp; digitalWrite(CLOCK_PIN, HIGH);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start with clock pin high&lt;br /&gt;&amp;nbsp; digitalWrite(CE_PIN, LOW);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // now enable the chip&lt;br /&gt;&amp;nbsp; delay(10);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // delay 10ms to ramp up the ocillator&lt;br /&gt;&amp;nbsp; DTMF_Out (DTMF_OFF,1,0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // turn off any tone from previous run&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void DTMF_Out (byte digit, long duration, long pause){&amp;nbsp; // FOR SERIAL COMM&lt;br /&gt;&amp;nbsp; if (digit == 0) digit = 10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // take care of 0 here&lt;br /&gt;&amp;nbsp; for (byte i=0; i&lt;5 br="br" i="i"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(CLOCK_PIN, HIGH);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clock high while setting data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(DATA_PIN, bitRead(digit,i)); // set data LSB-&amp;gt;MSB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delayMicroseconds(5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 1/2 of 100K Clock speed&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(CLOCK_PIN, LOW);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clock low to latch data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delayMicroseconds(5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 1/2 of 100K Clock speed&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; delay(duration);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // how long tone will play&lt;br /&gt;&amp;nbsp; if (pause != 0){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tone sounds continuously if zero&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (byte i=0; i&lt;5 above="above" as="as" br="br" i="i" nbsp="nbsp" same="same"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(CLOCK_PIN, HIGH);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(DATA_PIN, bitRead(DTMF_OFF,i));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delayMicroseconds(5);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(CLOCK_PIN, LOW);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delayMicroseconds(5);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(pause);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // how long pause between tones&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void Dialer(){&amp;nbsp; // dials tones from number&lt;br /&gt;&amp;nbsp; for (byte i=0; i&lt;7 i="i" nbsp="nbsp" p="p"&gt;&amp;nbsp;//i&lt;7 11="11" 7="7" br="br" digit="digit" for="for" i="i" number="number"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DTMF_Out(PhoneNum[i]-'0',500,100);&amp;nbsp; // 1/2 sec tone with 1/10 pause&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;!--7--&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;!--7--&gt;&lt;!--5--&gt;&lt;!--5--&gt;&lt;/7&gt;&lt;/7&gt;&lt;/5&gt;&lt;/5&gt;&lt;/ht9200&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=GreenTrustSustainabilityRenewableEnergy&amp;amp;loc=en_US"&gt;Subscribe to Green Trust Sustainability &amp; Renewable Energy by Email&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=kWtaEVopZTc:0gbj0K-xRnE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=kWtaEVopZTc:0gbj0K-xRnE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?i=kWtaEVopZTc:0gbj0K-xRnE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/arduinotronics?a=kWtaEVopZTc:0gbj0K-xRnE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/arduinotronics?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/arduinotronics/~4/kWtaEVopZTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://arduinotronics.blogspot.com/feeds/8166958101605290991/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://arduinotronics.blogspot.com/2012/11/producing-dtmf-tones.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/8166958101605290991?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4702287955799719958/posts/default/8166958101605290991?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/arduinotronics/~3/kWtaEVopZTc/producing-dtmf-tones.html" title="Producing DTMF Tones" /><author><name>Steve Spence</name><uri>https://plus.google.com/102524489533623492298</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-VmYFFCUqsP8/AAAAAAAAAAI/AAAAAAAAAmI/lTuGsZJIfvY/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-LEGTiZoiLQ0/UK5iKkl49uI/AAAAAAAAAjI/zYulRtGllrs/s72-c/dtmf-out.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://arduinotronics.blogspot.com/2012/11/producing-dtmf-tones.html</feedburner:origLink></entry></feed>
