Professional Documents
Culture Documents
makezine.com/18/garduino
THE GARDUINO
GARDEN
CONTROLLER
By Luke Iseman
90
Make: Volume 18
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
GEEKED-OUT
GARDENING
% ! !!
!%# %
# %' % !!
#! !! "
!# %"
!!$"
!"&
!
!! ! $ # #
%!
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
Make:
91
GIFA<:KJ1>8I;L@EF
D@:IF:FEKIFCC<I$8JJ@JK<;>8I;<E@E>
?fnk_\8i[l`efXkk\e[jkfpfligcXekj\m\ipe\\[%
+
,
.
*
((
((
.
)
('
(
( I\cXpjc\kpflZfekifc
8:gfn\ic`^_kjXe[
gldgj n`k_k_\8i[l`ef%
?\i\n\i\Zfekifcc`e^
gfn\ikfk_\gldgn`k_X
i\cXpn`i\[kfk_\8i[l`ef%
)
* K_\i\cXpjZfee\Zkkf
fli8i[l`efn`k_[`f[\jkf
gi\m\ek`k]ifd]ip`e^%
0)
DXb\1Mfcld\(/
+ K_\id`jkfi1i\j`jkXeZ\
Z_Xe^\jn`k_k\dg\iXkli\%
. >Xi[l`efZ`iZl`kYfXi[
8i[l`ef"j\ejfij %
, K_\j\n`i\jc\X[kf
eX`cjjklZb`ek_\jf`c1fli
df`jkli\j\ejfi%I\j`jkXeZ\
Y\kn\\ek_\eX`cj#k_ifl^_
k_\jf`c#Z_Xe^\jn`k_jf`c
df`jkli\%
/ K_\>Xi[l`efkliejfe
k_\lfi\jZ\ekc`^_kkf
dXb\jli\k_\gcXekji\Z\`m\
k_\i`^_kXdflekf]c`^_k
(-_flij[X`cp %K_\g_fkf$
Z\ccgclj8i[l`efd\Xjli\
_fndlZ_eXkliXcjlec`^_k
`ji\Z\`m\[Xe[kliefek_\
jlggc\d\ekXcc`^_kjkfdXb\
lgXep[`]]\i\eZ\%
G_fkfZ\cc1i\j`jkXeZ\
Z_Xe^\jn`k_c`^_k`ek\ej`kp%
-
0 K_\YcXZb`ii`^Xk`fe
klY`e^_Xjk`ep_fc\jk_Xk
XccfnnXk\ikfi\XZ_k_\
gcXekjn_\ek_\gldg`j
klie\[fe%
(' K_\gldg`jjlYd\i^\[
`eXYlZb\kf]nXk\i%
(( Fi[`eXip^XcmXe`q\[
eX`cjXi\lj\[kfj\ej\
jf`cdf`jkli\%
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
@ccljkiXk`feYpK`ddpBlZpe[X
@E;FFI>8I;<E
SET UP.
($!!&23<:;94/-=38?96?/<><381/6/-=;3-3=B8/+;@+=/; (/;/-977/8.-988/-=381=9+9>=6/=
&$%
66/6/-=;983-<-+8,/
:>;-2+</.+==2/ +5/;
%2/.7+5/;<2/. -97
+8.+7/-94+7/-9 -97
+8./?/;B=2381/6</-+8,/
09>8.+=B9>;69-+62+;.
@+;/<=9;/ %//7+5/C38/
-97
1+;.>38909;
.3;/-=6385<=9:>;-2+</
=2/:+;=<98638/ &9=+6-9<=
38-6>.381=2/;.>389@+<
+,9>=
'.2.&0 /'!7#0.6$++
)*;.>38973-;9-98
=;966/;31$# -0#3(-.
3$,(+ -.4$!32 -71'.3+#
5.0*
)*3;->3=,9+;..3
" -/ "*$4$072'(-&.-2.
0.2.'($+#1'.5-.-/0$4(
.31/ &$ -# 4 (+ !+$ 22'$
*$0'$#!322'$%.++.5(-&
/ &$11'.5 1.+#$0+$11
!0$ #!. 0#%.0"+ 0(27
)*"7;98;/6+B<
)!"&%"(!*
)*!.39./<
#6+<=3-73654>1<%.0/+ -2
(-&(-1$ 1, -7 17.38#
+(*$31$# !.32
)*
;/<3<=9;%.02'$
)*%=+8.+;.-77.38#
31$5(2' -0#3(-.5(++#.
6/+;:6+<=3-<=9;+1/
-98=+38/;<
1+6.38++
-$$#%.0$4$07,(+*)3&1
)*#29=9-/66
)*5=2/;73<=9;
)*
1+>1/@3;/<963.
-9;/+8.<=;+8./.
</?/;+60//=
)*5;/<3<=9;<
)*+6?+83C/.8+36<
D6981
;3-5<9;9=2/;<:+-/;<2.
0 (1$2'$,(+*)3&1 2+$ 12
.%%2'$!.22.,.%2'$!(-
.38++-$$# !.32%.0$ "'
12.0 &$".-2 (-$0
%//.</0$%$0 !+7%.02'(-&1
7.38#+(*$2.$ 25(11"' 0#
(1 -$ 1712 02$0/+ -2
06>9;/<-/8=6312=
03A=>;/
%93673A=>;/31$#$+81
(6 10$".,,$-#$#(-$+
02'.+.,$581 Square Foot
Gardening2".-1(121.%1 3
/$ 2,.111 3". 01$4$0,("3
+(2$ -#1 3,(6$#".,/.12
5(2'2'$,(6$#".,/.12".,
(-&%0., 2+$ 12#(%%$0$-2
1.30"$1.3" -31$5' 2$4$0
5.0*1%.07.30/+ -21
6/+8@+=/;:>7:1, ++
"'$ /.-$(1%(-$31$#
,(-(13!,$01(!+$/3,/
%0., 0!.00$(&'2(2$,
4 (+ !+$.-+(-$ 2
555' 0!.0%0$(&'2".,
3-;9<9+5/;29</53= +1.
%0., 0!.00$(&'2(2$,
07.3" -31$!(*$
(--$023!$1 -#/.*$'.+$1
)*'%-+,6/
) */A=/8<398-9;.<
06>9;/<-/8==>,/E1;9@
6312=F31$#2'$22(2$!32
-723!$, 0*$2$#%.0/+ -2
&0.52'1'.3+#!$%(-$
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
1+6,>-5/=
>88/631$# "32,(+*)3&
+5/
PROJECTS: GARDUINO
makezine.com/18/garduino
MAKE IT.
HOOK UP YOUR
MICROCONTROLLER
GARDEN
>>
START
!"+)*(#,"+&","(-+(*"*+,*-"'(-'*,$"'
*(&&'(&)%,"' ,%+,,!"*+,/
%++('+('*-"'(,-,(*"%(*,,&),"' ,!"+
!*2+ *,(',%0
',%*'*-"'(
3b. ('',/"*,/'('0(-**-"'(',!)(+",".(%-&'('0(-**(*
(-2%%
-+,!"+(%-&'+,!)(+","..(%, ('',"('(*,!*+,(,!"*-",
94
Make: (%-&
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
!(,( *)!0-$+&'
MOISTURE SENSORS
3. CONNECT
TO THE ARDUINO
$
10k
Photocell
(2(83+064+(2'5,/0831,/3&0//(&4
404+(%2'5,/0833(/30232(.%73%/'
$
"
Thermistor
220
1N4004
"
"
!
#
"
$
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
%-(
PROJECTS:
makezine.com/18/garduino
"!!! !" $ %!%"
"!"!!!
! !$ !&
"%"!"! !!!
!"#" "'
$!%(!!"! !"#" "
.&+ ,%/*+).&+(
(+!%&&(.&+%*&&%%*!*,!!*)#*&.&+(&$'+*(* %
#+% *
(+!%&,#&'$%*''#!*!&%(&-%#&*(+!%&%*(* &%* %+'#&!**&
* &(#** )(!#$&%!*&(*&)* &+*'+*
int moistureSensor = 0;
int lightSensor = 1;
int tempSensor = 2;
int moisture_val;
int light_val;
int temp_val;
void setup() {
Serial.begin(9600); //open serial port
}
void loop() {
moisture_val = analogRead(moistureSensor); // read the value from the moisture-sensing probes
Serial.print("moisture sensor reads ");
Serial.println( moisture_val );
delay(500);
light_val = analogRead(lightSensor); // read the value from the photosensor
Serial.print("light sensor reads ");
Serial.println( light_val );
delay(500);
temp_val = analogRead(tempSensor); // read the value from the thermistor
Serial.print("temp sensor reads ");
Serial.println( temp_val );
delay(1000);
}
" "
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
Make:
97
PROJECTS:
makezine.com/18/garduino
+22"2+-'2&/%/%"%"14(&#/"-.+0--"(4."/0,.%"."2&((/0-*/%"(&$%/.*!,0),.+**!+##
&*-".,+*."/+%+0-.+#.0*(&$%/-" "&1"!*!.+&()+&./0-"
0/#+0-
("*$/%.+#$0$"2&-"*!./-&,+##" %
"*!
++'/4+0-"3/"*.&+* +-!8.,(0$+*",-+*$&.(-$"-/%*
/%"+/%"-,(&//%"2&-".+#/%" +-!,-//%"* 0//%"2&-"
/%/-0*./+/%".)(("-,-+*$*!./-&,
+##" %.&!"
"(**,.#*#+,"('.#,"(-,*#!+*-''#'!&('!#,+
&'!,"('0,.(**/# /(--,(,".#*+/(-'$-+,+)&#,"
(,"*.#*%,(!,"*
%+(0)"
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
%+/+$-,%44!-+3"((+//+),%+/+$-,%40'".")*
to extension cord
5
1
Relay 1
2
+,#,-)+-)
.(.,+)0,)((--"
5,&)(!&!-)#-"+() -"+,#,-)+(#-,,")+-&!
3-)!+).()((--")-"+() -"+,#,-)+-)#!#-&
#(*.-).-*.-
)(2).++.#()
")-)!+*"2#"&+-+
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
Make:
99
PROJECTS:
makezine.com/18/garduino
+152!#+03% !2.%!04+"+,0%+*/$!.!!.!5/$+3)%*!3+.'/
/)((,1),%//1)!.#! %*
#(1'!030!./+1.!
.!(4+*0.+((! 4)+%/01.!/!*/+./0%20!/0$!,1),0+
)+2!30!.".+)0$!1'!00+)%('&1#"1**!(
.2%04)+2!/30!.".+)0$!"1**!( +3*0+0$!/+'!.
$+/!/3$%$ .%,%*0+0$!,(*0/
1/! )%*%/+'!.$+/!'%0".+).+..!%#$0++(/0+
//!)(!.%*#/0$0 .%,%*0+((0$!,(*0+*0%*!./"4+1
)'!/!01,(%'!0$%/!/1.!0+!(!20!0$!1'!0+*.0!
+./+)!0$%*#!(/!
)+2%*#30!.%*$!/%*/0! +""!!02!.0%((4
3%((#.!0(4.! 1!0$!/0.%*+*4+1.,1),
%*%0%((40.%! 1/%*#&1/0/,.%*'(!.2(2!)+1*0! 0+0$!+00+)
+"1'!03%0$+100$!,1),10#.2%04,.+2% ! +*(4!*+1#$
,.!//1.!"+.0$!/(%#$0!/00.%'(!0$+1#$0+10+**!0%*#
0$!/,.%*'(!.2(2!.%#$0%*0+)4,(1)%*#103+..%! 0$00$!
$(+.%*!+*0!*0+"30!./0.%#$0".+)0$!"1!03+1( !
"+.)4,(*0/$(+.%*!!2,+.0!/".+)30!.3%0$%*/+)!0$%*#
(%'! $+1./
!00!.2!./%+*+"0$%/3+1( !0+1/!1'!0/3%0$30!.
+)%*#".+)/,.%*'(!.2(2!+**!0! 0+$+1/!,(1)%*#
#+%*#%*0++*!1'!0!%*#$!( 0$!.! ,(1/$+1./* 0$!*
)+2%*#%*0+0$!/!+* ,(*0"!! %*#1'!0
+(1)!
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd
$+0+#.,$44%$!(.0!.
USE IT.
&#!(6,2/0##"-!(#106,203#"1&#*/'%&1
1,0##&,4*+64##(02+1')6,2/-)+100&,2)" #
/#"6$,/&/3#0121",+81 #02/-/'0#"'$1D/#
/#"60,,+#/1&+1&1$1<##*1, #%/,4
'+%1,,0),4)6!&#!(6,2/41#/'+%+")'%&1'+%
/,21'+#0
",+81#5-#!11&'0 #1/"2'+,1,%#1#3#/6,+#
%/"#+'+%+"03#1,/)"1&180+#5#/!'0#$,/
/#"#/01,0,)3#4'1&1&#'/'*-/,3#*#+1021&#/#
/#0,*#'+'1')'"#0
0!2//#+1)6'*-)#*#+1#"/"2'+,+##"01, #
&,,(#"2-1,!,*-21#/1&180*,+'1,/'+%0#/')
,21-211,, 1'+*,/#*#+'+%$2)"11,0&/#
'1&""'1',+)4,/('180-,00' )#1,01,/#"1,+
"/'3#21$,/+,4*,+'1,/1�#/'),21
-21'+1&#/"2'+,#+3'/,+*#+11,#3)21#6,2/
/"2'+,80-#/$,/*+!#
0#-2)0'+%/#"+" )2#0$,/+2)1/
#$$'!'#+1)'%&1'+%0601#*0##0!/#4"#!$!50#-1
&1*)$,/'(#6()/803#/0',+
'%2/#,214&11'*#0,$+'%&16,2/21')'16!&/%#0
),4#//1#0$,/#)#!1/'!'16+"12/+1&#)'%&10,+
"2/'+%1&,0#1'*#0,+)6
2')"--/, #+"$'+#12+#6,2/0,')!'"'16
$,/"'$$#/#+1-)+10
""/#)6!,+1/,))#"#/1,(##-
%/##+&,20#3#/0',+ ,3#*'+'*2*
"#0'/#"1#*-#/12/#
"" 11#/6+"0,)/-+#)1,1(#1&,)#
0601#*,$$%/'"
&,1,%/-& 6'!&#)/1#/
0#+'//'%1',+3)3#'+01#",$-2*-1,41#/
6,2/)/%#/,21",,/%/"#++"""0,*#*,"'
$'#"0,)/%/"#+)'%&10$,/""'1',+))'%&1'+%
$*+6-#,-)#01/1/#!,/"'+%1&##$$'!'#+!6+"
!,+3#+'#+!#,$1&'021,*1#"--/,!&1,%/"#+
'+%1&#+*6 #4#!+#3#+%/,4*,/#$,,",$
#11#/.2)'164'1&)#00#+#/%6--6/"2'+,'+%
,2!+$'+"1&#!,*-)#1#!,"#1*(#7'+#
%/"2'+,8))"")'+(01, #11#/3#/0',+00/#"#/0
!/#1#1&#*
=ifdD8B<dX^Xq`e\#Mfcld\(/%=fidfi\#m`j`kdXb\q`e\%Zfd