<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sindono Labs</title>
	<atom:link href="http://www.sindono.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sindono.com</link>
	<description>Where I make, break and revelop</description>
	<lastBuildDate>Mon, 19 Jul 2010 21:14:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Quick mini-project: Sub irrigation containers</title>
		<link>http://www.sindono.com/2010/07/19/quick-mini-project-sub-irrigation-containers/</link>
		<comments>http://www.sindono.com/2010/07/19/quick-mini-project-sub-irrigation-containers/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 20:39:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Green fingers]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=115</guid>
		<description><![CDATA[After reading this post about &#8220;Self Watering Containers&#8221; on UrbanOrganicGardener.com, I decided to give it a go tonight. If I understand correctly, the &#8220;official&#8221; title for containers like these is: Sub-irrigation containers or something. I built two containers from soda bottles. In one I put new basil seeds, the other I transferred a small chili-pepper [...]]]></description>
			<content:encoded><![CDATA[<p>After reading <a href="http://www.urbanorganicgardener.com/self-watering-containers/how-to-make-a-self-watering-container/">this post about &#8220;Self Watering Containers&#8221;</a> on UrbanOrganicGardener.com, I decided to give it a go tonight. If I understand correctly, the &#8220;official&#8221; title for containers like these is: Sub-irrigation containers or something. I built two containers from soda bottles. In one I put new basil seeds, the other I transferred a small chili-pepper plant I grew in the greenhouse from my own saved seeds form last year. This is a bit of an experiment to see if the plant/seeds survive and continue to develop on the water in the container. With that the frequency of watering can be lowered significantly, which means I can easily go on holiday for a few days without worrying about the watering. Of course there are other things to take care of, but this is a first step.</p>
<p>And if this works well, I might scale things up a bit for next season&#8217;s greenhouse project. It would save me some electronics in pumps and stuff to water the vegetables and fruits. <a href="http://www.Homegrown.org">Homegrown.org</a> has a nice idea to upscale this (voila: <a href="http://homegrown.org/blog/2010/06/homegrown-how-to-cards-how-to-make-a-self-watering-planter/">http://homegrown.org/blog/2010/06/homegrown-how-to-cards-how-to-make-a-self-watering-planter/</a>) , as do many other sites if you google &#8220;<a href="http://www.google.nl/search?aq=0&amp;oq=diy+sub+irrigation&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=diy+sub+irrigation+planter">diy sub irrigation planter</a>&#8221; or &#8220;<a href="http://www.google.nl/search?aq=f&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=self+watering+container">self watering container</a>&#8221;</p>
<p>A quick picture of one of the bottle:<img class="aligncenter size-large wp-image-116" title="Sub irrigation container" src="http://www.sindono.com/wp/wp-content/uploads/2010/07/swc-1024x768.jpg" alt="Sub irrigation container" width="800" height="600" /></p>
<p>ps: in the background you see the sort-of-greenhouse and vegetable box&#8230; isn&#8217;t it amazing to see how everything sprung to life?!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/07/19/quick-mini-project-sub-irrigation-containers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twittering prototype offline</title>
		<link>http://www.sindono.com/2010/06/29/twittering-prototype-offline/</link>
		<comments>http://www.sindono.com/2010/06/29/twittering-prototype-offline/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 20:58:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[G3H]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=124</guid>
		<description><![CDATA[A quick update on the G3H project. I took the twittering prototype offline as I need the electronics for the next step: wireless communication between the greenhouse and the modem inside the house.
I have spent several nights already trying to get two Arduino boards, each equipped with an Xbee-shield, to communicate. I worked on the [...]]]></description>
			<content:encoded><![CDATA[<p>A quick update on the G3H project. I took the twittering prototype offline as I need the electronics for the next step: wireless communication between the greenhouse and the modem inside the house.</p>
<p>I have spent several nights already trying to get two Arduino boards, each equipped with an Xbee-shield, to communicate. I worked on the<a href="http://www.arduino.cc/en/Main/ArduinoXbeeShield"> example provided on the Arduino site</a>, but no luck <img src='http://www.sindono.com/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  It turned out that I obtained two shields with &#8220;Series 2&#8243; radio&#8217;s, which meant the example code would not work right off the bat. But, <a href="http://blog.didierstevens.com/2009/06/15/quickpost-arduino-xbee-shield-series-2-configuration/">a post on Didier Stevens&#8217; website </a>pointed me in the right direction and eventually I was able to get both boards running and communicating.</p>
<p>The two boards seem to be communicating as one is sending the signal to switch an LED on and off every second on the other board. I see the LED switching on and off, but the behaviour is quite erratic. So, more investigation to be done there&#8230;</p>
<p>To be continued&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/06/29/twittering-prototype-offline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sensor prototype is twittering!</title>
		<link>http://www.sindono.com/2010/04/27/sensor-prototype-is-twittering/</link>
		<comments>http://www.sindono.com/2010/04/27/sensor-prototype-is-twittering/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 19:31:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[G3H]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=91</guid>
		<description><![CDATA[Yes, it is true! I found some time to play with the arduino and the new ethernet shield I had ordered. And I got it to such a point that temperature, light and moisture are measured and sent to twitter every few minutes. And I am also trying to get it to post to pachube.com, [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it is true! I found some time to play with the arduino and the new ethernet shield I had ordered. And I got it to such a point that temperature, light and moisture are measured and sent to twitter every few minutes. And I am also trying to get it to post to pachube.com, with varying results so far. Currently, the sensors are attached to a box of soil growing fresh strawberry plants behind glass.</p>
<p>If you want to follow the prototype on twitter, follow <a href="http://www.twitter.com/ProjectG3H">@ProjectG3H</a></p>
<p>There are some issues with the temperature readings as they spike to impossible levels every now and then. I will have to get into that later. But, for now the prototype is able to get environment data and connect to the internet to tell the world about them. And it was not a very hard thing to do. Very exciting!</p>
<p>I will do a thorough write-up later to share as much info as possible, but for now I am just so excited that this is actually sort of working, that I had to share!</p>
<p>Below is a little preview of the sensor data that is sent to pachube!</p>
<p>Temperature (in Celcius):<br />
<img src="http://www.pachube.com/feeds/6952/datastreams/0/history.png?w=600&amp;h=300&amp;c=33cc66&amp;b=true&amp;g=true&amp;t=@ProjectG3H%20Temperature%20readings&amp;l=Temperature%20in%20Celsius&amp;s=6&amp;r=3" alt="" /></p>
<p>Light (value from the LDR):</p>
<p><img class="alignnone" title="ProjectG3H Light levels" src="http://www.pachube.com/feeds/6952/datastreams/1/history.png?w=600&amp;h=300&amp;c=33cc66&amp;b=true&amp;g=true&amp;t=@ProjectG3H%20Light%20level%20readings&amp;l=Light%20level%20as%20seen%20by%20the%20LDR&amp;s=6&amp;r=3" alt="" width="600" height="300" /></p>
<p>Soil moisture level:</p>
<p><img class="alignnone" title="Project G3H Soil moisture level" src="http://www.pachube.com/feeds/6952/datastreams/2/history.png?w=600&amp;h=300&amp;c=33cc66&amp;b=true&amp;g=true&amp;t=@ProjectG3H%20Soil%20moisture%20readings&amp;l=Soil%20moisture%20level%20as%20read%20by%20two%20galvanized%20nails&amp;s=6&amp;r=3" alt="" width="600" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/27/sensor-prototype-is-twittering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>G3H Update: Greenhouse ready, seeds planted</title>
		<link>http://www.sindono.com/2010/04/25/g3h-update-greenhouse-ready-seeds-planted/</link>
		<comments>http://www.sindono.com/2010/04/25/g3h-update-greenhouse-ready-seeds-planted/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 08:04:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[G3H]]></category>
		<category><![CDATA[Green fingers]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=87</guid>
		<description><![CDATA[Finally, the greenhouse structure is finished, filled with a nutricious soil mix, and seeds have been planted. In short: I found an old sandbox, which I reassembled and re-inforced with additional wood and screws. On top of that fits the greenhouse. A grid is added over the top to divide the space in 16 blocks [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, the greenhouse structure is finished, filled with a nutricious soil mix, and seeds have been planted. In short: I found an old sandbox, which I reassembled and re-inforced with additional wood and screws. On top of that fits the greenhouse. A grid is added over the top to divide the space in 16 blocks for different crops.</p>
<p>The grid structure is based on the square foot gardening method, by Mel Bartholomew. Since I do not have a huge garden to grow vegetables, I heard about square foot gardening and decided to give that a try.</p>
<p>I bought this book to get to know a bit about it:<a href="http://www.amazon.com/All-New-Square-Foot-Gardening/dp/1591862027/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1272140420&amp;sr=8-1"><img class="aligncenter size-full wp-image-94" title="All New Square Foot  Gardening" src="http://www.sindono.com/wp/wp-content/uploads/2010/04/AllNewSFG.jpg" alt="All New Square Foot Gardening" width="350" height="500" /></a></p>
<p>And with the box ready to go, it was time to plant the first seeds. Actually, I made two boxes: one in the open air, one for use as a small green house.</p>
<p><a href="http://www.sindono.com/wp/wp-content/uploads/2010/04/plantingseeds.JPG"><img class="aligncenter  size-large wp-image-97" title="Planting seeds" src="http://www.sindono.com/wp/wp-content/uploads/2010/04/plantingseeds-1024x768.jpg" alt="Planting seeds" width="578" height="433" /></a></p>
<p>And so we ended up with two boxes filled with different kinds of vegetables and some fruit: brocolli, cauliflower, carrots, lettuce, rocket salad, onions, radish, beets, tomato&#8217;s, two different types of strawberry, red peppers and bell peppers. And for fun, we also put some seeds in a propagator: cucumber, melon, aubergine and some beans.</p>
<p>The G3H project electronics, will focus on the greenhouse first. The idea is to monitor conditions in the greenhouse, such as temperature, soil moisture levels, amount of light. And with the information, eventually control a watering system as well as opening and closing doors. A sensor unit in or on the greenhouse will wirelessly transit sensor readings to a receiver in the house which will publish data online. Services like <a href="http://www.twitter.com">twitter</a> and <a href="http://www.pachube.com">pachube</a> come to mind <img src='http://www.sindono.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I have ordered additional (arduino) hardware and started work on a prototype. Also, a sensor tube to use inside the greenhouse is in the making. More about that later <img src='http://www.sindono.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/25/g3h-update-greenhouse-ready-seeds-planted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading temperature from a temperature sensor</title>
		<link>http://www.sindono.com/2010/04/22/reading-temperature-from-a-temperature-sensor/</link>
		<comments>http://www.sindono.com/2010/04/22/reading-temperature-from-a-temperature-sensor/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 19:55:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=85</guid>
		<description><![CDATA[In the previous post, I showed that the temperature sensor returns a more or less meaningles value anywhere between 0 and 1023. The lower the value, the lower the temperature.
I also showed how to get a voltage reading instead of just a number. Today, I post a link to an article that accompanies Oomlout&#8217;s ARDX [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.sindono.com/2010/04/13/reading-meaningful-data-from-an-arduino-digital-pin/">previous post</a>, I showed that the temperature sensor returns a more or less meaningles value anywhere between 0 and 1023. The lower the value, the lower the temperature.</p>
<p>I also showed how to get a voltage reading instead of just a number. Today, I post a link to an article that accompanies <a href="http://www.oomlout.com/">Oomlout</a>&#8217;s <a href="http://www.oomlout.com/ards.html">ARDX kit</a>, about how to get an actual temperature from a temperature sensor.</p>
<p>Of course I could repeat all they say here and claim its my own, but as I learned it from using my <a href="http://www.oomlout.com/ards.html">ARDX kit</a>, it is logical to point you to the source: <a href="http://www.oomlout.com/a/products/ardx/circ-10">http://www.oomlout.com/a/products/ardx/circ-10</a></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/22/reading-temperature-from-a-temperature-sensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading meaningful data from an Arduino digital pin</title>
		<link>http://www.sindono.com/2010/04/13/reading-meaningful-data-from-an-arduino-digital-pin/</link>
		<comments>http://www.sindono.com/2010/04/13/reading-meaningful-data-from-an-arduino-digital-pin/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 20:01:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=81</guid>
		<description><![CDATA[Tonight, I have spent some time looking into the sensor code for the G3H project. In the code I posted last week, sensors are read through a digital pin and exactly that value is displayed. A digital pin outputs a value between 0 and 1024 of type integer. An integer is a whole number, meaning [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight, I have spent some time looking into the sensor code for the G3H project. In the code I posted last week, sensors are read through a digital pin and exactly that value is displayed. A digital pin outputs a value between 0 and 1024 of type integer. An integer is a whole number, meaning no comma: 1, 2, 3, 4, 5 are integers, but 1.05 and 2.35 are not. Those numbers are usually called floats. <a href="http://en.wikipedia.org/wiki/Data_type" target="_blank">More info on integer, float and other data types can be found on wikipedia</a>.</p>
<p>If you measure the voltage on the pin, you will find that it is anywhere between 0V and 5V, where 0V corresponds to the digital value 0 and 5V corresponds to 1024. This is not entirely true as the minimum voltage is 0.005V, or 5 millivolts.</p>
<p>That means that each step up, measured digitally (the range between 0 and 1024) corresponds to 5V/1024 steps = 0.0048828125V.</p>
<p>This can be easily put into a short function you can use for all sensors using a digital pin:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/*</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">* getVoltage() &#8211; return the voltage on the analoge input defined by pin</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">*</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">*/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float getVoltage(int pin) {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return (analogRead(pin) * .004882813);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// reading a digital pin returns a value between 0 and 1024, which corresponds to a voltage range between 0V and 5V.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// So, one digital step means 5V/1024 = ~0.005V, or about 5 millivolt</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 92px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<blockquote><p>/*<br />
* getVoltage() &#8211; return the voltage on the analoge input defined by pin<br />
*<br />
*/<br />
float getVoltage(int pin) {<br />
return (analogRead(pin) * .004882813);<br />
// reading a digital pin returns a value between 0 and 1024, which corresponds to a voltage range<br />
// between 0V and 5V.<br />
// So, one digital step means 5V/1024 = ~0.005V, or about 5 millivolt<br />
}</p></blockquote>
<p>With this value it is a lot easier to translate the value read from the sensor to meaningful data. In a future post I will show you how to use a thermistor to measure temperature and use this information to translate the voltage on the digital pin to degrees centrigrade or fahrenheit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/13/reading-meaningful-data-from-an-arduino-digital-pin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>G3H Update: greenhouse structure (almost) done</title>
		<link>http://www.sindono.com/2010/04/08/g3h-update-greenhouse-structure-almost-done/</link>
		<comments>http://www.sindono.com/2010/04/08/g3h-update-greenhouse-structure-almost-done/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:35:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[G3H]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=73</guid>
		<description><![CDATA[Today, the greenhouse itself has seen some major improvements. The bottom half is an old sandbox I picked up a few weeks ago at a garden store. It was moist, the glue had come loose, so basically it was an instable pile of wood. I managed to put it back together, with screws and added [...]]]></description>
			<content:encoded><![CDATA[<p>Today, the greenhouse itself has seen some major improvements. The bottom half is an old sandbox I picked up a few weeks ago at a garden store. It was moist, the glue had come loose, so basically it was an instable pile of wood. I managed to put it back together, with screws and added weed cloth on the bottom. Then I reinforced the sides and the bottom with wood I had lying around from an old bed. Since it is untreated wood, it will probably not hold forever, but since this is a prototype I do not mind so much.</p>
<div id="attachment_75" class="wp-caption aligncenter" style="width: 650px"><a href="http://www.sindono.com/wp/wp-content/uploads/2010/04/photo.jpg"><img class="size-full wp-image-75 " title="G3H Bottom view" src="http://www.sindono.com/wp/wp-content/uploads/2010/04/photo.jpg" alt="This is the bottom of the greenhouse box with weedcloth attached" width="640" height="480" /></a><p class="wp-caption-text">This is the bottom of the greenhouse box with weedcloth attached</p></div>
<p>The top half of the greenhouse is the glass part, which is not actually glass, but some sort of double sided transparent plastic. The whole frame is aluminium. As you have probably guessed: this was bought, not made by me <img src='http://www.sindono.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>After finishing the box and reinforcements to the bottom, it was getting too dark to snap a decent photo, so that will have to wait for later. But I will finish this post with an image of the top half:</p>
<p style="text-align: center;"><a href="http://www.sindono.com/wp/wp-content/uploads/2010/04/photo-1.jpg"><img class="aligncenter size-full wp-image-74" title="G3H Glass top half" src="http://www.sindono.com/wp/wp-content/uploads/2010/04/photo-1.jpg" alt="G3H Glass top half" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/08/g3h-update-greenhouse-structure-almost-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Project: G3H</title>
		<link>http://www.sindono.com/2010/04/07/new-project-g3h/</link>
		<comments>http://www.sindono.com/2010/04/07/new-project-g3h/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 20:41:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[G3H]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/?p=67</guid>
		<description><![CDATA[It is time for a new project! As you may have guessed from the (rather old) previous posts, I like the arduino and I love growing plants, fruits and vegetables. I am a relative beginner in both fields.
And in learning both fields more or less simultaneously, I came up with an idea after reading Make [...]]]></description>
			<content:encoded><![CDATA[<p>It is time for a new project! As you may have guessed from the (rather old) previous posts, I like the arduino and I love growing plants, fruits and vegetables. I am a relative beginner in both fields.</p>
<p>And in learning both fields more or less simultaneously, I came up with an idea after reading <a href="http://makezine.com/18/garduino/">Make Magazine 18</a>. In that issue, a project is described that uses an arduino to monitor plants and water them automatically, as well as switch on growlights when the plants did not get enough light during the day.</p>
<p>Combined with some stuff I read on square foot gardening and a good offer on a small greenhouse I came up with the idea to build a small, soft of, square foot garden, add a greenhouse on top and control the whole thing with an arduino.</p>
<p>My brother-in-law heard about it on twitter (I am <a href="http://twitter.com/ArnoJansen">@ArnoJansen</a>, though part of my tweets are in dutch) and called in a &#8220;Willy Wortel&#8221; invention. <a href="http://en.wikipedia.org/wiki/Gyro_Gearloose">Willy Wortel is dutch for Gyro Gearloose</a>, hence the working title for this project: Gyro Gearhead GreenHouse, or G3H in short.</p>
<p>I am currently building the garden box and the greenhouse and have started on setting up a prototype board with the <a href="http://www.arduino.cc">arduino</a> to measure light, temperature and soil humidity. I did take some pictures which I will share later.</p>
<p>For now, let me show you the sensor testcode as I currently have it in my Arduino IDE (it assumes the same setup as the garduino article in Make Magazine, although you may want to change pin-outs):</p>
<blockquote><p>// Project: G3H Sensor Testcode<br />
// Author: Garduino project, Make Magazine 18 / Modified by Arno Jansen<br />
// Version: 0.1<br />
// Date: April 7, 2010</p>
<p>//include the datetime library, so our garduino can keep track of how long the lights are on<br />
#include &lt;DateTime.h&gt;</p>
<p>//define analog inputs to which we have connected our sensors<br />
int moistureSensor = 0;<br />
int lightSensor = 1;<br />
int tempSensor = 2;</p>
<p>//define digital outputs to which we have connecte our relays (water and light) and LED (temperature)<br />
int waterPump = 7;<br />
int lightSwitch = 8;<br />
int tempLed = 2;</p>
<p>//define variables to store moisture, light, and temperature values<br />
int moisture_val;<br />
int light_val;<br />
int temp_val;</p>
<p>//decide how many hours of light your plants should get daily<br />
float hours_light_daily_desired = 14;</p>
<p>//calculate desired hours of light total and supplemental daily based on above values<br />
float proportion_to_light = hours_light_daily_desired / 24;<br />
float seconds_light = 0;<br />
float proportion_lit;</p>
<p>//setup a variable to store seconds since arduino switched on<br />
float start_time;<br />
float seconds_elapsed;<br />
float seconds_elapsed_total;<br />
float seconds_for_this_cycle;</p>
<p>void setup() {<br />
//open serial port<br />
Serial.begin(9600);<br />
//set the water, light, and temperature pins as outputs that are turned off<br />
pinMode (waterPump, OUTPUT);<br />
pinMode (lightSwitch, OUTPUT);<br />
pinMode (tempLed, OUTPUT);<br />
digitalWrite (waterPump, LOW);<br />
digitalWrite (lightSwitch, LOW);<br />
digitalWrite (tempLed, LOW);</p>
<p>//establish start time<br />
start_time = DateTime.now();<br />
seconds_elapsed_total = 0;</p>
<p>}<br />
void loop() {<br />
// read the value from the moisture-sensing probes, print it to screen, and wait a second<br />
moisture_val = analogRead(moistureSensor);<br />
Serial.print(&#8221;moisture sensor reads &#8220;);<br />
Serial.println( moisture_val );<br />
//delay(1000);<br />
// read the value from the photosensor, print it to screen, and wait a second<br />
light_val = analogRead(lightSensor);<br />
Serial.print(&#8221;light sensor reads &#8220;);<br />
Serial.println( light_val );<br />
//delay(1000);<br />
// read the value from the temperature sensor, print it to screen, and wait a second<br />
temp_val = analogRead(tempSensor);<br />
Serial.print(&#8221;temp sensor reads &#8220;);<br />
Serial.println( temp_val );<br />
//delay(1000);<br />
Serial.print(&#8221;seconds total = &#8220;);<br />
Serial.println( seconds_elapsed_total );<br />
//delay(1000);<br />
Serial.print(&#8221;seconds lit = &#8220;);<br />
Serial.println( seconds_light);<br />
//delay(1000);<br />
Serial.print(&#8221;proportion desired = &#8220;);<br />
Serial.println( proportion_to_light);<br />
//delay(1000);<br />
Serial.print(&#8221;proportion achieved = &#8220;);<br />
Serial.println( proportion_lit);<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
Serial.println();<br />
delay(1000);<br />
//turn water on when soil is dry, and delay until soil is wet<br />
//if (moisture_val &lt; 850)<br />
//{<br />
//digitalWrite(waterPump, HIGH);<br />
//}</p>
<p>//while (moisture_val &lt; 850)<br />
//{<br />
//delay(10000);<br />
//}</p>
<p>//digitalWrite(waterPump, LOW);</p>
<p>//update time, and increment seconds_light if the lights are on<br />
seconds_for_this_cycle = DateTime.now() &#8211; seconds_elapsed_total;<br />
seconds_elapsed_total = DateTime.now() &#8211; start_time;<br />
if (light_val &gt; 900)<br />
{<br />
seconds_light = seconds_light + seconds_for_this_cycle;<br />
}</p>
<p>//cloudy days that get sunny again: turn lights back off if light_val exceeds 900. this works b/c the supplemental lights aren&#8217;t as bright as the sun:)<br />
//if (light_val &gt; 900)<br />
//{<br />
//digitalWrite (lightSwitch, LOW);<br />
//}</p>
<p>//turn off lights if proportion_lit&gt;proportion_to_light, and then wait 5 minutes<br />
//if (proportion_lit &gt; proportion_to_light)<br />
//{<br />
//digitalWrite (lightSwitch, LOW);<br />
//delay (300000);<br />
//}</p>
<p>//figure out what proportion of time lights have been on<br />
//proportion_lit = seconds_light/seconds_elapsed_total;</p>
<p>//turn lights on if light_val is less than 900 and plants have light for less than desired proportion of time, then wait 10 seconds<br />
//if (light_val &lt; 900 and proportion_lit &lt; proportion_to_light)<br />
//{<br />
//digitalWrite(lightSwitch, HIGH);<br />
//delay(10000);<br />
//}</p>
<p>//turn on temp alarm light if temp_val is less than 850 (approximately 50 degrees Fahrenheit)<br />
if (temp_val &lt; 850)<br />
{<br />
digitalWrite(tempLed, HIGH);<br />
}<br />
}</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/<br />
Project: G3H Sensor Testcode</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Author: Garduino project, Make Magazine 18 / Modified by Arno Jansen</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Version: 0.1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Date: April 7, 2010</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//include the datetime library, so our garduino can keep track of how long the lights are on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">#include &lt;DateTime.h&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//define analog inputs to which we have connected our sensors</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int moistureSensor = 0;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int lightSensor = 1;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int tempSensor = 2;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//define digital outputs to which we have connecte our relays (water and light) and LED (temperature)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int waterPump = 7;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int lightSwitch = 8;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int tempLed = 2;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//define variables to store moisture, light, and temperature values</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int moisture_val;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int light_val;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">int temp_val;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//decide how many hours of light your plants should get daily</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float hours_light_daily_desired = 14;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//calculate desired hours of light total and supplemental daily based on above values</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float proportion_to_light = hours_light_daily_desired / 24;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float seconds_light = 0;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float proportion_lit;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//setup a variable to store seconds since arduino switched on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float start_time;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float seconds_elapsed;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float seconds_elapsed_total;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">float seconds_for_this_cycle;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">void setup() {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//open serial port</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.begin(9600);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//set the water, light, and temperature pins as outputs that are turned off</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pinMode (waterPump, OUTPUT);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pinMode (lightSwitch, OUTPUT);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pinMode (tempLed, OUTPUT);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">digitalWrite (waterPump, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">digitalWrite (lightSwitch, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">digitalWrite (tempLed, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//establish start time</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">start_time = DateTime.now();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">seconds_elapsed_total = 0;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">void loop() {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// read the value from the moisture-sensing probes, print it to screen, and wait a second</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">moisture_val = analogRead(moistureSensor);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;moisture sensor reads &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( moisture_val );</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// read the value from the photosensor, print it to screen, and wait a second</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">light_val = analogRead(lightSensor);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;light sensor reads &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( light_val );</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// read the value from the temperature sensor, print it to screen, and wait a second</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">temp_val = analogRead(tempSensor);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;temp sensor reads &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( temp_val );</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;seconds total = &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( seconds_elapsed_total );</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;seconds lit = &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( seconds_light);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;proportion desired = &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( proportion_to_light);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.print(&#8221;proportion achieved = &#8220;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println( proportion_lit);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Serial.println();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">delay(1000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//turn water on when soil is dry, and delay until soil is wet</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//if (moisture_val &lt; 850)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//digitalWrite(waterPump, HIGH);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//while (moisture_val &lt; 850)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(10000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//digitalWrite(waterPump, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//update time, and increment seconds_light if the lights are on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">seconds_for_this_cycle = DateTime.now() &#8211; seconds_elapsed_total;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">seconds_elapsed_total = DateTime.now() &#8211; start_time;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">if (light_val &gt; 900)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">seconds_light = seconds_light + seconds_for_this_cycle;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//cloudy days that get sunny again: turn lights back off if light_val exceeds 900. this works b/c the supplemental lights aren&#8217;t as bright as the sun:)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//if (light_val &gt; 900)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//digitalWrite (lightSwitch, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//turn off lights if proportion_lit&gt;proportion_to_light, and then wait 5 minutes</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//if (proportion_lit &gt; proportion_to_light)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//digitalWrite (lightSwitch, LOW);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay (300000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//figure out what proportion of time lights have been on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//proportion_lit = seconds_light/seconds_elapsed_total;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//turn lights on if light_val is less than 900 and plants have light for less than desired proportion of time, then wait 10 seconds</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//if (light_val &lt; 900 and proportion_lit &lt; proportion_to_light)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//digitalWrite(lightSwitch, HIGH);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//delay(10000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//turn on temp alarm light if temp_val is less than 850 (approximately 50 degrees Fahrenheit)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">if (temp_val &lt; 850)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">digitalWrite(tempLed, HIGH);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 90px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/04/07/new-project-g3h/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got an Arduino!</title>
		<link>http://www.sindono.com/2010/01/21/got-an-arduino/</link>
		<comments>http://www.sindono.com/2010/01/21/got-an-arduino/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 12:15:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://www.sindono.com/wp/?p=39</guid>
		<description><![CDATA[The site has not been updated a lot recently, at least not with posts. I have done some sanbox stuff with wordpress themes, etc. But, that does not mean I have not been sitting still. In fact, I have been very busy. Too busy to post updates. But, I expect that to change in the [...]]]></description>
			<content:encoded><![CDATA[<p>The site has not been updated a lot recently, at least not with posts. I have done some sanbox stuff with wordpress themes, etc. But, that does not mean I have not been sitting still. In fact, I have been very busy. Too busy to post updates. But, I expect that to change in the coming weeks and months.</p>
<p>To start the new year well in the tinkering department, I bought an <a href="http://www.arduino.cc">Arduino</a>! What&#8217;s that, you ask? Well, the Arduino website explains it thusly:</p>
<blockquote><p><em>Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It&#8217;s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.</em></p>
<p><em>Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the <a href="http://arduino.cc/en/Reference/HomePage">Arduino programming language</a><a rel="nofollow" href="http://wiring.org.co/">Wiring</a>) and the Arduino development environment (based on <a rel="nofollow" href="http://www.processing.org/">Processing</a>).  Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, <span>MaxMSP</span>).</em></p></blockquote>
<div id="attachment_42" class="wp-caption aligncenter" style="width: 586px"><a href="http://www.sindono.com/wp/wp-content/uploads/2010/01/arduino800.jpg"><img class="size-full wp-image-42  " title="Arduino Duemilanove board" src="http://www.sindono.com/wp/wp-content/uploads/2010/01/arduino800.jpg" alt="Arduino Duemilanove board" width="576" height="432" /></a><p class="wp-caption-text">Arduino Duemilanove board</p></div>
<p>It has been around for a few years now, and I have always had an interest in programming microprocessors to allow devices, contraptions, etc to be functional independent of a PC. With Arduino, interfacing with the outside world is easier than ever which convinced me I should give it a try.</p>
<p>Since I live in the Netherlands, I looked for a resource in my country that provided Arduino&#8217;s. After looking through the list of suppliers in the Netherlands, I ended up buying from Floris.CC and ordere the &#8220;<a href="http://www.ardx.org/">Arduino Experimentation Kit</a>&#8220;, made by <a href="http://www.oomlout.com">Oomlout</a> and ordered from <a href="http://www.Floris.cc">Floris.cc</a></p>
<p>Since receiving it, I played around with the thing a bit and what struck me most is the ease with which you can build contraptions that sense and act on their environment. In the next few weeks I will do a write up on the ARDX kit itself.</p>
<p>Playing (becaues that really is what it is!) with the Arduino is so much fun that it instantly sparks many creative ideas that this thing can help with. As those ideas are developed, I will do write-ups here to share the knowledge I gain.</p>
<p>If you want to know more about Arduino, get started with this <a href="http://blog.makezine.com/archive/2007/09/intro_to_the_arduino_week.html">PDFCast from Make Magazine</a>, or watch these <a href="http://www.youtube.com/view_play_list?p=7BFE4EEA325575FA&amp;search_query=arduino+101">&#8220;Arduino 101&#8243; video&#8217;s</a> on <a href="http://www.YouTube.com">YouTube</a>.</p>
<div id="attachment_44" class="wp-caption aligncenter" style="width: 522px"><a href="http://www.sindono.com/wp/wp-content/uploads/2010/01/arduinologo.png"><img class="size-full wp-image-44" title="Arduino Logo" src="http://www.sindono.com/wp/wp-content/uploads/2010/01/arduinologo.png" alt="Arduino Logo" width="512" height="512" /></a><p class="wp-caption-text">Arduino Logo</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2010/01/21/got-an-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The sunflowers are doing well!</title>
		<link>http://www.sindono.com/2009/03/05/the-sunflowers-are-doing-well/</link>
		<comments>http://www.sindono.com/2009/03/05/the-sunflowers-are-doing-well/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 17:05:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Green fingers]]></category>
		<category><![CDATA[Herb kits tryout]]></category>
		<category><![CDATA[growing]]></category>
		<category><![CDATA[seeds]]></category>
		<category><![CDATA[sunflowers]]></category>

		<guid isPermaLink="false">http://www.sindono.com/wp/?p=23</guid>
		<description><![CDATA[Wow, it has only been a few days since I planted the sunflower seeds in their tiny little pots and already they are growing crazy.
See here the progress after only 4 days:

That was on March 2, and look at the progress two days after that:

This looks very promising. Some of the earth is already being [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, it has only been a few days since I planted the sunflower seeds in their tiny little pots and already they are growing crazy.</p>
<p>See here the progress after only 4 days:</p>
<p style="text-align: center;"><a href="http://www.sindono.com/wp/wp-content/uploads/2009/03/sunflowersmarch21.jpg"><img class="aligncenter size-full wp-image-25" title="Sunflowers growing, March 2, 2009" src="http://www.sindono.com/wp/wp-content/uploads/2009/03/sunflowersmarch21.jpg" alt="Sunflowers growing, March 2, 2009" width="480" height="360" /></a></p>
<p style="text-align: left;">That was on March 2, and look at the progress two days after that:</p>
<p style="text-align: center;"><a href="http://www.sindono.com/wp/wp-content/uploads/2009/03/sunflowersmarch4.jpg"><img class="aligncenter size-full wp-image-26" title="Sunflowers growing, March 4, 2009" src="http://www.sindono.com/wp/wp-content/uploads/2009/03/sunflowersmarch4.jpg" alt="Sunflowers growing, March 4, 2009" width="480" height="360" /></a></p>
<p style="text-align: left;">This looks very promising. Some of the earth is already being pushed out by the developing roots of the seeds, so I will have to put them in a larger pot this weekend. It is beautiful to see the seed-shells still hanging on one of the leaves. Beautiful to see these germinate and grow so fast! It is also evident, one of the six pots is not doing anything.</p>
<p style="text-align: left;">Unfortunately, the herb-kit and the lavender have not shown any progress yet <img src='http://www.sindono.com/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sindono.com/2009/03/05/the-sunflowers-are-doing-well/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
