View
224
Download
1
Category
Preview:
DESCRIPTION
(C) Innovative Experiment Co.,Ltd. Çþ¨¹ ¡Ãá¡ÇÇѲ¹¡ØÅ, ªÑÂÇѲ¹ ÅÔéÁ¾Ã¨ÔµÃÇÔäŠ˹Öè § ã¹Ë¹Ñ § Ê× Í ªØ ´ ááàÃÔè Á àÃÕ Â ¹ÃÙ ä Áâ¤Ã¤Í¹â·ÃÅàÅÍà ໴âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍáѺàºÊÔ¡áʵÁ» 2SX l 1 ´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾áÅШíÒ˹ÒÂâ´Â ºÃÔÉÑ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ØÁÇÔ· 101/2 ¶.ÊØ¢ØÁÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005 E-mail : tech@inex.co.th Website : www.inex.co.th ISBN : 974-91609-2-4 Çþ¨¹ ¡Ãá¡ÇÇѲ¹¡ØÅ áÅÐ ªÑÂÇѲ¹ ÅÔéÁ¾Ã¨ÔµÃÇÔäÅ
Citation preview
! "#$
%%&' ()*
!!"#$"#!%%&'!!('"()*
+, '-".""#$/)((0"(.1(*!(0"(!((
2 !3"#!(-('!'$44( 5 '!!('"(16
)7)7.8')+*,-./2229:24 ; "<9+, ; ";- -; - -"=<+><'""01"2321200413 '"01"23212005
()"#$?%.-1( ! "#$ )@8"(8-(),,#1#(%.! &3,&(-"# )*%-1#(;"#-8()@8!.(()7;(&%.-1(8$%"- "('A(0(7))*% @)( 8$%)!@))!)!1#("#() )@8(($"- "=-;%)!-8($
;(-#-$)6B)"!'');(8-8(1#(-)0 ( $3@&(&8 1(-.-
!70.#-!1( 6789:9;<=:;>>?:@( $3! ! 0C"#"7-)(8-"-$"D*8"#-88"#&)%."8".8 )7!E!1(#
#&%-'!!('"(,"7)8 -!-%-@ ) !!)"#.0,;%"7-7%-)%(#-)!1#(-1(%&"#! -"-4(AF) #-"7%.'(%&'!!('"(%.;%); ')G(8-#- '!!('"("#'$)* 4#--88()7"7!;%
! 6AB#CD #=E7F@ !1('!!('"("#.(8-#-%7#&')@W$H(-16-8() )!7#-"#"-$"D*84 4(%&$ %@ !8-;(-;8(%- "7%.,--.1('!--(8--8C )-8;(8-8%%#8##'-
.-1(8!1( .#-%!1#(-1("#8%.&'!!('"(,70$H&$D)0; ')%8#7-8 !.;(-'!!('"( 8()7@--'!!('"( $B"#1#( 81#=E7F ($H@--"#;')" "('A(0(7)( B$1"#$GAB#CD#=E7F"#$B9=8H8=IJ;E:K(@--7. &")(- $B(8--8"#))1#(8(;(;(- $B; ( $38-C88$H)'()$8--.1(IJKLL7'-.1("#--; 0$$(((-"7%.&'!!('"() $B,"7)(8-! ,( )"-8-EE31#(; -5- EE3! ! ( $3(0"(&-; (()8( ( $3 $3"-"(8--8&1#(- ! ! ('')%!(( ')%8 "8"#(-,-( $3(0"(.1("MN-0(D 1#(%.;%%*1#($H"-%#1#(%()#8($)
)-)!(-8%# -"7%. $B$H'!!('"("#%!0),#&)-8) D($8-( ." ;@&%"-""!''"#8);(0"(')-.1("#-"#!#7.())(0"( '!!('"(,8#*% ! ! (')(8-
.-$H(8-#-8)&'!!('"(!-"7%.@&)! );%,-"7-,7$$ -;)(8- &3(;(78
*L4 /M('*L N- O
*L" (OP
*LP O./ !"#$O *M/./'/+O !"#$%&'()*+, -!,
(. *
*L3 !"#$/Q N 'O /' RR/N *'Q:- (*/.'
0 /.'1*
2 /*1*
3 /*1*-4
5 *&'(.(6786
9 /*'
1 :&:*.
; !"#$%
< *6
*L5 !"#$/ RR/N / >2 &'6&==> ?6*
- 6**'?/
0 6**'?/(''&'
2 6*:/@'&'.AB
3 :&* C 6
5 6
*LS /''/ '1 *'1 ! "#$ OP9 ADA.
1 /* 3 A(
; C C 6
-< :'
- E* //2(''
*L2 ! "#$/Q&O M' P:
-- !"#$%7&'
-0 !"#$%7&'6CAA ('' /6
-2 !"#$%7&'6CAA (''- /6
-3 !"#$%7&'6CAA (''F/6CA
*LT !"#$/./'/*L/ <P-5 *&G*
-9 ?HD
-1 &G*1<*
-; 6*/
*LU !"#$ N 'P0< *&(6
0 *&(6(6)*IJK
0- 6A?
00 6*6L
02 *'?6CAA *(6
*L40 M VDW !2:03 (67 *(.AM
)!INK5O-
05 HD&'*
09 &G*< -33*
!"#
!$%&'( )$* +( !,# ,#-%&+(# & &)++ .)&/00&1'&2345678379,:):.:* +(;<#(#(#=# ,#-)= "2>?5?@&8&>9&A=,#* # )," &(,B:);B )=& '(B= &
# ,"%&" ,B &C&D&)=& !"D:&#$%&%!"&* D ;E & $,<:A #" & D" ; ) &/0&&/FCG&&/0HI&HF/CG&&/0J&E
! "
!
µ
#$$ !%&'& %!
(!)*+ ,+-../
! !"!
#""$
%&!
%&%!!
%&%!!%!&
'
"(%!"%! %))*
"
,:* ,B;& : (" & /0& K" ,B;: ,#)K D$:&G&K&&0&)=& &/0&:E&L/0M&&JI&/0M&&GI&0I&/0GI&/0JI&L&) &/0&$: A=,#K D)$:&G&&/0F/JC&&/0G&I/0HFJC&&/0JI&0F0NC&&/0M&&G&E&,&/&D",##+( # ,<: ;D:; "($
! "#$%A=,#* # !D: D::","
D: &/0FHJCO/0G&37&#=&/0O/0G&(#"B=D: #=-< &/0&* ,B;&K" ## #$( $& !"#$&'( : ",&CK" :$D# )=&AK&2/0M&/C9&+(# ,#-." ,B,)=&:&2/0P9
! &'(, !:-<.D:." !# &".,&/M/
))* + + ))*
'( &))& E.A=$Q."E"D##)=&,B,":D !&K" #)&:D !:+#" &"$( ,B,)).:D !,
))*))=&*+*#(,--.&))"# E&/#0123
ΩΩΩΩΩ&# ,#-($)=&KK#&2&RSTUVWX&8&RΩ&9&'()&/I000&Ω&# ,#-)=/&:K#&2Y4Z?VWX&8&YΩ9&)&/I000&RΩ #=&/I000I000&Ω
,-#./0102#/0345AAA=))# D" %&,
&/MC
#
!
"
#
#
#
#
$
#
#
#
#
#
#
#
#
$
$
$
%
%
%
%%
%%
%%
%%%
&
&
#
!"#$
!"%"$
!"#$
!"%"$
!"#
(# % %0&
+ ),-,E)"A"&[\&:D+&H&D+&D:D+)#
"$
E#D))&E#))&& E)&&ED+))"A"&#ED+# +())"A"& [\&D:+EE:# )& )"A"&/0\
D+&/I&C&D:&G&ED"&." ED+&$),"
D"D+&/&D:&C&D" &C&,:D+ED"&))=&/00("E& CC/00&]& CIC00&# ":E&Ω& DA=,#":B($(E# ,#-($&)=E&RΩ '()&/I000&Ω&(,#"E&CFC&RΩ&)"A")=[\
%%&'&()&*()%&'&+, - ./0(%&'(10-234%&'5 1-2'6'&76'
,E#D+&[&D+:)# "$
E#&/MG&))&&ED+)
ED"))"A"& &+E$:ED"))"A"&/\&&,&CM/&D")# #D+$#"
+D+&/MG&ED"&#=&&D+E &D:." E$&$),"
G& D+D)=& D"& #=& & D" & CI& H& D:& G& D+E#=))=&/0I000&("E&CIHG0I000&# E&Ω&E# &RΩ "&CIHG0&RΩ&D +,#E# ,#-($)=&# &YΩ '()&/I000&RΩ #=&/I000I000Ω&"E&CFHG&YΩ&))"A"&/\
6-7++)*87'*))
,D: ") " & ):)DD")=& ): & ,:): ' &")&0Ω&&2745U&?@^_`69&&K" D:& #a":=& $.b& 745U?@^_`6&B$D#&0Ω
); $:.)$ "))&D:.)$"))&$$A=,#)"")D ."& "))K" & :DE&H& )=&cO/&+"))"$D& 0M[00ΩK" :I&cO/0&+")"$D&[00ΩM[&RΩI&cO/R&&"":#&[&RΩM[0&RΩ&D:&cO/0R&"":#&/0&RΩM[&YΩ& &)+,"$E)K" :$
+ ))*,.:))"A""D+D+."
D:" ))"A"$,#)D#(%&)E" # )& " $
Ω !"# )&))"A"&CN&&/0000F0[&]&/IG[0Ω&"$#$$ %&'!()!*+,(-!*Ω. %(***+/(-!* &(***0/(-!*12!3)!+,3-!Ω
$
)(&# .9:;:/<=025 E.K)d ,E& C&+$" e& =D""($
:#$&:":. !($:#&8195:;;<+26-234%=68195$d ,:.:<:ED& 4 .567891&e$ :#A &:4 ;.<=+969>8?=>1&)+,:. !:.:($ "AD:B""&,&/MG&D"K)D:-<&:. ,B)=&4@ (A 44B(: B.: #C1(4 ;: B & . #C1& B":.: ".,BE"
D"):.& C& D)=&45#6'78& :A,:.DD:DKA& :.+ & ),"& D:D"","9:;<=>?='@>@/+A-'7& &)&/0H&# +(&//0H&# AK "&2f>9&:&/&K "&2g>9&#=&0F/&K) "&2`hX64>9&&A,:.D'& D:
# :. "# +(# ,#- ,B& .""$
A-'7B&)) = # "/*+/D.E1
-'7B&&)) = # "/*+FD.E1
,#*-'7µµµµµB)) = # "/*+)D.E1
):.# )$DAK "+(# %&AK) "D"$,#=$D&JFGi&+(# K&D :
,:"&/JM[0i
(1 &)*+ ",
!"
!"
+
#$% & " #$%&'(')*+ #$% ,-
µ
%
78 7#.><?@=A4B<==<C?#3<034#D#>EF5E.+"D"=" +& ,#&jkl
&,C")&D:D,#&jkl&& &,@ &D"&EC")&K" D",B,#=D,#&jkl&:) :#&/MHF[i&($ ,B&jkl&D:($ :D#&)=&+:D#& jkl&&,#D")& jkl&)D:D& jkl&":($" & & K" :#",#D"D&jkl& &Ci& ,& /MHE-<I& K)D:"&jkl
jkl&+D"# ($ &(B","E&jkl+#ED"D:#=D '" "&2m?n`o9& D "&2m?o9&D:&jkl&,#D "'(D '"&2m?n`9
'*#>EFjkl&D"D:&Ci&D: ,#:D !#"
H0Xn&D:D !#:)=&/0MC0Xn&"$,,B&jkl&(":D. " &",&/M[
#),B,":D,#& jkl&"K" ,B
RVcc V
IS
F
F=
−
K" &ipp&)= $ I&i>&)=D"D)&jkl&D:&q>&)=:D !#&jkl&="D
,&# D"DD&jkl&&&jkl&:D&,#&jkl& # =&jkl&D" "&A &GM/0i&$
( 2$)*+3 &"$ -$$!%4567
+
( 8!&94":$%&!567
&
"8GE.,B, -- !E-- D#(& :" D
##=":D E,#" & ""AD#& =!-- !,#D""+$&:"D"(D#""D## " D#&=-- !$&)ED#:#"&D#(""&#-- !! =&D#:""&":A=($&,#" "&)+-- !!,#& #,K))K: ,BKA&C&D)=&KA&)&rΩ&+,#-- )+ )&D:KAs K'&)&/JMGCΩ& +-- )+ ,B&/R37MGR37&#,B." Dt&Cuv&:,BKAD*"E#& =Dt&Cuv&+-- , )+ &+(K"D:--.bK;A#=&lwY>&"$(,BKA&A=,#+-- " )+D:."
(;$: :9<=
!
!" # $ $%&'()* #+
,(++((
&'-))*+" $*.+%)"'( $'( # $ )(
/(%$"0123456378
,(++((
.9:(%$"
(*,+/8
(*,+/8
'
))*+) #>FH#.><?@=#F4;4C34C=#H4I<I=025E.D#().A;<)=&*+*#(,--.>@#'
84=9:=@#F:#9@#4 7*+*#(84=7=@#F:#9@+@#4=4A:#*+#>GH/@+@9:4=7*#+@=@=4I@57#F:,#+#9@J7K4'LMN&))&jlc&: ,B&/RΩ&M&[00RΩ ,.+(& [&YΩ& $$($ "D:)D(,B& jlc&D=D:)):"#=& [& RΩ& #="& ),B=":):&/0I000&8&/&D &"$D&$$A:&jlc&E.A &)=&<: ),:EB&),D&jlc&:DB"(,B& +ED)" ' ":D ) )=& 0FJ&µX&'(# )& +D*"#=D"
( ,B&jlc&)=&*7#9#O'=,-7P"E2Q2)QR1E3PE D))&jlc&= D:<:EB&2gUgMTSg4?59)= D)):E)D
,=,B&jlc&E)). &$$A=!,B&jlc"A",#") # &A," &G&)=&*+*#(I@57#F:,#+#9@#4I&*+*#(:?57#F:#9@#4& D:&@7'J6(@I@57&#)) )=D , )E)(+(=K" ,B&jlc&D#=D*"& DeA: $
(>$(!3)*+. ,+:4?& 57@
(
)7)7 7#.JKI@ALK==0C#IM<=/@NO:/=#IM<=/@5E.#" !D#( ,B ,:K))KM
& K" BD$="& #B:D #= x"&=".b"'( ):##=A&,##d ,B+(& :D !:+#"
B"" "" # D&$D" &DDAA&D"#a"&D:,D D",&,B$D&C&($&,,BK))K$,BBE.--A.D#(& K" #(& D: $ $ #= & yAz.":#B:E."K))KA=)"B"D",& /Mr& 29&+#"B& +:B$:E&y/z&=A&D:="B&:"+:E&y0z=."--$+"
!
"!#$!% &%&$'&
( A$(!)*+ '$$!$'&$
!
" !#$%&
!(&!!)% &%&$'&* !$%+(*, - $,$
# !"#$!% &%&$'&
-#.H41:P5E.D# !D#(#EB"#(B."#=& ($
# #(&%&. &&& -<&/MP&29&:# :" )-&C&)=&# .>G=61&D: .>GH87>81&DE I.JG?K766LM6GN9<OJM1&D:I4IP%2: .JG?K766LQ59H9<OJM1
:.,# " A D",#D"",""$& :,#D# !"($#& """#."&p& ."&V&"$= #&V&:&,:&p&:x"D&,<:$#=EB&C&))." D# !&"D",&/MP&29
).)- "D
/F&D")"",# &2i|UST&#=&pUST&iUT6?Z49
CF&))""&2pUST&54`S`6?g|49&):&/00MJ00Ω
GF&"."$D"D::D#&2pUg6?|6&&5?6SgZ9
HF& .,B&2Vf45?6SgZ&6SX49
[F&D##&VI&p&D:&p&$,B""
(&!#$!'
!
#)!#$!'
" !
(B$)*+:4?&
!""#$%&%'%()*#+"",!' %-,'" .(/ 0* 0+)$ 0%1123 ) +- 0,"%($$% $%% ($%0'4#1$ %'#"''"% $%0,!*%$5-
0* 6 * *) & ,* &
'%%- 0&
#)%7%#,5/%$%$ + '*)5/')&5/ ,%*)5//!-& %#0!%-) #$8 )& )(( "&/'0$ ))%'%# ""$#+"#*%--
'0,&/#+" , ,#$)&/#+"#$$% $0, !$ &0,9%#"!"/**'" 0*#"4$5%:#%#0#+" ,% )0+'!'!40 '0*#+" '(% 4#"$"#4$'$* #+"&!"/.-*'" 0,+#"&%')%*'" '0* $""0# (!#"0#$%%- 04'#,,'".* '/%; ,(%<& *%1#") &%;%!"/!4$5%:%-"'"
,'" = *%1)
>? !")#$%$&@ABC D AEFGHIJ BHKLEMMNFO CFNGP
6? !'(! ) . 6 ) !"#$#%# &'*""%Q''#($ !"//1)8-,()$ *"+"$#%# &' #+" ),';'#*!.(/ , (%!"/#*+% !"/0,)8-"%0*@RSTP #($% #%#0*!"/0,%- 0* .!"/0,)8- , ( @UUBRVT D UHIMIWJEUJELGHNLIJJX BHKOHIYYIWJE REIZ[VFJX TEYKHXP .&!"/'""8-
\? *+,-+. /0! ) %+ 1 '"% 6 %;,) , -.. ) ,/,$012+$ +' , ,-3-.. ) ,,$ 2+2+ +' -*%1 )0#+"#+)$%5 ,5%-%0, )#$'$%; $% ($($#+"$%$+()%!"/4/"#+"'9!" .)%#+"'#9!"!"($
!
!"#$% %&&'
($$($#+"$%*(()!% $%'8()'4 $%$() $%0*()(()-#!"/ %($($$($)$%)(( &$%0$()'5( $"
]? *2!"*344!/ ) 53* 678$'$%11!"/,.(/ 0* ,($0,,*%110* "%11)% ' -()$*"+"$425'^ --$"**%55$425' , - $6 1+ 7$425'
%!"/ %110!"/%,4%-' !'!%0,!-/%&#,4!.(/,!$%%- *%#%!'!%!"/) _ $ ,#00%(%<& >a^ \6 , a] $"
%'' %110$*!0* '$'$%0*%- .(/$"*'$*$")! .)*'''0*%11!%''0$"0* ,&"#' 0, '&!'!0*$%%-&$'$'" '&*'"0
-3$8$91 ' F )0*%11
$% $%'' >b " '%%-$%-&$'$%0*'" 6>b c >^b6] $*
$"0!0*0 0,$"&!'!%!"/ #' _ $ 0!0*'' >b " 0,% _ >b6]c _^>d6 $ $'%0!0*#$ @WXGEP ) $@eNJK WXGE D fgP ' > $ % _ $ , > $% >^b6] $ @#+ >^bbb)%%'%P '%%-* $%0,0!0*% _^>d6 $ ) >^b6] $ ) > $
% !%11$'$%-'!.(/%0*,($ *%%11%'" %11)[[!0* %11)[[!!"/%($
=? "' (!,-*344!/!9: !% ,*%1 )0*%-''!-#0,!-/%*'0%,'#+"%1123%1123&/ 0%,#*!0,&,$4#"%-#,4/$'"
0,&*'")08-,$0*'%1123#"% 0%-.(/5#0,$'$%0*()!"/*%"*$*%0/#0*
% $"!!"/#0* '$,0,/!!"/*%$$% .0,$"7%,! @hHKOHIYYNFOP 5;#+"#!&'" 6 ,'%) 0!;!*&" <=<>=7>= , 0!;!?*#5$ >886)>=7>= '$$"!'"5;. )0&*'"'4,!"/*% !"/!i()*$*%( > !%-$) 05;. !"/!i ) "' @KhLKZEP $!"!!'"5;.) 4/"!$"*!"#0#+'*%!%- &" )$"/",*!"#0+'*%# .0*#" ,!'"5;. 4/"!$"%;,#!/( ,!"#0&&$! '
#!,!'"5;/ 5;. 5; $"4, % @LKYhNJEP ()5;,'%/%- 5;))"'!%- ,#+"#(%- %@LKYhJNEHP %0,( )#+")).8$$%-4/"!00* $"7;&`$,+'*%!%- .- %--(,(0,*"#- '%%-)4/"#+"($0%'(,#+" ,7;&$!#"&#+"'" $!"!#+"() (
!!'"5;/'#+"(() #+"$%5;)$($$ @NFGEHhHEGEHP '$%5;-*"5;!!!-()$%.(/#"!"#0,&*'",'!- ) 0,!'"5;.)5;).,.%." #+"5;)+ ,#(%<
5;0,$"$%5;0/'" *#"4/"#+"(!5;$/*' 0%-$%5;0,*" !"/.(/!"#0 ()#"'*'" '%%-$%5;0'"% 6 %;,) :;<3= , :;<>?@3
.8$' #(%<0,0$%5;"'" *#"!'!#1 ,$"#+"%-' 4#"*+" ,Q'0,*'"% $!"') &*'"'*(%
#+"Q',.8$% Q'#+") $%05;#0*"" $%5;0, -//,=$ $" .$"$0*($ 0#+"05#$%%-'"$0,0" . )#+"0*($5.&*'#"0'"$$" '0*5#+"% 0*(&,!#'"%%"%- *%.8$*'"%-0,*" ()-!) .'$ @GEjG EZNGKHP .*"% kKGEhIZ ) lKHZhIZ # lNFZKmM ,$0)%5;! ("%%-%#+"'')!"/0($%$%$($$ '" ("(#.8$$%'
'"#+"Q'#5; *#"&*'"!- %-%#+",+#Q''",n5( $$%5; .8$('&0,(%<#"*'",'( %#+"Q''" $!0,/$ #$!" $%5;#+"Q''" 4/"4$%0,0 .8$8 $$".)-04/"4$$%5;%- &#+"!%'" *#"$"%5,!$%+05;./$%%( $4/"#+"$"05;#/#' 00%'"$)$%'"!no.8$,()9%%' 4/"(%<0(4%'%#+"$%5;$",%%-Q',.8$ %--()"/(#"%$%.8$.%0,08
!""#
#!5; @gSpqA JIFOrIOEP 5;4/"!#"#0,!% )0+'*%&*!"#0'" $$ "! @MGHrLGrHEP &*!"#0'" .%." 0(%<$%*%5; "0#0*!$%# 5*, ,+%$++ @ABCD C1 '$($$-0,!"/*%5; "'#".(/()*$*% '",- *#"#+"&,*'"5#$"5; 4#"#+"!- $!"'"!n-) #*!0,'
0'-) 0'!!'"5; '%%-4/"4$0(n()#")*'"5;"/!-"!) E FG2$H$!IF !(!"!*&"! J ,E FG2#$!'(!$HFG2 I5!'(!? $!!F !K2!LM"K2& >88 +H(!! #00%&(%< #"#+"'"%%11!23&/=b Tst !-'"" *#"#,**%5;&,*'"/&>b^bbb *%$!-4%!"'!5;#)!,+'*%.%."*#" %-,$ !()'"5;0'"%!- ,%4#"4/"#0&"!"*/"$'0,$#+"'"!- ,,'!-
#/ 6[6 ',*!#+"$($$ $"'"!5;($ 0%-0,$0)$0!&/$"$%5;)'$%.8$($ #MH"FG !+'*5! ? $HK$(!"!L& +2"E (, '"%-!&/%$!"*', $*$%$%-#0"
0%-!"/($% .0,0%'!"/*"%!"/,$0+)$%($ @$/7 >P 0%-!"/0,&/&'$%.(/ .0,0%'!"/%- '$'$%0*5; "!#0*#+"5;!4/"#+"4($!% @$/7 6P
)$"% .(/0,!"/00*!4/"#+",4 @$/7 \P '%%-0, #$($$0,!%-$*(0% $!%-$#[!0*5#+"!4/"#+" ,0*!!"/#- 0!-/%&#.-*!0*!4/"#+"$/5,)&'"
!
"
"
#$%
$#
&''(
)
#$%$$#%$
&$&
%(#
(% ) $**+++ ,$-.+%/##01$*
!" #$%& ' ()*#!!()*()*+,& !+-% .& "/& ,! #0) 1# ()*-% 0& .2 #% 3 . -.1 .%%"! ) 4- + 4 1-#2*! 4 #% 3 5&- . ! .67-#- . " -7!-% +-%!
4+ - #8! 9:;<=>! <?@ABC! #$. + +)"#%(
4. #D!EFFF!#$ &-%. . + !G@H@II@J! =KLM!4# & . "/ -%*!7!, !&#%(!" "&+&..! 4 .#$ 2*-6 + &N!! 0+#- &2*!#$2* 661&, 0+#- 1 -%4 &! " . 4 O 66!.! .+ . + .#- .. ! .",4 &-
!- ,#1-# 2*! 9:;<=>! =K?PHBHP?PHC! &! 04+#- &2*1 &! O%&- #8 .#$ 4 #- !9BHQRH@AAPHC! -!9PASI@?QHC!-.. &!! .
!
+- #8."! ! , 0O#- &-! -%1 .- #8., .! ! - " +&,.- #8#*3
O#- + - #8%441& 2*.! 6) &!TUVTF! ! .-%&,! -.% 0#4&! . +#- . !!+3% ,% + - #8!!&W%- #8!X<Y! 0) !EZ[ZZZ! 2*.
! - #8!X<Y!6) O+)"&!G@H@II@J!/ !- .% +&
0 ! ! ..4 !% 67-O,-7! -... & !\F!]/!&#$ %#% 3!X[^ZZVX[_ZZ!9-##% 3! ^ZV^\! .]/C! . . .&- #8!X<Y!&%#$2% .4.!& ") & O- - #8! X<Y! +)"#%(!2 . !G@H@II@J!*!7!, !&!1&!`V<?@AB!,0&+)"
- #8!X<Y!]4! 0 & &- #8X<Y!9:<X<YV=>C!-. .7" !a\b!++!XE!."!#!TVE!-& %&+ -%&+4 .+ !`V<?@AB!!+3% !TVE!#$ 1#41& + - #8!X<Y!!%&+ " &+ !`V<?@AB!- #8X<Y! 0.& ! !"#$%&$'()*'(+,- ).$"/%01% 26) & &*! 7! , ! &!&& !:;<=>! <?@ABc@KS@I!bXMZ!9#$2* d*C!6+ !G@H@II@J!!eeeMB@H@II@JMLQA!6) + G@H@II@J! &1+ + - #8. !" . 4 ! ()*- #8#4 1 . N! ! " 67-4O&&&7
%,&.! 4 ! V<?@AB!% - .4 .1 + &!6) -%4 &- #8!X<Y.0) " & . "%4- & 4 6) O+)"&*!7!, !&!4.
"
!"#$%&$'(%)&*% +,-
" !.#$%&$'(%)&*% +,-
/0. 12' !3#$%&$'(%)&*% +,-
4560 3 (7%60 !8#$%&$'(%)&*% +,-
9:,988,": $%'$%$;
<84" =>?@<842A@
B"" 12'CC1D,EFGH
4II560 ". (7%D,EFGH
05/"3 ?=J
!
!"#$#%#%&'()*+,-*./!0122!3!45!6789:./!;/! </=>7+777.?!10@!A!B/!!CDB/E./! ?!>FGHB IJB/B/<GH;HCJG ED?!!BK01HCDB/E./! ?!HB2D!EHB B!EHLME;HC!>7 N EHC>77+777DB/E./! ?! OH DB/E./! ?!.C PQ)$#R)ST#UV-8WFX H B IB/> H?!D1;.B!?!DBG <FOH?!D1;10/H HLMEY6Z!<F6[-3<?!!<77µ-GDC K0B1./=B!\V]O?!D1C!/GDCG <K0! ?!/\!\>FB?!!< !1DK 1C I\BHC1MBX+J<>F!./!!! B!E<^_^B!O7[-_O7[-!!1`ab<^G/!C;HCGCE./!!! B!E<^_^\CB\BJ!P"7]c<"J]>6WF7[-_F7[- HLC@!/<!?!!!CC>*c&>*M/
#
!""#$%"% " &'()*'"+',-)./01
!"+ 2 $#$ 2
#!"+ 2 2 2#$
3!""
!"$#$ &'()* !""#$ &'()*
$ "!4 56
#3
%"$$+5 &'()*"""""4'78'2%&'9 µ:;
"'8-<7=7><'
!"#$"%&'"!$"(()%*+
#3 "6?' """
%+#"
+%2#? +%2#%## # # 42+%
+%2#
+%$%## % '"42'@'%
#"+#
AAB"3'"+#'8C@'2% '9 µD;
,,-. ./
3 3B3'*-E8
$ 4
F3
,,-
AAB'GHI''@' 2
AAB25'E'4'('J'6'8-@(CKELMNO
"+$3P#+$3$'QR
AAB'STIU'4AAB3V% W
"4!" 3
!"3! 'X-@-E'4'Y-L-E' ')
"4!" 3
!"3'! !" 'X-@-E'4'Y-L-E
"
01-./2/3
!B'%#""Z'9E<' ";'"
'%#"$ 2"
"4!"2 'E' ' #'(
!B" W#
[!"
/
" 4'" 2
#!"$" '!"\
J
+""]+!"" 24# B%25'9R^)_XY;' %B
"45 !"'E<'
01 .
" !"
#A!"'E<'
! '9:XS;' "$
"#3F34$3F3
3" "$
$25"4 AAB3#J'8->E(C7MNO
3F"$!4'`E`
F3
3F"$4'`8`
AAB"'"+#'8C@'2% '9 µD;
!B'%#""Z!'9E<' ;'"
'%#Wa "4$"
"4!"2 5#'E' ' !B#'(
B25'9)_XY;' %B
'9^Q;' "$
"!5b-'9*^Q;' "$
"#$%& '()&*+,
$
"#$"%& "'()*+,-./0/12345/6/
- "&- 1-%+#- 1 + - #8!X<Y!2%%&,!!&- !;YVX<Y!&&4 .+" &+ - #8!X<Y!6) "4! V<?@AB!-"+ -%1#3] ! ..%#$!fgh[!4[! !% +-%,## ! &. & &
0/16/!" /#! TVX!-& *3% 2+ &!;YVX<Y!. 3-& #
TVT!6,,!<iE!+&!X^!+4 !`V<?@AB!& .7" !a\b! 1 7" !9HPRSI@?QHC!++!XE!4!jg<gk!9<\C!.++!XX!6 " &+ ! `V<?@AB!+! EV^!.+,! iE! 6) #$,-!h:VF! !4&. . 1 &&#- !! V<?@AB!-%+ ! V<?@AB!#-& . . !hPlSR!kPHA`K@I!+ #- - #8&&
!" #
$
%&'()
%
+ -./01 2,+,34%('/5'()&*+,6 /75 !44("18 !75/4/9:;<=>?=>("4/(18?@?A
!
""
!!
"
""
"
"#$
!"
µ
%
"
#
!
"&
""
"&
"! &
""
µ
" %
4&(.8(8 2,+,
^;;/B!X!?!D1C1Md]R#[T`abJC/?!!0 1/!! ?!1C< /CC BEC11/!!B1 ?!!0 0?!X\C?!GJGDB1/; < \B!EC122!3>\C
1/!! .B!!DK`bVB11/; < \ I/ Ve\>\C / 1; EGB!>\C/ 1E>ZE+`abC!?!!< \CBD!1=1EK0BH !@!E>\C.;?!D1K0B\ 30!K0!\!GC`eb\+^G/ff
.;bg]h1/E?!D1K0B1./ K0C!/GDCG <K0!C1HLME\h]>FZ677[-GCEC/ ./.\HLMED.00Y6Z/ 1C1M/C1K0 i1! B!EC1HLME11M/
0/1789:!0/.-%'! !fgh!&&#. - !_!& !&!fgh!" &0&
.++!GZVGm!.&%-!jEVj_!.!\EZΩ! !fgh!" !nEo! !fgh!&. . + !nEo! +!GZVGm
0/16;<+!GZVGT!4+!fgh!-! .! =>E! !pfqXZZT! &!+!GZVGT
%#4+,## -.!!2!=>E! *3%#$ -,#r&! & " 1) 0]]3%&-&! +3%1 0.& 4- & .!a\b!&!&"4+ +&EXb!&7" !=>E!!ab!& 2.7+ &!;YVX<Y! ,## 7& 1. + !nEo! ++ ! V<?@AB!..7"!"=>E! %#$! nZo! ) &2% #$&! + &..+1+ ! =>E!) &%-77s!
0/16;23/&!;YVX<Y! .+ &4 !_Ω! +&,.,#%10.&
]]3!>X!.!EZµt!!+4!GEX!#$-& ,*3%&.#%) + ! `V<?@AB! 0+]]3 +&,&! & . . +
0/10=>?@=A/+!G_VGEE!&#$+1!&.4&&#.&!^!! .
!X! 4-.%!) &2%!nEo!-.4-%++3% . &4&+)"! 6) %.*3%".! .#! 9BSIIVSBC! &.+) + +-%+) .7" ! a\b! 4!jqE!6) #$,.! MmuΩ!!9,!v!KP?eQHu!HPw`w?QH#$.+) + " &. ! .+ 4 &! +" -.!\!++)"#!& !E!+#$+. !#$+4 !. !,\!+.!^MmuΩ!%&!^MmuΩ!^!.+) . C
.) &%-1-.+! -%#s & %. 7" &&+)"++ ! `V<?@AB!" "#s .++ !`V<?@AB!..41& !& .!jFVjET!.!XXZΩ
%
41"2%# . .4! %& ! nEo. # +!G_VGEE!+ !`V<?@AB! &4!%#$.+ &!&! nZo! 2%.4 &"! &11+)" ..%&1&, &7" !a\b!#x+)"+!G_VGEE!+3%40..!3 . !jFVjET!..++ ! `V<?@AB!%!-.&.&%-jFVjET!%4.#s "&
0/16;2 3+ 4!GET!&#-++ !`V<?@AB! 0+%-&!TZA;
6) . .+&%- 4.!!) . + ! "4!=>E!pfqXZZT!4.& +,## !" " 2!=>E! + 0) m! 41&!^! 41+,## ! ! -% 4+! E! 41&! ! 7" +&&!ab! 2.7&!;YVX<Y!4.& +,##
+ . + ! nEo!+!GET! # +!m!+ ! =>E !fghF!%&. - 2% ! N!& &.+ !jE^!4&%--.!fghF!! + &!;YVX<Y!XXZb@L!\;!) 0#4&7 477s 1& .!UZZ!y
0/1;05A/*3%&.#%) - #8!X<Y!! 0#% ]]3%
&4+&& & (*4!j>k=cg! &4#%1V#%1+ j>! " !j>! 4-#. - ! 9fhjC!.. ,#%1. !>E!6) "4.!ZMEµt!&. !j>!"++!GE^
" .!jE^!.!XXZΩ!& + !j>-% 4&%-1+ 3&#%1+ ,#%1&
A0=BCA?D2CE=5BC654 ?&!;YVX<Y! &&+! GE\!4++& 0! &
04 .1#324+ -1 ! && #-+ ,! =h>!T!+!#%&+7" !a\b[!+]]3!GE\!-%+&+]]3+!GE\!".!jE\!&%-1V1+1#34 .&!" "#s &+)"&
&
1#31 O+)"&*!7!, !&-% 0 .&,"! 3456B! &!f>h!-1 +&!EU!*!X&!-%788- 4 6!^^!1&
F1A3G&!;YVX<Y!7" -. .72&!X! !. -z%-&#
! iX! -% ,! iT! 4-#$-. .7! 34%-&#!- &%. &!hEVh^!&+"- & .!) 04 &;YVX<Y!%-&#+&!FVEXb! &+". ,&!"%& +)"&!>T!-%&]]3 0 &!>^!- & 1&"!ab!6) #4 +,## -%
- &!ab!%&&-%1 !a\b!&!=>X!!m_Z\!1+ ! =>X!.,#%1! !>\! ! 4. 0.- & .&&. % .!?H@Kw`PK?!HPwBQKwP!.!>U!4&]]3 0 -.7" !a\b
!+#- 1 + - #8!X<Y!"42*
.! &.#- 4.!1)1'( 9:;<#- "%04&. - #8.1 0) 4+-%-+#- 2*#$&&!!&#- %+#- 1&.&3 .! -%4&+#- - #8! ) .&.! #- - #8& & & !- #8 .-% +"!#- -%"#$- #8&!bXMZ! 2*0) 4!XM\!6) 0
>02C5/!46 !XZZc|!+)"#!2!<b;
!&" %#x&!F\~F_~cg~YG~XZZZ!!qk
!. - . !X^! %!-% ". 5&&!EZ! %
! 1 . . ! E!! 3 . 1 041#3-# !p<:!#$1 !9p<:!?Q!<PH`@I!BQH?!LQKPH?PHC!-&
'
!;H/!5=)">%?''1)1'(@A$B#$%@ABC)'1
EME!+#&,!<?@ABg`?QHXMZ!%7!!<P?SB!w?@AB!P`?QH!MPJP!&"7"! &" #-
EMX!9C!'!D-E"*B?)*(FGHFIHJ9&" +!EME!&0 7+ &%&!&" !-+#&,!<?@ABg`?QHXMZ-&" 67- &" #- #%14! `Kw?Aw`@MPJP! &&"7" &"
EMX!9+C'!D-E"*B?)*(KLHMMMH!7!`Kw?Aw`eMPJP!-
. , ! + 4 & &" 67- "-!#- % .&" 6"3#$4&.!+ +""#&
=)$*B(?N+)O$PQHHRRR=<SST=U; &&7&" -! &"7" &" +
EMX! 0%#x& . &" 67- &" #- #%14 &" 67- & .!6) &&&6+ !c`LHQwQ?! . , !#]"% . ! 67-#%1N! %&" 67- "# 67-+
23!I;!A; EM!#r&#- +)" 4 !&#!<?@H?!!GHQRH@A!G@H@II@J!=KL!!<?@AB!P`?QH
XMZ!!:;<=>!<?@AB!P`?QH!bXMZ!%#x. + #- #!TV^
XM!# !g`?!!GHPPHPKLP!%#x. !BHPPHPKLP!+)"!-. !g`?QHQBPH@?`QK!#!<?@AB!AQP!@K!BQH?w!!hP@SI?!>QA!GQH?!-& !;pk!-%4. hP@SI?!GHQPL?!hQeKIQP!cQP!-& !cQ``P!& -& #!TV\
TM!#1 !i!# . &
#- - #8&!bX!& %&+#- +)". !!- !-#!!&[!##+&+ *[!##"+ . -& !6) 4 0& !&+# !g`?!GHPPHPKLP!!g`?QH!;BBP@H@KLP!& #!TVU
C %5%6&'()&*' )'815& 4(D
!" #
$%&'()
$%&'()*
$%&'()
+,!-. /
012
3 104
5&
(6789(-:.!;<
= 1$(>?<@A
B%B$CB%B
&D&DE
&4& F
$%&'()*
& B$#GCG15&
(>H@<IA
>H@<IA
$&JKBG%(L)MN
$&JKBG%(L)MN
E %5 :FGH <!IHGJ %(% ) '()&* +,
K%5 :FGH 2!!IHJLI %('M 36&' )'8
!
3 23!!3?6/!4BC/B1;!GJ654 K >>
4+ "!t`IP! & "
KVR4;UWVX 4 -7s + .
YVXZSV 4#r&-7s + ! 1!M:<Y! 04&!
[V 4)-7s + 4& ! 04&
[V\ 4)+ ! #4-7s +
]VXV<VY^_VU;:V 4 7 1! MPJP! + 6#- ++)"4 &!& . #r&#- - #8&+)"
<X 4 67!9-7s + 2*++)"C!&!
S;\VZSV 4#r&-7s +
9T 4#-
456GJ654
4+ "!9: %&+ . !g`?!.#"
`X:; 44 -++ ."!&
W 4&-. + + !!!&!
;a 4&+ !&!
\V 4 + && !!&!
VSVUSS 4+ " &-7s + !&!
ZX:HbVSUV 4-%-+ !&!
ZX:KVT 4+ .#!&! !"
<VcV<VXUV 4##-+ . N! + - #8& &!U!.
!""#$ $%&#'
"
( )#*+,-# .%$/)#*+,!""#$ $%&#'
0121 34 5"# $%'
61721 8)#*+,9+%&%'
:1;<8;= >3=?28@AB8)#*+,C '
DEFGH<GI8@9/#J) #& #K'
0) - .. ! GHPPHPKLP! %4# + #- - #8&&-.4 ! #- %##-%. % & .-
4 B!<2GL9,M'(MN .!T!
EM !v!1.+ - #8!X! !9:<X[!:<Xg[!:<X<Y[!:<XG[:<XGgC!%4 .#1 ! !6) &!\!-1.+ - #8,&
+4- #8!X!9:<XC
-& 4- #8!Xg!9:<XgC
" 4- #8!X<Y!9:<X<YC #$%&'()*+,-./0.123/4
4- #8!XG!9:<XG'
"4- #8!XGg!9:<XGgC
XM;<v!1 &.&
TM! !v!4-#2*! !X!1.!G:;<=>!XMZ!-%!G:;<=>XM\!5678+19%3831:5;<*=>!3/4#$%&'?@*A38=1-
4!//4+ "!bWX! #$ 1&O-%4
- #8! ." "!\!
b`K 4#- ++)"! 04&!B
PVUd aXT 43+ #- .! 4 && .
&!C
%#
JV;<aJ 4.+ . + - #8!&!D
4V^We 4&.- #8 ! 4 ".
hPlSR!kPHA`K@I!%#x+)"!&!E
:VXca 4- #8.1 !&!
"% !cPAQH!c@B!-%!hPlSR!." 4 -%#x. -& +)" .! "%-& .-& 0%! 9w?@?Sw! l@HC6) .&. + . + #- !#" " & ">PLu! <K?@J! % 04 &,. - #84 .+ -% 0&.&
%$
($) !"#$%&'&() *+'
1?!/ !"#!$! %&$'((')*+*,+-..$/0-12
2%+345) 4!65$67!+-($8+,+89:+34$($8$!'/$
?D BC/B%
%12 2
;.4+#9:$!8,<$($8+,9.4=2;
>($8+,)3:--/?-'.,*'/$+-..$/0++,@A8$)$38,<$!4!48,
B/*C D+/E8,<$FC DG HIJGIKGLMHIHIN"O3+(9:($8+,)3:"#&$!$38,<$
0O2 *-PQ+Q>-%12 2$)R)"5/)3:1
2 ) $ !((8 2,+,
'4)3:$34-+&/)P4$9 *!"#)$ *"PQ+Q4!.$-5O,)<
%
2+ '7M&%4342,+,(#&1)4'8318"&
!" #
$
%&'()
%
/4053/5./3
6/3789:/
6/3789:/1
/.3:
!.4+#9:$!!8,<$($8+,-%12 2"5/)3:1
;!4&S"!*+/T'/$+-..$/0++,@A
>.-! '4(34,=IJU9"#+$.,(*/<V$UWHLXY9+&/)3:+$5Z[L+*9UWHLXY
!"#$ %&'$( )*+% *,-./0*1 234 !56# 7886!689 0*1 !:;!:<=#
B)*+34'/$!4\$3
B +*9&+Q3S9#+-..$/0)3:"# &/)3:+$5]IHKMH +*9 D 2"5/)3:1>/?($ !"#$%& '()*7--)^LHI
%
2 34() ('()&* +, 6&'()&*' )'8N+ !" #$ %&' ()'(&*+,-&.'
2C 'MO 'PQ("7) '()&*'R'()&*+,
B445!)3:+$5]IHKMH+*98,<$)3:!- '4+*9_GI=GF9=G9:\$)3:!&N5/)3:1B/?($ !"&+,#-+%.*7--))3:.^LHI
B;445!)3:+$5]IHKMH +*9+,#:'/$++, _D1 U= @HI`GLB5/)3:1a/?($ !"&'$/-(01*7--))3:.$^LHI
B>8$8,( .:234567839:;3b+/E.:" .!($cHJKGH&/.4!]Hd[efHILJ'/$+-..$/0++,*^LHI
BB/<V$Z[L/?!.-+#9:$!+-..$/0*/?!]Hd[efHILJ.($cHJKGH"5/)3:1
2E 'MO 'PQ("18"&75'7M&('()&* +,
2K 'MO 'PQ("40-?S2TU+VE
%%
2W %5 ;IXYZ >IH J[ 'R%5) %4'()&* +,(#&1)4'8318"&\]3575&^(5&"&3%5$O 5 '4"#$&75# FIXYZ%5$'_ ]$6 /6&)
Ba.#,Z^ ^f--,12 2'/$.($+$-!]Hd[efHILJP 3+9:.#,Z^ ^f+/E.:"&$'((')*+*,+:$) "$!3(
B6/?($$5/)3:1g.!
P7:+.4+#9:$!=2;9!&$!65") .-.4+#9:$!=2;'4$3&$!.4=2;."5/)3:1
a+34'/$)*+34-4*+Q-"5/Sh$$5*.:)3:) (9 "-)7Sh$$5*'4 "$3$.<* d` +.$ +9:+-..$/0 2+,83+,) /*'/$$.<*d`+)!
>6$78!689!!:=$?>@8A B*,-./ (!689 0*1 8<(?C86D:#:=$?>A!6890*1 EF;8;:76G 7!#H !"!;!8: >
2`%55O&1('()&* +, %54(/'7M&#'P'8((8 2,+,4&$/OQ%5 !3(8 2,+,
!
!"#$%&#'!%#'($) * !" +$%$%,-.%/,0123%-4033051%.06789%: ;;'! (< =:> % & !) : &+=?%@AB%= &#'($) * )#> + =C%D%+ %=)=+ !"#$%: E(+&F%: &* G":%,-.%($" ! H&&=:* < &&=:: + += F%;;'!($" < $" :% ;;':!" = =!($"I ($) * ! =!< (
: &#' # !)$% !"#$%#$& '())*+,-'./(*0(1())* '(+.2 /34
!" #$# %&$# '()* +,%),- ./()" #% !/0 " "0!"-123$# %&456%)" #%())7+& 89:;< =>??@;AB 13$# %& 4C6 %)" #%())7+ 89D>?=@=>??@;AB !"#$%&''%(')')(*+,&-).&&-')+/$!0'123/'%/$4%+/523 %- 1 7//#1$$#
"
(=% JKLJMN%&+=?% @AB% < =(#=% =!
H% OMP% ! +=% .QR% % =% JK% < =(#=% =! !)
DIR0 = 1
) ! H!"=(= ) % ! !)
OUT0 = 1 < H%OMP%%JK
OUT0 = 0 < H%OKP%%JK
* %!$&"7& . 4)0&/6 $ 1.3 0* &" . 7 !$ 7) &$# #1 /&7"E'FG &# &" 0&,- $# 30 H3* IJK8"3BLMNOM8 %&.B7)PQRFS82##BTU17)0&/$
CV7W#%:XFAYZ[7)QGX'FG'V * " 0 " ! 0&#" 2* \GX'H'HV 0&#" "&$"-)//]&/"&#&$#7)7/&7"E $&" ^'V5_V"#7RF`0 " !8RF`ADF@?:Ya[D?A=D;b@?A@?B* 0&#" 0 " !
'VC3:XFAYZ["&$"-/+U U"'_/7W#%QGX'FG#%.Q'XC$ 'V' 7Q'XC/,* Q\c5'5CV`FG'VH$#2$7"W3
06'7+$(')82&"96$:$')(*.;/.'<2=+#;>?@A(;'$/. B22 ..$+ .;/.' <C= #; >?@A/ .&$/.D B22..$+ E/$$+E/$$ ,.$F&F$>?@&(
# $ !%&'(!)*+
,
'*******************************************************' Program : LED Blinking' Filename : ACT0201.BSX' Processor : BASIC Stamp 2sx' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*******************************************************'$STAMP BS2sx'$PBASIC 2.5LED CON 0 ' Define P0 as LEDDELAY CON 500 ' Define DELAY as 500
MAIN: HIGH LED ' Set P0=1PAUSE DELAY ' DelayLOW LED ' Clear P0=0PAUSE DELAY ' DelayGOTO MAIN ' Jump to main
!"#
$%#$%# !"#
2##7%d55&&#& *"W0e$
!
-1 !/72fQNg$ 3cJOOIS$$-MAIN : TOGGLE LED
PAUSE DELAY
GOTO MAIN
-
#.$)*+-'(
%)0&/C$#0&() 70* 21/ISh $#C"#&%- /IShi$#$ %)#. #/32$0 "2 "0!"$ 32$%&" hNj#" 7$%&T%)%&" JRcI
HVC#%.QHXC$ 7# 7QHXC/,* Q\c5H5CV`FG'*********************************************************' Program : 8 LEDs Blinking' Filename : ACT0301.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************'$STAMP BS2sx'$PBASIC 2.5DELAY CON 500 ' Define DELAY as 500DIRL=%11111111 ' Set P0-P7 as outputsOUTL=%01010101 ' Set initial value to P0-P7
MAIN: PAUSE DELAY ' DelayOUTL=~OUTL ' Complement P0-P7GOTO MAIN ' Jump to main
& '
$%#&$%#' !"#&
! "#$%&'()*+"&,# !)-"./0&1222234"5)6 &,#+7-'7 8
HV'$#2$7"W3
&F$>?@AA.A$D!,.&GA
/
.)#W 1)3$"-7"C/&"
,-32//&7"E'FG%)3/ .CXCk/&"$ 32$#) / ."l$ #/ "# *#7)2* / 0&#" $# $-
!"#$%&"'()
*+, -+,!'./ !$.'/
(0
! "-2$* 2# .)#W
#$ $ .l U!$/C2 l %$##&'$/_/&"!#( '$/i/&"")*$/Ck/&"2* '/"
! "
#
$
%
&
!
'
()) %* +)#*#",-. ).-(*/(.-0)1"2) 345 $/6"789#(: %(9(;"/7;(-%7/-
()* ()* ()* ()*
()*
()*
()* ()* ! ()*" ()*
()*$ ()* ()* ()*
()*&
()* ()* ()*!
()*
()*# ()*%
()*
()*'
()) %* +)#*#",-. ).-(*/(.-/<.#7/.)(-8(=>?$/6"789#(: %(9(;"/7;(-%7/-
0
_VH$#2$7"W306'6+$&F$>?@AD./ H$+ .&CA82DH8I
$ 727$#&/%Pm P5 $ &"
%100000007) &n* /&"%OUTL=OUTL<<1 OUTL=OUTL>>1
!* /&"+ //.$&$# '#* /&"# //2$&$# '
#$)*(-'(
%)0&/ .0& -2,/3oo7)pp0* * /&" .l + 2* #32&$#%#&+ 2* #i$#,- ./ 7
_VC #%.QHXC$ _V' 7Q_XC/,* Q\c5_5CV`FG'*********************************************************' Program : 8-LEDs running light' Filename : ACT0401.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************'$STAMP BS2sx'$PBASIC 2.5DELAY CON 100 ' Define DELAY as 100
DIRL=%11111111 ' Set P0-P7 as outputsRELOAD: OUTL=%00000001 ' Set initial value to P0-P7MAIN: PAUSE DELAY ' Delay
IF OUTL=%10000000 THEN RELOAD ' Check last stage' reload when P7 had shown.
OUTL=OUTL<<1 ' Shift LEDs to leftGOTO MAIN ' Jump to main
9)-"$: ;-7 *<4 *-!' 68*;('6"7+83!27+' '78! ') 6")77)*./0&=12;( '7 ')* *)*->* '*8'(;(9*86"!?8@ +" 3!A $%#@$%# ' !"#@
1
$%#A$%# ' 2) !"#A
#$)*(-'(2
0&() 7%&% _ $ #.$# 3 qJjVVVVgSGc7)3h\h0* 32$1) "0!"#%#&'&n73pp7)oo
dVC #%.QHXC$ dV' 7QdXC/,* Q\c5d5CV`FG'*******************************************************' Program : 2-ways 8 LEDs running light' Filename : ACT0501.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*******************************************************'$STAMP BS2sx'$PBASIC 2.5DELAY CON 200 ' Define DELAY as 200I VAR Byte ' Define I as byte variable
DIRL=%11111111 ' Set P0-P7 as outputsRELOAD: OUTL=%00000001 ' Set initial value to P0-P7MAIN: FOR I=0 TO 6 ' Set loop I=0 to 6
OUTL=DCD I ' Set bit 2^I=1, others=0PAUSE DELAY ' Delay
NEXT ' End loop
FOR I=7 TO 1 ' Set loop I=7 downto 1OUTL=DCD I ' Set bit 2^I=1, others=0PAUSE DELAY ' Delay
NEXT ' End loop
GOTO MAIN ' Jump to main
;(B! '> C$D '( -<(!9@E9"#F#37+"GH !
dVH$#2$7"W3>?@&AD./ H$!,.&CA82D8I.;6.D.'A.
0&3.% FOR I=0 To 6FOR I=0 TO 6 STEP 2
7)FOR I=7 TO 1FOR I=7 TO 1 STEP 2"W0e$
77'(-I'8 "GJJ! )*" KLHFHM'(KNOFHM' '>6"+")*;-*)*"-I'8! &,#P34"5)6 "9(7 -I'" 6./0& ! *' !)-" #$%&=22222222 6"-)75;( '78+" *
$%#B$%#"/7C)"*. '(
#" $(#%'34%-
l %3#&0 '"#* 456/4C67"* /" #%2, LL%1,7$"#2* #i/&"%)32%3#"# # &$,-1,'ir'dk"#* 555555551,CCCCCCCC&%-3 7#/!2/&7"E'FG7$"#l $i/&" $ 7$WWISh" /0 "P5XPm$ .P5 ./&" 3"3!$2* IF`7) .Pm . /&" 3.!$2* fF`
&%-%,) 7$"#-2$ l $i/&" * %7%) .7$-)C7#2##0* 21 2U . $% %)2 7$W
kVC #%.QHXC$ 7QkXC/,* Q\c5k5CV`FGkV'$#2$7 :XFAYZ[7#$.W3 IShP5XPm
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Binary Counter' Filename : ACT0601.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************LEDs VAR OUTL ' LEDs on Pins 0 - 7CNTR VAR ByteMinCnt CON 0 ' Counter start valueMaxCnt CON 255 ' Counter end valueDELAY CON 500 ' Delay time in milliseconds
Initialize: DIRL = %11111111 ' Make all pins outputs
MAIN: FOR CNTR = MinCnt TO MaxCnt ' Loop through all count valuesLEDs = CNTR ' Show count on LEDsPAUSE DELAY ' Pause before next number
NEXTGOTO Main ' Do it againEND
.
* &3ISh!"#%)$/2$%,/55555555%-%)&/77$* 5555555C8+,/CB1$555555C58/'B-%1,CCCCCCCC8/'ddB7))2#%)2##0* 21 2U7$W $%$7$".
$%#D$%#EF3!10) )"!"7GH
#,$)*(&156
%#&30*-l / -2,/3 PKf+,* 3/ ISh%)1#/!## ISh$
mVC3:XFAYZ["&$"-/+U U"'_/7W#%QGX'FG#%.QmXC$
'*********************************************************' Program : Twinkling LED' Filename : ACT0701.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************'$STAMP BS2sx'$PBASIC 2.5LED CON 0 ' Define P0 as LEDI VAR Byte ' Define I as byte variableCYCLE CON 25 ' Define CYCLE as 25
MAIN: FOR I=0 TO 90 ' Set 0 to 35% duty cyclePWM LED,I,CYCLE ' Send PWM to LED
NEXT ' Do loop
FOR I=90 TO 0 ' Set 35% to 0 duty cyclePWM LED,I,CYCLE ' Send PWM to LED
NEXT ' Do loopGOTO MAIN ' Jump to main
')6--QQRSK!9)-"SK7&,#!;(-*)*#/0T8'*!*;<4U 6(RVJ1"34")*;( &,#+- *' ;4;(7)*' &,#+ "';7-+)
D ++8#+)#*9) !"#B
mV' 7QmXC/,* Q\c5k5CV`FG7#$#2$ :XFAYZ[
mVH$#2$7"W306'+$>?@+ 6/'%(')82&!/'HJA/%K,$$"K*A/+ 6*A$,$
!/&!/'HJ .A..&A#$+ 6*A $,$&$.A/' !,
7132$##0&$## ISh $%CYCLE7)1" $.W DUTY0&"&23/.FOR
+","-+.2* "/0+ )/#32&$ %&.2* %& 4C6 ) )#1#/!$ 0* 32$7$ ) $ )/#$&%&" .`mXC7$#0e ##02* $&#"-+&" 7$12$&#"-+&2* /#&$)$/7$.7$ "0!" #%PKfU%). "1$&#"-+&"37$ "0!"U%) "2 ##)/#PKf7$$ /$&#"-+& 0 7) "0!" #%PKf%)" #% #1"3W0* $/##1.7)327$ ) "0!"-7 ,-$#
ID%* +)#*#",-. +)#) . 7*-% "/.)(-8(
01+.234
/&7"E 'FG 3PKf$ s0)* PKf$ .7//3$-
PWM pin, duty, cycles
$ pin* 0 " /&7"E'FGduty * "#7"-7" 5X'dd
"#32$$&#"-+& PKfcycles * "#732$%3#
/ PKf7"# $-
DUTY VAR BYTECYCLES VAR BYTEDIRS = $FFCYCLES = 100
MAIN: FOR DUTY = 0 to 20 STEP 2 PWM 0, DUTY, CYCLESNEXT
FOR DUTY = 20 to 0 STEP 2 PWM 0, DUTY, CYCLESNEXTGOTO MAIN
"
#- $ 789:#:( ;<=>?@A@B=C
2%/&7"E'FG/ !70 #&%-%)&./ ! 30/* 2,32 4 62* 4 6$332-* qjStJRc7)&%-%)&"$# 7#/!2/&7"E'FG3&$#T) )2 %, 3-# * 2%2#) $ W.1/ %2#) $ &)""
iVC3:XFAYZ["&$"-/+U U"'_/7W#%QGX'FG#%.QiXC$
µ
' *) *JJ)H/* /6" 11K./+K. !1 1
+556789: ;<= 30 C30 - 1W 0* 2&$+2 #1 32 $#22 7)3 ##3//3$#* >?@ABCD3-32/3&$+2,2* #) )#32$.7//3$-
>?@ABCD%+ 6#E;/L&H&.+ 6/L!" 6+ 6/CLM!" 6+ 6/N%+ 6#E;/O0 " /&7"E'FG* $"-7"P51,PCd&H&.+ 6/O132$$"-7"5XkddHd$ C%)/ #5V_&&#&!" 6+ 6#E;/O" 2# #1/'VdMu132$$"-7"5XH'Lmkm
"# 3qjStJRc$-FREQOUT 12,1000,1000
%)3&$#1'Ld55Mu$# ##_55&&#&PC'1" 2&$'#11 7$$-
FREQOUT 0,1000,1000,1200
#1 #1* 'Ld557)HL555Mu%)W$# 7)2 2* / $"2* )$&32/2 !$3&$ 3$$ 32$2#1/5
,
iVH$#2$7"W306'+$&DA;H$ H<,A=A:$&/$&P2QB$+
iV' 7QiXC/,* Q\c5i5CV`FG
$%#'$%#*) *JJ)H/* /6" 1!"#'
'*****************************************************' Program : Metronome' Filename : ACT0801.BSX'*****************************************************'$STAMP BS2sx'$PBASIC 2.5INTERVAL CON 500 ' Define INTERVAL as 500SPK CON 12 ' Define SPK as P12DURATION VAR Word ' Define DURATION as Word variableFREQ VAR Word ' Define FREQ as Word variable
DURATION=125 ' Set duration 50msFREQ=1200 ' Set frequency 3kHz
MAIN: FREQOUT SPK,DURATION,FREQ ' Send frequency OUTPUT TO P12
PAUSE INTERVAL-((DURATION*4)/10)' Interval time 500ms,Delay = 500-(0.4)DURATION ms
GOTO MAIN ' Jump TO main
LWMNXY;(+) <"VZ[\ 'J+''+ +' ! ']J+''+ +;)*$^0,%_`&'77 '#/%`0$.^34")>R !a]6"7 * ! *-!* 9*8!**6"
-
#/$DE>FBG6%H% '%
2%1 $%3 qjStJRc &% i7#$# 2$ #13qjStJRc-#1"$"$+,-"-i#132/i"#"$"0*-l* $8\BL8hBL8SBL8qBL+ 8OBL8QBL8`B7)$.8\CB
vVC #%.QiXC$ 7QvXC/,* Q\c5v5CV`FG
vV'$#2$7 :XFAYZ[7#w &$,-%30
&%RRP H7$;A$ +,4''67AD$"K7A9.;$#/
'******************************************************' Program : Melody note playing' Filename : ACT0801.BSX' Processor : BASIC Stamp 2SX/i-Stamp'******************************************************'$STAMP BS2sx'$PBASIC 2.5SPK CON 12 ' Define SPK as P12FREQ VAR Word ' Define FREQ as word variableI VAR Byte ' Define I as counter byte variable
C CON 419 ' Note C FrequencyD CON 470 ' Note D FrequencyE CON 528 ' Note E FrequencyF CON 559 ' Note F FrequencyG CON 627 ' Note G FrequencyA CON 704 ' Note A FrequencyB CON 789 ' Note B FrequencyC1 CON 837 ' Note C1 Frequency
MAIN: FOR I=0 TO 7 ' Set loop 8 timesLOOKUP I,[C,D,E,F,G,A,B,C1],FREQ ' Get data from tableFREQOUT SPK,1250,FREQ ' Send frequency output to P12PAUSE 200 ' Delay 200ms
NEXT ' Do loopPAUSE 1000 ' Delay 1sGOTO MAIN ' Jump to main
6"+";(*)*) <" A "578 7-!"'!!'7;bbb@baaaa;<4->; ( !( * G+''+ +6"'*)7 ' ;( * ' 2 + *";( '78+"'* **8
$%#L$%#*) *JJ)H/* /6" 1!"#L
/
C) <"cdefghfHij * ![\D MIDI MIDI MIDI Note Frequency Note Frequency Note Frequency C 0 8.1757989156 12 16.3515978313 24 32.7031956626 Db 1 8.6619572180 13 17.3239144361 25 34.6478288721 D 2 9.1770239974 14 18.3540479948 26 36.7080959897 Eb 3 9.7227182413 15 19.4454364826 27 38.8908729653 E 4 10.3008611535 16 20.6017223071 28 41.2034446141 F 5 10.9133822323 17 21.8267644646 29 43.6535289291 Gb 6 11.5623257097 18 23.1246514195 30 46.2493028390 G 7 12.2498573744 19 24.4997147489 31 48.9994294977 Ab 8 12.9782717994 20 25.9565435987 32 51.9130871975 A 9 13.7500000000 21 27.5000000000 33 55.0000000000 Bb 10 14.5676175474 22 29.1352350949 34 58.2704701898 B 11 15.4338531643 23 30.8677063285 35 61.7354126570
C 36 65.4063913251 48 130.8127826503 60 261.6255653006 Db 37 69.2956577442 49 138.5913154884 61 277.1826309769 D 38 73.4161919794 50 146.8323839587 62 293.6647679174 Eb 39 77.7817459305 51 155.5634918610 63 311.1269837221 E 40 82.4068892282 52 164.8137784564 64 329.6275569129 F 41 87.3070578583 53 174.6141157165 65 349.2282314330 Gb 42 92.4986056779 54 184.9972113558 66 369.9944227116 G 43 97.9988589954 55 195.9977179909 67 391.9954359817 Ab 44 103.8261743950 56 207.6523487900 68 415.3046975799 A 45 110.0000000000 57 220.0000000000 69 440.0000000000 Bb 46 116.5409403795 58 233.0818807590 70 466.1637615181 B 47 123.4708253140 59 246.9416506281 71 493.8833012561
C 72 523.2511306012 84 1046.5022612024 96 2093.0045224048 Db 73 554.3652619537 85 1108.7305239075 97 2217.4610478150 D 74 587.3295358348 86 1174.6590716696 98 2349.3181433393 Eb 75 622.2539674442 87 1244.5079348883 99 2489.0158697766 E 76 659.2551138257 88 1318.5102276515 100 2637.0204553030 F 77 698.4564628660 89 1396.9129257320 101 2793.8258514640 Gb 78 739.9888454233 90 1479.9776908465 102 2959.9553816931 G 79 783.9908719635 91 1567.9817439270 103 3135.9634878540 Ab 80 830.6093951599 92 1661.2187903198 104 3322.4375806396 A 81 880.0000000000 93 1760.0000000000 105 3520.0000000000 Bb 82 932.3275230362 94 1864.6550460724 106 3729.3100921447 B 83 987.7666025122 95 1975.5332050245 107 3951.0664100490
C 108 4186.0090448096 120 8372.0180896192 Db 109 4434.9220956300 121 8869.8441912599 D 110 4698.6362866785 122 9397.2725733570 Eb 111 4978.0317395533 123 9956.0634791066 E 112 5274.0409106059 124 10548.0818212118 F 113 5587.6517029281 125 11175.3034058561 Gb 114 5919.9107633862 126 11839.8215267723 G 115 6271.9269757080 127 12543.8539514160 Ab 116 6644.8751612791 A 117 7040.0000000000 Bb 118 7458.6201842894 B 119 7902.1328200980
"0
$%#L$%##$+#*!"#MN#(9.O
#10$)H7(
1,&%-$##.% "$" 7#/!2/&7"E/02w $ ."#1"$")$/"T) //3qjStJRc7)3IJJxRPU%)$#$"/UT/"y)3 $
C5VC #%.QiXC$ 7QC5XC/,* Q\cC55CV`FG
C5V'$#2$7 :XFAYZ[w %30
06'+$&DA;H$ H(.<STUUVWXUUYUW=A%K,$.&06'(.& E/H*A&PC$+ $,$&6;$% H(.' !,$DE/$$ ,.'A.
'********************************************************' Program : Simpe Melody Box' Filename : ACT0901.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*********************************************************'$STAMP BS2SX'$PBASIC 2.5SPK CON 12 ' Define SPK as P12DURATION VAR Word ' Define DURATION1 as word variableFREQ VAR Word ' Define FREQ1 as word variableSTEPSIZE VAR Word ' Define STEPSIZE as word variableI VAR Byte ' Define I as byte variableTEMP VAR Nib ' Define TEMP as nibble variableNOTE VAR Byte ' Define NOTE as byte variable
C2 CON 837 ' Note C2 FrequencyDL2 CON 887 ' Note Db2 FrequencyD2 CON 940 ' Note D2 FrequencyEL2 CON 996 ' Note Eb2 FrequencyE2 CON 1055 ' Note E2 FrequencyF2 CON 1117 ' Note F2 FrequencyGL2 CON 1184 ' Note Gb2 FrequencyG2 CON 1254 ' Note G2 FrequencyAL2 CON 1329 ' Note Ab2 FrequencyA2 CON 1408 ' Note A2 FrequencyBL2 CON 1492 ' Note Bb2 FrequencyB_2 CON 1580 ' Note B2 Frequency
C3 CON 1674 ' Note C3 Frequency
"1
DL3 CON 1774 ' Note Db3 FrequencyD3 CON 1879 ' Note D3 FrequencyEL3 CON 1991 ' Note Eb3 FrequencyE3 CON 2110 ' Note E3 FrequencyF3 CON 2235 ' Note F3 FrequencyGL3 CON 2368 ' Note Gb3 FrequencyG3 CON 2509 ' Note G3 FrequencyAL3 CON 2658 ' Note Ab3 FrequencyA3 CON 2816 ' Note A3 FrequencyBL3 CON 2983 ' Note Bb3 FrequencyB_3 CON 3161 ' Note B3 Frequency
P CON 0 ' PauseS CON $FFFF ' Stop
MAIN: LOOKUP I,[G2,BL2,C3,D3,EL3,D3,C3,A2,F2,G2,A2,BL2,G2,G2,F2,G2,A2,F2,D2,G2,BL2,C3,D3,E3,D3,C3,A2,F2,G2,A2,BL2,A2,G2,GL2,E2,GL2,G2,S],FREQ ' Read notes tableLOOKUP I,[4,8,4,8,2,4,8,4,6,2,4,8,4,6,2,4,8,4,8,4,8,4,8,2,4,8,4,6,2,4,8,2,4,6,2,4,8,0],DURATION ' Read beats tableIF FREQ=$FFFF THEN EXIT_LOOP ' End of song?FREQOUT SPK,250*DURATION, FREQ ' Make sound from table with beatI=I+1 ' Increase index to next noteGOTO MAIN ' Back to play next note
EXIT_LOOP:I=0PAUSE 1000GOTO MAIN
$%#M$%##$+#*!"#MNO
! !"#$"%
&'(')*)'+,**-.$./-01(12''"1".$3)*0'()"%(&'('+**-.1"0"41$+*-'$+*-5.1)1$)40-!1+*061-() !*-5 789:;<=>
&'('*) &+)*- "%)1$)? @AB
$1"CDE1 &'.))*1)!%1F(5'.5""%%&& $.
GH.5)1)*310$'1$5..5*?7IJKKLJI !" #$$%&'( !" && (') *+, -"$./ 0
!"#$ %&'(
&1234+56Ω7010*&'(')*01M%"@GB(51.1(5 %(5 "%.)*5('(" @AB &'?5.((5 *-5
H .5-)*1.5 010*"&(%33N1')?.)*+ .5$N.')*1$'$"%33N')
"
()1$M 5".11"DO*5"M%1)*0'"% &PQRRSO!11)*0.5 ((.$(..*-
!"# 1 )*()+*-5
!"#$ %& !'"$()&* +
'&'()TALTU+)*-%1.5 *5*?)1)*0U5.)1$&.10$.(/()(
DIRA = %1111
"&(.5+&'(')*-.V24/)TULTA+*-&'.( )!%15"F(5&'(') TULTA +*-&'()'1(5 ()40"%+.)*0W5(&'((5"*-))*05(1 .X')*01$'$(
$%&'$("1"%((10"%+%&'
-!*-*06 5 ((.$( 5&(X !"5 (5$'1$($"%"(.5 5(1$5.."5 &.5& TYZ *+5 '13$..$ $(F @'5$/B %[($(5$&& \E]^SQR *(1
!"##$%&'()%*'+'++,%))%& -./.& ( ##$%&/ 01
## $ !%&''&%
!
"
#
$ % &
'
)*+, - +. /0 1)2-)3+". 4 #) 5+"56 "#)
)$2232 (' 452262
7-)"889+. -
$(#
$( $( $( $(
$($
$(
$( $( $( $(
$(%
$(! $( $( $(
$(&
$("
$( $( $( $(
$('
)*+, - :;+)< =/> 1)2-)3+". 4 #) 5+"56 "#)
223 ,.-522627 (89)5:;22<23=!"
223>')--8.?6!@ABC''()!2D7,%)EF,GHI
'$STAMP BS2sx
'$PBASIC 2.5
'*********************************************************
' Program : Basic input output
' Filename : ACT1101.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*********************************************************
DIRC=%0000
DIRA=%1111
CHK_KEY: IF IN8=0 THEN LIGHT
DARK: LOW 0
GOTO CHK_KEY
LIGHT: HIGH 0
GOTO CHK_KEY
! "#$$$$% &'()!*+,- ./0.11 2( -3&4)-4&536%./565, &&'()7*+,- .$0.82(5,5-9,./)2:$;%<)*+=%5-)49> %<)9<)3 4=5,)??@'5:$;%'5<.$',93 4-ABCD 5,, 3) EFGH %)??@'5 :1; %'5>< .$9 56-ABCD=5,, <5-9,3./3949> >)=5,3)??@'5:1;<3.$' '33 4&./2'5:$;
1 7 1889+. - 22
(
# $ !))*+
J/'()'+..822J7 *%/'DD,+*/K. -.%'(),82',%)EL*GHI,%)E2 !"7'%,7,7'()8%'()'8J4 !"**'+* +%M))%&,E<*E2+'%/'()'7J4K*+ 7*J'()'J4+K*.8 47
)$2 32 (' 452 62
7-)"889+. -
2 3 ,.-52 627 (89)5:;2 <23=!"')--8.?6!@ABC2 3N'()!2D7,%)EF,GHI*+IOPQR;OSB?TAU
!"#$%&'"#$( %) *+$,"#-+./01 2.345678 9 :); :!;
,
171889+. -
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Switch-controlled light' Filename : ACT1201.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*********************************************************DO
DEBUG HOMEDEBUG ? IN8 ' Display value of IN8 and IN9 on Debug terminalDEBUG ? IN9
IF (IN8=0) THENHIGH 0PAUSE 100
ELSEIF (IN9=0) THENHIGH 1PAUSE 100
ELSEPAUSE 100
ENDIF
LOW 0LOW 1PAUSE 100
LOOP
2 3V'()! D7,%)EL,GHI*+IOPQR;OSB?TAU
<"#$%='"#$( %! *+$,"#-+./01 2.345678 9 :); :!;
7?":+1+;+ =@ABCD@E'$F&G
-
# $ !))*+ ....
22*2 D7/##$%&'()*%'.'() J*)%&K*8// W<X )%&W2XK'()' 7%Y-,7-.J* ('()%.'.' )%&W2XW<X/8'*.'()/8*.'K'() Z@[RRUO\]?@^_`
)$2>32 (' 452>62
7-)"889+. - 2>3 ,.-52>62 (89)5:;2><23=!"'$STAMP BS2sx'$PBASIC 2.5'*******************************************************' Program : Toggle switch' Filename : ACT1301.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*******************************************************LED CON 0 ' Define LED as P0SWITCH CON 8 ' Define SWITCH as P8 inputSW_VAR VAR Byte ' Define SW_VAR as byte variable
LOW LED ' Off lightMAIN: BUTTON SWITCH,0,255,0,SW_VAR,1,TOGGLE_LIGHT ' Wait for switch is pressed
GOTO MAIN ' Jump to main
TOGGLE_LIGHT:TOGGLE LED ' Toggle light statusPAUSE 200 ' DelayGOTO MAIN ' Jump to main
1 7H 1 **.6I) )))
(/
2>3>')--8. ?6!@ABC
2>3N'()!2D7,%)EF'.,GHI
!"#$%&'"#$( %)
2>3V'()!2D/,GHI
"#$( %)
*% - (/=a;;b1 '()-./%) cOUAd
VVD7.J78-DJ.'D)/.4
4 (/BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address
//,'()%&J e*%'()D)ZP[QT^O`-./* !"##$'()DZAQ@[6SOCOA@` **-8.*&J&f/8' @ASRO@\@A@O -.'##$/.)J 9W<XW2XK8
(,,%), !"'()
! " (J*'()J4W<XgW<X'()>*+"#!?+@$+#ABW2XgW2X,7,%)'(),7
"#!$ (*.*,(''*##$'()D './'J<*8##$''() ##$'()D/8+%8J/cOUAd VV*h#8*8##$'()D
%! " (',' *'##$'()D
&$ "'!%!&#"/* < (/=a;;b1/
!%(" ! " (8,,'()W<Xg8'()W2Xg'()J4
!%" -**-8J&f// @ASRO@\@A@O
(#
!"#
)*+,-+-
'(). (.4'i8'()2/##$%)'()*'24/'()8/+%/=a;;b1*/.))/%')'/ /.)*'jkJ/.)/8''*.*8('/4'j'*%%)D/=a;;b1KJ (8
)"J9#889+)-) ;K2LMANBFO@P
/=a;;b1J4 ( -4 '4*//=a;;b1*'J*,,,'//c[]T\@A@O/=a;;b1*eD)'()J''/.)*/ @ASRO@\@A@O8'2-**-8.8' J/ @ARO@\@A@O < -**/J8
J'().//J*.4c[]T\@A@O/=a;;b1*''4,-/'//cOUAd/=a;;b1**&*&8' @ARO@\@A@O*//*/,'()J4D/J'()..4l'*c[]T\@A@O/ =a;;b1*'/' SA@O %*&/ */,'()'./.)/i/.)),/%')'*.'()*-'%
(
#" $ !0*+123
*/'4/'() '+',/Emn%''()89 Zc?BBOS\]?@^_` -. !"*/'()'' J4*+88/'/&/'',GHI'.,/Emn%. (/n01*n5"%,,,/8./Emn
89 (GHI'78J ('8/'/&89848-.*%',-*4 -.##$)%&,%), !" 8 ( /'/&D7* (j* 'K)%
)$2N32 (' 452N62
7Q- ;6I1)2R$ %&'(
2N3 ,.-52N627 (89)5:;2N<23=!"
(
*%
J('' 6GHI8//-./4FOR N=1 TO 3/
'***************************************************
' Program : LED Dimmer
' Filename : ACT1401.BSX
' Processor : BASIC Stamp 2Sx/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'***************************************************
LED CON 0 ' Define P0 as LED
I VAR BYTE ' Define I as byte variable
N VAR NIB ' Define N as nibble variable
CYCLE CON 25 ' Define CYCLE as 25
SW_UP VAR IN8 ' Define SW_UP as P8 input
SW_DOWN VAR IN9 ' Define SW_DOWN as P9 input
MAIN: IF SW_UP=1 THEN CHK_DOWN ' Check SW_UP pressed?
I=(I MIN 1)-1 ' Decrease PWM if pressed, ,minimum 0
CHK_DOWN:
IF SW_DOWN=1 THEN SEND_PWM ' Check SW_DOWN pressed?
I=(I MAX 127)+1 ' Increase PWM if pressed, ,maximum 128
SEND_PWM: FOR N=1 TO 3 ' Set loop 3 times
PWM LED,I,CYCLE ' Send PWM to LED
NEXT ' Do loop
GOTO MAIN ' Jump to main
'%&443)-./',.I%-(??@.JK3)<.$%-EL -) MN4K7D%<)&3))1B/',&4MN4KO% -' <)&)$
171 ;6IR)"*+. - K+:6**.* ST= 2 .
("
# $ 04%56!
/('. J.4, !"?6!@ABC&$)%&)%&8 /'.' -.o%*,&$)*,##$.-% !"J/%&'()8-.8 4,..l*)/ W'.X
)$2V32 (' 452V62
µ
2V3 ,.-52V627 (89)5:;2V<23=!"')--8.?6!@ABC2V3>'()!2,%)EF',GHI*-%
@C#A"#D-+%)EF*"+:-; "#$( %&-9+"A@(G@+#:9;DH(++ @-+F#(G"#*-+FI+J#":-;-:;
J"#@+#A !""#$!%$& !""#'
7-22U;2"V+1)2R$ %&'(
(
17122;2"V+**..*)2$ %&'(
% -*p)%&'./ba;Ea;* (/;bqqGH
J*,)%&
+ ..,7&*/)%.%p7j,8-//-)
7, +4.%$J7/'* 8 (
'***********************************************************' Program : Head or toe' Filename : ACT1501.BSX' Processor : BASIC Stamp 2Sx/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'************************************************************'$STAMP BS2sx'$PBASIC 2.5LED0 CON 0 ' Define LED0 as P0LED1 CON 1 ' Define LED1 as P1SPK CON 12 ' Define SPK as P12SWITCH VAR IN8 ' Define SWITCH as P8 inputI VAR Byte ' Define I as counter byte variable
OUTPUTLED0 ' Make LED0 as outputOUTPUTLED1 ' Make LED1 as output
RESET: HIGH LED0 ' Set initial value to P0,P1LOW LED1
MAIN: IF SWITCH=1 THEN MAIN ' Wait SWITCH pressedLOOP_: TOGGLE LED0 ' Flip 2 LEDs
TOGGLE LED1FREQOUTSPK,25,600 ' Make sound "TOK" on speakerPAUSE 20 ' Delay 20msIF SWITCH=0 THEN LOOP_ ' Loop until SWITCH depressed
FOR I=0 TO 49 ' Loop 50 times laterTOGGLE LED0 ' Flip 2 LEDsTOGGLE LED1FREQOUTSPK,25,600 ' Make sound "TOK" on speakerPAUSE 20 ' Delay 20ms
NEXT ' Do loopGOTO MAIN ' Jump to main
(
/*.&) (J8 (8 -./'4 /##$%&'()'##$.'./rsHtba;J%Y W.X/'/&'.8-//-) D7J..8%.,.-//'J8
)$2u32 (' 452u62
µ
7W-2)+ 1)2R $ %&'(:;<XJ889+. -
# $'%'.
2u3 v-),.-52u627 (89)5:;2u<23=!"2u3>')--8.?6!@ABC2u3N'()!2
@+#(:K5LL5M6N4OMLL5/8.;*+$,"#$#+#+A+5P Q74O@+*RR,+(S # +++#
((
'$STAMP BS2sx'$PBASIC 2.5'******************************************************' Program : Melody chime' Filename : ACT1601.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'******************************************************SPK CON 12 ' Define SPK as P12DURATION VAR Word ' Define DURATION as word variableFREQ VAR Word ' Define FREQ as word variableSWITCH VAR IN8 ' Define SWITCH as P8 inputI VAR Byte ' Define I as counter byte variable
' Note frequency tableC CON 419 ' Note C FrequencyCH CON 444 ' Note C# FrequencyD CON 470 ' Note D FrequencyEL CON 498 ' Note Eb FrequencyE CON 528 ' Note E FrequencyF CON 559 ' Note F FrequencyFH CON 592 ' Note F# FrequencyG CON 627 ' Note G FrequencyAL CON 665 ' Note Ab FrequencyA CON 704 ' Note A FrequencyAH CON 746 ' Note A# FrequencyB CON 789 ' Note B FrequencyC1 CON 837 ' Note C1 FrequencyP CON 0 ' Pause
MAIN: IF SWITCH=1 THEN MAIN ' Wait for switch is pressedFOR I=0 TO 32 ' Set 33 notes loop
LOOKUP I,[G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G],FREQ ' Read notes table
LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,2,1,2,1,1,1,1,1],DURATION ' Read beats table
FREQOUT SPK,390*DURATION,FREQ ' Make sound from table with beatNEXT ' Do loopGOTO MAIN ' Goto play again
%3 43)-./ &36&4 O/ % &./2('&4CJH!G2&- IF SWITCH=1THEN MAIN 2 & P0CQRST 4',33 5, +)93 UOVQW XYWZ[W\]^ QR_`Wa ',)',3=-<&)',4( ')' - &4LOOKUP 5)5,- 88 3,-(<&6'>5+'->)'&)36
17W12)+ R+-W
(,
*%%-.8,/ /GbbwaE (.'-*/'
.'- LOOKUP I,[G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G],FREQ ' Read notes table
LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,2,1,2,1,1,1,1,1],DURATION ' Read beats table
'.'4 ''-'.FOR I=0 TO 32 ' Set 33 notes loop
'.*8%.>>'-
- GbbwaE*K'/'.'./'J,'lj% ')( 3VJ,7 8-. (/.&l/Zx`'(-. *
% -8/'/4$'.>L< 'Ias5;0b1J/
* '*,%K',7
!
!"!"#!$%% & &' !( (## &")* +,-!.(!!/!"#'!&!*"00&*(!"1!"#2 3 145("6 26!
!"# !!$"%&''($)$'!' *!"!"$+ ,-./$!0!!"% 1 2 )3 &")$ & * 3 4!!$ 5 " !!!"% !6!78!7"64$!4"% *53 !7#99:" '" 5$!0 )!(!"'!%# #$))$
;<34!3 !7*&=;> 3 !*
"#$ %&'()*
µ
!"#$%
+,
;<,"6!!$"$+""!"# !!$*&=;> *?3 %&)@=AB;C<D-.
'$STAMP BS2sx
'$PBASIc 2.5
'*********************************************************
' Program : Door alarm
' Filename : ACT1701.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*********************************************************
DIRC=%0000 'Port C group as INPUT
DIRA=%1111 'Port A group as output
CHK_DOOR: IF IN8=1 THEN OPEN
OUT0=0
GOTO CHK_DOOR
OPEN: OUT0=1
FREQOUT 12,10,800
GOTO CHK_DOOR
!"# $%&'()'*)+,-./01234()+56)'7 89:;;<=+('6+5$ >6'? &@, %A>>'? -./0123 ((BC$+;!"D%>E!:+)+DFC6(>6BD+)+>D@G=6A'5$+$'*)+C+&'()'*)+,-./0123H6>E!:C6(>6BD+A'
&'&'( )*
;<E 8!!$)F>-GHIJ4 5 6)@"54!;<K-') "6)@"5"!* #
!" #;<L -"!* #
$$%"&'()$ '*+,-!%.//!0%1!%.234(5678// -/ ,-- "!" 99:! #
+#
"#+$-.#/
44!!$*&KLM?&"N !"# !!$''($)@& 8!" 8 $!"&$"$!!99:''($4 "#'& 7%5 O *'&PQR<<<S.BTTUU/$!0*&4!4!)@&*&$! 0?L*5$!0!!$""/ /4$!0"&$"$!7!) 5 3 4!!$ 54?38"8/ 0?#3 !V !''($!!$)3)$'!' *!"!!M@!""/ /$!0! 38$ 2))$ )#4!8!%W!!
X<34!3 !7*&=X> 3 !*
µ
+ ,-* .&' !"#$%
+
&'+&',-* .' !"#$%/01
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : 8-LEDs random light' Filename : ACT1801.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************RAND VAR ByteRUNNING VAR RAND.NIB0COUNTN VAR ByteBT VAR ByteDIRL=%11111111
CHK_START: BUTTON 8,0,200,250,BT,1,STARTGOTO CHK_START
START: FREQOUT 12,1000,1000RANDOM RANDBRANCH RUNNING,[FINAL,ZeroL,ZeroR,TripleL,TripleR,FirstR,FirstL,BOUND,CENTER,LEFT,RIGHT,SepL,SepR,CoupleR,CoupleL]
FINAL: OUTL=%11111111FOR COUNTN=0 TO 3 PAUSE 180 OUTB=OUTB<<1:OUTA=OUTA>>1NEXTRETURN
ZeroR: OUTL=%11111111FOR COUNTN=0 TO 7
PAUSE 180OUTL=OUTL<<1
NEXTRETURN
ZeroL: OUTL=%11111111FOR COUNTN=0 TO 7
PAUSE 180OUTL=OUTL>>1
NEXTRETURN
TripleR: OUTL=%01010101
FOR COUNTN=0 TO 7
PAUSE 180
OUTL=OUTL<<1
NEXT
RETURN
+0
&'+&',-* .' !"#$%/01
TripleL: OUTL=%10101010FOR COUNTN=0 TO 7
PAUSE 180OUTL=OUTL>>1
NEXTRETURN
FirstR: OUTL=%10000001FOR COUNTN=0 TO 3
PAUSE 180OUTA=OUTA<<1
NEXTFOR COUNTN=3 TO 0
PAUSE 180OUTB=OUTB>>1
NEXTRETURN
FirstL: OUTL=%10000001FOR COUNTN=0 TO 3
PAUSE 180OUTB=OUTB>>1
NEXTFOR COUNTN=3 TO 0
PAUSE 180OUTA=OUTA<<1
NEXTRETURN
BOUND: OUTL=%00011000FOR COUNTN=0 TO 3
PAUSE 180OUTA=OUTA>>1:OUTB=OUTB<<1
NEXTRETURN
CENTER: OUTL=%10000001FOR COUNTN=0 TO 3
PAUSE 180OUTA=OUTA<<1:OUTB=OUTB>>1
NEXTRETURN
CoupleR: OUTL=%00000101FOR COUNTN=0 TO 7
PAUSE 180:OUTL=OUTL<<1NEXTRETURN
CoupleL: OUTL=%10100000FOR COUNTN=0 TO 7
PAUSE 180:OUTL=OUTL>>1NEXTRETURN
+1
X<, "# !!$*&=X> 8)F>-GHIJX<E-)"!%&2"!#*5X
, /&'(); < <+/ $ ,-#%""1%=>?$ %@?)A#%#") </)1%B$/>-"%CB$/%>-"CB$/%">-"!-1D1"'CB$/D1"'%>-"C B$ >-" !%E-
LEFT: OUT0=1
FOR COUNTN=0 TO 7
PAUSE 180:OUTL=OUTL<<1
NEXT
RETURN
RIGHT: OUT7=1
FOR COUNTN=7 TO 0
PAUSE 180:OUTL=OUTL>>1
NEXT
RETURN
SepL: GOSUB LEFT:GOSUB RIGHT
RETURN
SepR: GOSUB RIGHT:GOSUB LEFT
RETURN
&'+&',-* .' !"#$%/01
B'CI5=#C+'?G+$6J%B'CD% C6(B'C+I)'CC>E!:=DF.K% LM;" A C6 -./0123 ((BI++D%6%B'C+>CN65)'C+JB+I+A (4A 5C'<O":=PD(Q6+$%6F5 %B'C+>CN6@R)'CC'>QSDD+=C$+TS(BL<O"7
B'C+>CN65C+J=($4+5 D%=U=='?C5$ $4+$( 4(# N6DI$6$6 >B'CA+TT BA+'? '6$%C A>VC5$+
+/
" # $ *23&23&
8 ?&"$"&**&$!0 4!"/*! "#)* ** )"N 8 ?&3 !!(3 *&)!'$ $74 " *)$'!' *!"!" %&43 !!!7"/"/*! *&''($)$'!' *!"! 5 4)"! !7**("!%&*&"&#"%&$ (!:1 )$'!' *!"!)$ 4"N !#(!:"(4 $!!' "%&"!&$ !* !#99:"*&$!"& $1$#!* 4! !!$"N '$***&"# 38"!( $' $!!4 " "%&38!" "$ 5$!!0!"N Y!!$
Z<34!3 !7*&=Z>3 !*Z<,"# !!$*&=Z> *?3 %&)@=ABZC<D-. 8)F>-GHIJ
µ
2 ( 3456*45*(6 !"#$%
+
'*******************************************************
' Program : Roullette
' Filename : ACT1901.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*******************************************************
'$STAMP BS2sx
'$PBASIC 2.5
SPK CON 12 ' Define SPK as P12
SWITCH VAR IN8 ' Define SWITCH as P8 input
I VAR Byte ' Define I as counter byte variable
J VAR Byte ' Define J as counter byte variable
DIRL=%11111111 ' Set P0-P7 as outputs
RESET:OUTL=%00000000 ' Set initial value to P0-P7
MAIN: IF SWITCH=1 THEN MAIN ' Wait SWITCH pressed
OUTL=%00000001 ' Load first stage LEDs
LOOP_: GOSUB ROLL ' Call roll LEDs subroutine
RANDOM I ' Random times in byte
PAUSE 20 ' Delay 20ms
IF SWITCH=0 THEN LOOP_ ' Loop until SWITCH depressed
I=(I/4)+(I//8) MIN 32 ' Calculate random times
FOR J=0 TO I ' Roll LEDs as calculated value
GOSUB ROLL ' Call roll LEDs subroutine
PAUSE 20+(5*J) ' Delay 20ms and slower in every times
NEXT ' Do loop
PAUSE 5000 ' Delay 5s. (stop already)
GOTO RESET ' Jump to restart
ROLL: FREQOUT SPK,25,1200 ' Make sound "TIK.." on speaker
IF OUTL=%10000000 THEN RELOAD
' Check last stage reload when P7 had shown.
OUTL=OUTL<<1 ' Shift LEDs to left
RETURN ' Return
RELOAD: OUTL=%00000001 ' Reload
RETURN ' Return
&'2&'456*45*(6 !"#$%/01
$5>B'C=%I++TS4%B'C5C$+E;;9B+65I++#)$ +>TSA W5XYZQ[\YZZ[]"^G=(+>A $+N66DH>TS4A 5C'_%'6+E!:DF.K+A'+>C' C6($I6%_X4(A N66DH>
+
E<E*-*& #![X"!* #!$!$- <,/ "1/ $!$&'()F*+G/
%,?$-" !H,?$- 99:!" # !$%"&'/$&-/ $,";"1 $,!,--A/ !-1 <%
@!"#%!$ ;%=/ <//-= =;%:'!'; < #!"-/ /,- !",
3 !!$3!( $4 '!5#! *&48('&R=SQ\8!""]' *&3)$ & E, )$ " ; ' :4' ( $7(,LL$!!$3 !!* I=(I/4)+(I//8) MIN 32 )_,LL`Kab_,LL``XacdEbXe ' 5)"N ! 7M?&$' "&$#?5 "!%&2 $'7:L,C*38' "8 !$"&$' $#?5 " %&
3 !!$) !!$3 *&*!"& $"N !!$ RQ*38$!0"!3 3 '!5 2 ))#?5
++
",$42
3 4!!$ 54"&$"$(!:!99: ("#) & '%"&$"N K 0?$ 4"&$4 $#?5 /$!03'$!7%5 O "$3 4!!$*& $"#$4! (*&"&$$#?5 )3 4!!$"N !!'! f8"g8!%\hijklmjn*&!!4(" !#" 2)K " "%" )!!4" 5 2
,C<34!3 !7*&=,C>3 !*
78 9:4 *45*(6; < !"#$%
,C<,"# !!$*&=,C> *?3 %&)@=AB,CC<D-. 8)F>-GHIJ,C<E**
, /$&' %/ &' </" ")1 &'()!%E-/ </-"!"!$ % <,!</;- <<I!JKLLMNOLLPLNC M5LK563MLKC Q3MROL SLOO T3NN3UM V78UNN3WOL !"% &'()C(XC(Y(I , &' / !$!! </
µ
!" #
$ %
$ %
$ %
$ %
+
&'78&'9:4 )*78/01
'$STAMP BS2sx'$PBASIC 2.5'***************************************************' Program : Melody Box' Filename : ACT2001.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'***************************************************SPK CON 12 ' Define SPK as P12DURATION VAR Word ' Define DURATION1 as Word variableFREQ VAR Word ' Define FREQ1 aS word variableSTEPSIZE VAR Word ' Define STEPSIZE as Word variableI VAR Byte ' Define I As byte variableTEMP VAR Nib ' Define TEMP as nibble variableNOTE VAR Byte ' Define NOTE as byte variable
' Note frequency tableC2 CON 837 ' Note C2 FrequencyDL2 CON 887 ' Note Db2 FrequencyD2 CON 940 ' Note D2 FrequencyEL2 CON 996 ' Note Eb2 FrequencyE2 CON 1055 ' Note E2 FrequencyF2 CON 1117 ' Note F2 FrequencyGL2 CON 1184 ' Note Gb2 FrequencyG2 CON 1254 ' Note G2 FrequencyAL2 CON 1329 ' Note Ab2 FrequencyA2 CON 1408 ' Note A2 FrequencyBL2 CON 1492 ' Note Bb2 FrequencyB_2 CON 1580 ' Note B2 Frequency
C3 CON 1674 ' Note C3 FrequencyDL3 CON 1774 ' Note Db3 FrequencyD3 CON 1879 ' Note D3 FrequencyEL3 CON 1991 ' Note Eb3 FrequencyE3 CON 2110 ' Note E3 FrequencyF3 CON 2235 ' Note F3 FrequencyGL3 CON 2368 ' Note Gb3 FrequencyG3 CON 2509 ' Note G3 FrequencyAL3 CON 2658 ' Note Ab3 FrequencyA3 CON 2816 ' Note A3 FrequencyBL3 CON 2983 ' Note Bb3 FrequencyB_3 CON 3161 ' Note B3 Frequency
P CON 0 ' PauseS CON $FFFF ' Stop
DIRA=%1111 ' Set P0-P3 as outputs
MAIN: TEMP=NCD(~INC&$000F) ' Get inputIF TEMP=0 THEN MAIN ' Wait for switch pressed by TEMPOUTA=DCD(TEMP-1) ' Get switch inputI=0BRANCH TEMP-1,[SONG1,SONG2,SONG3,SONG4] ' Branch to song 1-4GOTO MAIN ' Back to main if inputs not valid
,
&'78&'9:4 )*78/1
SONG1:LOOKUP I,[G2,BL2,C3,D3,EL3,D3,C3,A2,F2,G2,A2,BL2,G2,G2, F2,G2,A2,F2,D2,G2,BL2,C3,D3,E3,D3,C3,A2,F2,G2,A2,BL2,A2, G2,GL2,E2,GL2,G2,S],FREQ ' Read notes table
LOOKUP I,[4,8,4,8,2,4,8,4,6,2,4,8,4,6,2,4,8,4,8,4,8,4, 8,2,4,8,4,6,2,4,8,2,4,6,2,4,8,0],DURATION ' Read beats table
IF FREQ=$FFFF THEN EXIT1 ' End of song? FREQOUT SPK,250*DURATION,FREQ ' Make sound from table with beat
I=I+1 ' Increase index to next noteGOTO SONG1 ' Back to play next note
SONG2:LOOKUP I,[D2,EL2,E2,C3,E2,C3,E2,C3,C3,D3,EL3,E3,C3,D3,E3, GL2,EL3,C3,P,D2,EL2,E2,C3,E2,C3,E2,C3,A2,G2,GL2,A2,C3,E3, D3,C3,A2,D3,S],FREQ ' Read notes table
LOOKUP I,[2,2,2,4,2,4,2,8,2,2,2,2,2,2,4,2,4,8,4,2,2,2,4, 2,4,2,8,2,2,2,2,2,4,2,2,2,8,0],DURATION ' Read beats table
IF FREQ=$FFFF THEN EXIT1 ' End of song?FREQOUT SPK,250*DURATION,FREQ ' Make sound from table with beatI=I+1 ' Increase index to next noteGOTO SONG2 ' Back to play next note
SONG3:LOOKUP I,[E2,E2,E2,E2,E2,E2,E2,G2,C2,D2,E2,P,F2,F2,F2,F2, E2,E2,E2,D2,D2,E2,D2,G2,S],FREQ ' Read notes table
LOOKUP I,[4,4,6,4,4,6,4,4,6,2,8,2,4,4,6,4,4,6,4,4,6,4,6,4,0],DURATION' Read beats table
IF FREQ=$FFFF THEN EXIT1 ' End of song?FREQOUT SPK,180*DURATION,FREQ ' Make sound from table with beatI=I+1 ' Increase index to next notePAUSE 5GOTO SONG3 ' Back to play next note
SONG4:LOOKUP I,[G2,P,G2,P,BL2,P,C3,P,G2,P,G2,P,F2,P,GL2,P,G2,P,G2,P,BL2,P,C3,P,G2,P,G2,P,F2,P,GL2,P,G2,S],FREQ ' Read notes table
LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,1,1,1, 1,2,1,2,1,1,1,1,1,0],DURATION ' Read beats table
IF FREQ=$FFFF THEN EXIT1 ' End of song?FREQOUT SPK,390*DURATION,FREQ ' Make sound from table with beatI=I+1 ' Increase index to next noteGOTO SONG4 ' Back to play next note
EXIT1:OUTA=%0000 ' Off LEDsGOTO MAIN ' Jump to main
Q $6%D6 BB'C(4+#(>A D%'(>$ N6C6 +4=A'5 5C6(6%D6 B5 H5++aA D6D%$=IC$6)';<C%D6 E!:(6C6 6 T5$+=
#
*"& "$! 8 48^mhHGe! ! !7)3 4!!$*&X F>-GHIJ" !
*&!!$3 !!*QQop[4"8/ $' !$$ '$$!0#1q"3 "!& ,<L$!0#?5 !!*38$ )3"'!%&8$4(1'^e"N "%&$3 !!*
"3 !!$$!3'&A3 !"M' ,r!' (4"%&*38 8 #"*&" 7 3 #: 5 )
"#$5(&..1
"N 8 ?&4!!$*&38"8/ 0?!34!"$ "& !!$''($*38) 8!%&!qO+38$ !34!" 8"3 4!!$*& ,C ""# !!$''($38$ /4)"N "'!%&!""*' '"sq8!%M"@"@ K
""*' '"sq8!%M"@"@ 5$!0!#?5 ))$ 4'&PRtQpB"4!' !*&"&#)$ 4"N ' '$0&8!%' # "3 !"" '& 7 PQR<<<S.B /4*38)"99:*&
,<34!3 !7*&=,>3 !*"# !!$*&=,C> *?3 %&)@=AB,CC<D-. 8) F>-GHIJ
,<,**, /$&' %/ &' </" ")1 &'
() !%E- / </-"!"$ %%-"!"C !"/C !">!!"%Z!!>' #"&' ()C (X (I,-"!"!$-- @-!%E!">!,-&'(Y <!"
µ
!"#
$ %
$ %
$ %
$ %
7 =6-6;' !"#$%
0
&'7&'=6--6;')*7
'$STAMP BS2sx'$PBASIC 2.5'********************************************************' Program : Sound effect box' Filename : ACT2101.BSX' Processor : BASIC Stamp 2Sx/i-Stamp'********************************************************SPK CON 12 ' Define SPK as P12DURATION VAR Word ' Define DURATION1 as word variableSTEPSIZE VAR Word ' Define STEPSIZE as word variableFREQ VAR Word ' Define FREQ1 as word variableSWITCH VAR IN8 ' Define SWITCH as P8 input
MAIN: BRANCH NCD(~INC&$000F),[MAIN,BIRD,UFO,SIREN,LASER] ' Get switchGOTO MAIN ' Back to main if inputs not valid
BIRD: DURATION=50 ' Set duration 20msSTEPSIZE=25 ' Set step size=25 => 62.5HzFOR FREQ=2200 TO 2000 STEP STEPSIZE
' Make sound from 5.5kHz downto 5kHz step 62.5HzFREQOUT SPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopPAUSE 100GOTO MAIN ' Jump to main
UFO: DURATION=10 ' Set duration 4msSTEPSIZE=30 ' Set step size=30 => 75HzFOR FREQ=1200 TO 2550 STEP STEPSIZE
' Make sound from 3kHz to 6.375kHz step 75HzFREQOUT SPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopFOR FREQ=2550 TO 1200 STEP STEPSIZE
' Make sound from 6.375kHz downto 3kHz step 75HzFREQOUT SPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopGOTO MAIN ' Jump to main
SIREN: DURATION=50 ' Set duration 20msSTEPSIZE=10 ' Set step size=10 => 25HzFOR FREQ=1200 TO 2550 STEP STEPSIZE
' Make sound from 3kHz to 6.375kHz step 25HzFREQOUTSPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopFOR FREQ=2550 TO 1200 STEP STEPSIZE
' Make sound from 6.375kHz downto 3kHz step 25HzFREQOUT SPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopGOTO MAIN ' Jump to main
LASER: DURATION=5 ' Set duration 2msSTEPSIZE=20 ' Set step size=20 => 50HzFOR FREQ=2000 TO 3000 STEP STEPSIZE ' Make sound from 5kHz to 7.5kHz
step 50HzFREQOUT SPK,DURATION,FREQ ' Send frequency
NEXT ' Do loopGOTO MAIN ' Jump to main
1
"$%&"!&$ 4!4!*5 K0307/4)&38" " !!$!4*5K4!uSA $4"]K $3!) 2#!!$'&DR=SAv
*"& ""@"@"N "%& 2
4" 0$!!$ ,#?5 )!!$4" 99:"#*&$7 " 0 --,M?& 7 #![X[Z!$ !!$/4* "%&" "#-,*&#![Z" " "N $4!* #'&SAM?&4!:"]' *&7*&("* 5
"N '& '97(##$7# d"$%&!*'& 5"$+,-.4!4#$7"#*& *'& 5 $3"N fg8!%)$ @-*&"N fg3"N *&$ '97(4 5 ' "&$8 ?& #$7CC*&"N fg$,'%E, *&$ '97('%E4)' E$"N K 5 84!*'& 54)Y$"N K$!0' )!4 #$7 5*&"N fg3$ '97()! Y*&) 58 ?&/4*!*&"N fg*&$ '97(3 !:*&"N C*58$84!*'&SA4)' $"N C!!$ !* $ 5W1 = %1101 w '97(*&"M"N fg'%EDEBUG ? NCD W1 w' SA#x! #'& 5'% 38!!4# ##$7$!0*)"!/*&(4 8 5!3'&SA!4#$7x*38*!) #$73 x$# K
!"#$"%&'
&()*$ "!+*,-*#("!,./
012-'(3,+4 4 #% !("#!#5..12%% !!%&'4 #
, *(!#!) 6#&'3,+3$4!3,+*#(7(,&'4 #, # (&'"3,+-8!#3,+&"9,%:;<=>?@?AB<C<@DE<FGH
"9,3,+-8!-%4 ()%*(,*3&I JK3$-4!
-8!%%"#+$#L.MN )#%"9,-# ( $4%"9,%4"9,"3,+
O PQR..L I"9,"S-*&T%
-8!%%"!)&U0.M(&)&-# (3#%0..12*
% %#"V%"!3,+3&&3$-4!#4 3,+I "!3%3,*%*
(#-8!PQR..L-)3,+T/5
!""#$ %&'())*
, I&'#4 J"WWV4N+3,+-8!-%#*,%X %Y')3,+
T/+ , ,("WWV"4 6#*(#4 JN 3$-4!4!%6% 4(3,+
K**%))% #*N #4!%6%3,+#*J*(
*%K*N 3, 3%+"*(,4!%6%3&3,+,,+
!% 4!" !#$%&'"&#( () 4!* !#$%&&'*+,-',4!%6%#*+, 3$4!%6%8&, *(*% IK* 4!%6%8&, *N-8!J#+!-4!, %*+
3$ #4!%6%K*+, 3$ 4!%6%8&, *(#% IK*
%% *N-8!4!%6%8&, J#+!-4!, #*+3$ %% 4!%6%, *N
I834Z[;:ZB\]^E[B^E@>_^E;`<BaH
-%, 3,+I%#-3, *(-8!"9,%
PQR..L 9N+3$"!#,# !%&
PQR..L#&#!% , %-)3,+T/L+!%-4!, 3$
$!% %,
5b$4-4!I&,!) c5d"3,+,*
ZFe
b*% #!) *c5d"%&!$%+fP;4gFhgJ"! +
"9,PQR..L3$J*( % *Ic.d3$-4!("4 6# , 3,+#)#
%& , 3,+#I4 )#J*(3$
( "+,-$#.$!"/0"#.
*. #.$#"1"/2 (3450 !""#$ %&'())*
!" #$% &'#()*$+,- ./00 1+* #$'2
//3*)4//5 #
!"#$%&'()*
!
!" #
$
%&'()%
6(( "1$#77 .#.$"8!93:;<=
+
//3/$&4//5 21+6#478//039:;&'#&+$ <5:=>?@
'$STAMP BS2sx'$PBASIC 2.5'********************************************************' Program : Switch controlled relay' Filename : ACT2201.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'********************************************************RELAY CON 13 ' Define RELAY as P13SWITCH CON 8 ' Define SWITCH as P8 inputSW_VAR VAR Byte ' Define SW_VAR as byte variable
LOW RELAY ' Set relay as output=0MAIN: BUTTON SWITCH,0,255,0,SW_VAR,1,TOGGLE_RELAY ' Wait for switch is pressed
GOTO MAIN ' Jump to main
TOGGLE_RELAY:TOGGLE RELAY ' Toggle relay statusPAUSE 200 ' DelayGOTO MAIN ' Jump to main
/6(( /"1$#77 .#.$>>?/8.93:;<=
//3#:,2A BC#*#A$ #$#('#+6A '* D #$
!"#$"%&'()*&"!&(+( ,!*-" ,(..& &"/,0" &
//3E:,FG F #$#('#+6A '* D #$
.(1 203 (1!!2
H**'A#I+/ #(1I'*'A#+
JH+*&$*+&A8KLL !MN! 4O FTOGGLE_RELAY: IF OUT13=1 THEN DELAY_OFF ‘ Check current state
DELAY_ON: PAUSE 2000 ‘ Delay 2 second (ON delay)
GOTO TOGGLE_NEXT
DELAY_OFF: PAUSE 5000 ‘ Delay 5 sec. (OFF delay)
TOGGLE_NEXT: TOGGLE RELAY ‘ Toggle relay status
GOTO MAIN ‘ Jump to main
F(P /:; +*A Q() '2 G1R ST=U@@UV?W=WVX &$(*$ R 6*$+, &'#- ./00 &$* / ' 'Y'R&$H*'Z [[Q$ 65/55E#*R('R\I'1'+
/3*)4/5 #/3/AR*GR:8!BB!N]K8KN4;5/:;/3$&4/5 F&'#+$ <5:=>?@/3E:A$)A BCG*+* !"#(R
/,!2*0!456 73, % 89:4/,(0;*-<!2400 =/8"
!,"#$%&'(-.*..* /0
!
"
#
$%
6(* "#@#$/#$#A">>?/ .93:;<=
/11
'$STAMP BS2sx
'$PBASIC 2.5
'-*******************************************************
' Program : 1 Phase stepper motor control
' Filename : ACT2301.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'********************************************************
DELAY CON 100 ' Define DELAY as 100
SW_LEFT VAR IN9 ' Define SW_LEFT as P9 input
SW_RIGHT VAR IN8 ' Define SW_RIGHT as P8 input
DIRA=%1111 ' Set P0-P3 as outputs
OUTA=%0001 ' Set initial value to P0*P3
MAIN: IF SW_LEFT=0 THEN CCW ' Counterclockwise when SW_LEFT pressed
IF SW_RIGHT=0 THEN CW ' Clockwise when SW_RIGHT pressed
GOTO MAIN ' Jump to main
CW: PAUSE DELAY ' Delay
IF OUTA=%1000 THEN RELOAD_CW ' Check last stage reload when P7 had shown.
OUTA=OUTA<<1 ' Shift LEDs to left
GOTO MAIN ' Jump to main
RELOAD_CW:
OUTA=%0001 ' Set initial value to P0*P3
GOTO MAIN ' Jump to main
CCW: PAUSE DELAY ' Delay
IF OUTA=%0001 THEN RELOAD_CCW ' Check last stage reload when P7 had shown.
OUTA=OUTA>>1 ' Shift LEDs to right
GOTO MAIN ' Jump to main
RELOAD_CCW:
OUTA=%1000 ' Set initial value to P0*P3
GOTO MAIN ' Jump to main
!" "#$%&'($")*+,-./01234 5($67($8$#$95667#:$$+;# <=>")*+%&?012@4 5($61%&'47($8$#$95665"5:$$+;)# <=($56A$
/6(* /"#@#$/#$!5#A">>?/8.93:;<=
/1/
/3J:/A$)A B^G*+* !"#(R /,!2*0>&!456 73, % 89:4/,
(0;*- < !2400 =/ : ">?/,&()+7& @:A<
H GR'&$5#GA "! 4O D#+*#$GA #(#'GA#*$'+* A(#$#+A '* G*'$$)A'A S_UVW =WV`aUX
B(*8C"++-#DE"#@#$/#$A"#@!5#A"
B(* >""#@#$/#$.1 D$
%'2'% '('1$A%R #AG1 1A$ [[Q'*A$AH)*('+% '(A(',*$'12F$)A FA$+6'*A#b$ G#($'R(2F$)A &G*R#( &$ HA$'*'RG#($2F+*
&G*R$)&#A )9/5RF( #/A#( FA'#R A#(A%/6 F # FFE6G16c/c#(EA$#A#(1A$+6#F$'*RF2 FJ#(d$&$$JG1$A$+6#F$AQd$(*$+6#F$# F/AA #*A$+62('*R+*
% )A$ &$Z [[Q(*#G F#(6A#'2+#A$ +A*6A*$6/c#(E#*
/1
# 6'A'1('*6+$ 6Ec#(/#*# 6G F*$# Z [[Q(*A '*Y'R 9/5# Z [[Q1 R'26
1P /:;1%GHA$((Q05/0?4 F2+AH+ R$)&#A+*&$(*A [[Q* RDA+,'1 (),2F(+,- ./00 $A)9/5/
$&GG*'$AA* R# eQ( F2A*)#+$ A - ./00G FA*)#+A#(R*'A##R*$AA*)#'RA+ FF1'*+, #(RH *)#+* A( *)#'AA+
#* R'G'2(A +2F$)A &G*#() 'G#($f3JYARH**'*'G*A #EC#)G+*G#1%#'2d0YG#($R'd0+*GAA ECQ g#6R #*R(%/AH*'*f3JYAR*A # FF^d#)' '*'G
GR'(2F$)A A*)#+$ #( H*'A*)#+*RAR('R2FA F $A+R RR* [[Q #A(*A 'A [[QR+R('$' FF1 R+AH #(*A+*
B(*( "#@#$/#$#"1"/2(34 .%&'())*
/1,
R6(# eQ(G#*$ '26$ FA6)#R Shaii T=U@XA(A [[Q(*$6$ F(Z [[Q(*+$ 6$)A#* #$ #($# +A$ '26 4/E5G1**$Z [[Q(*+$ 6 #(/* RR/(Z [[Q+$ 6/#(H 6(Z [[Q(*+6#(ERE(Z [[Q+$ 6E#(#*# +6 #(/G F *$ F'*+*'1G S=W`aUXA'26A*$G1 *# 2F
!2"#$%&'(-.*..* 0
6(F8C"++-#DE"#@#$/#$A#@"#A"
/E3$ *)4/5 #/E3/AR*GR:8!BB!N]K8KN4;5/:;/E3$&4/E5 F&'#+$ <5:=>?@/E3E:A$)A BCG*+* !"#(R
/,!2*0!456 73, % 89:4/,(0;*- < !2400 =/ 8 " "// @:..47!2 /, " )%?1/E3J:/A$)A B^G*+* !"#(R
/,!2*0>&!456 73, % 89:4/,(0;*- < !2400 =/ : ">?/,&()+7&@<A< "//@:..47!2 /, " )%?1
/12
/ 6(F /"#@#$/#$"#A">>?/8.93:;<=
'$STAMP BS2sx
'$PBASIC 2.5
'********************************************************
' Program : 2 Phases stepper motor controller
' Filename : ACT2401.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'********************************************************
DELAY CON 100 ' Define DELAY as 100
SW_LEFT VAR IN9 ' Define SW_LEFT as P9 input
SW_RIGHT VAR IN8 ' Define SW_RIGHT as P8 input
STAGE VAR Byte ' Define STAGE as byte variable
DIRA=%1111 ' Set P0-P3 as outputs
STAGE=0 ' Set initial STAGE as 0
GOSUB DRIVE ' Drive stepper motor
MAIN: IF SW_LEFT=0 THEN CCW ' Counterclockwise when SW_LEFT pressed
IF SW_RIGHT=0 THEN CW ' Clockwise when SW_RIGHT pressed
GOTO MAIN ' Jump to main
CW: STAGE=(STAGE+1)//4 ' Increase stage within 0*3
GOSUB DRIVE ' Drive stepper motor
GOTO MAIN ' Jump to main
CCW: STAGE=(STAGE-1)//4 ' Increase stage within 0*3
GOSUB DRIVE ' Drive stepper motor
GOTO MAIN ' Jump to main
DRIVE: LOOKUP STAGE,[%0011,%0110,%1100,%1001],OUTA ' Get data
PAUSE DELAY ' Delay
RETURN ' Return
6:B ($!" "#$%&'5C 5D6B#6 $+$$+66 E 7D)F::* :*5($6 :*)G0H.&:"5"6:$D9:#$6#IJ $$:#6 $+$$+66$E
/1
RF%+* G$1HA$'*RH'+*$A#($2F%AG#($R&$) '*'4/J5('R+*A RF%DD('A '2#(6 #AG1 FZ [[Q(*+$ #$6$#(* 6A#'2*$ FAD#'*+*'2F (($(' F#GH)*'A'2F$AA *A#(R('*D#$G2R F'*'*G#1%+RR(*''*'+/RA1
! " #$%&'( -.*..* 3*0-
6(G8C"++-#DE"#@#$/#$H$A"#@
/J3*)4/J5 #/J3/AR*GR:8!BB!N]K8KN4;5/:;/J3$&4/E5 F&'#+$ <5:=>?@/J3E# F E #* R #(D# !" FE A B05B
7/10()400 0; ))B -40>?7!&.!?.(1 !2/,)*0%.?"(17!&.,*&" ))() ))4-@"=!('/,.&()()400 ))@-%% !()
/1
/ 6(G /"#@#$/#$H$A"#@>>?/8.93:;<=I/J
!
"
!
#
!
$
!
$
6(G "#@#$/#$H$A"#@>>?/.93:;<=
'$STAMP BS2sx
'$PBASIC 2.5
'*******************************************************
' Program : Stepper motor controller in half step mode
' : with continuous function
' Filename : ACT2501.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'********************************************************
DELAY CON 100 ' Define DELAY as 100
SW_L_CONT VAR IN11 ' Define SW_L_CONT as P11 input
SW_R_CONT VAR IN10 ' Define SW_R_CONT as P10 input
SW_LEFT VAR IN9 ' Define SW_LEFT as P9 input
SW_RIGHT VAR IN8 ' Define SW_RIGHT as P8 input
STAGE VAR Byte ' Define STAGE as byte variable
L_CONT VAR Bit ' Define L_CONT as flag
R_CONT VAR Bit ' Define R_CONT as flag
/1
DIRA=%1111 ' Set P0-P3 as outputs
STAGE=0 ' Set initial STAGE as 0
L_CONT=0 ' Clear left continue flag
R_CONT=0 ' Clear right continue flag
GOSUB DRIVE ' Drive stepper motor
MAIN: IF (SW_LEFT)AND(SW_RIGHT) THEN MAIN_1 ' Check any switch are pressed?
L_CONT=0:R_CONT=0 ' Clear both flags if not
MAIN_1: IF SW_LEFT=0 THEN CCW ' Counterclockwise when SW_LEFT pressed
IF SW_RIGHT=0 THEN CW ' Clockwise when SW_RIGHT pressed
IF SW_L_CONT=1 THEN MAIN_2 ' Check left continue switch
L_CONT=1:R_CONT=0 ' Set left continue flag, clear right continue
MAIN_2: IF SW_R_CONT=1 THEN MAIN_3 ' Check right continue switch
L_CONT=0:R_CONT=1 ' Set right continue flag, clear left continue
MAIN_3: IF L_CONT=1 THEN CCW ' Drive left continue if L_CONT=1
IF R_CONT=1 THEN CW ' Drive right continue if R_CONT=1
GOTO MAIN ' Jump to main
CW: STAGE=(STAGE+1)//8 ' Increase stage within 0-8
GOSUB DRIVE ' Drive stepper motor
GOTO MAIN ' Jump to main
CCW: STAGE=(STAGE-1)//8 ' Increase stage within 0-8
GOSUB DRIVE ' Drive stepper motor
GOTO MAIN ' Jump to main
DRIVE: LOOKUP STAGE,[%0001,%0011,%0010,%0110,
%0100,%1100,%1000,%1001],OUTA ' Get data
PAUSE DELAY ' Delay
RETURN ' Return
/ 6(G /"#@#$/#$H$A"#@>>?/8.93:;<=I J
!2"&& =C& !2">& D < "()% E!D :"()% 8E400 /,!2"*0'/"/,(!2"()& C&&!2 7!& !2>& D@E ! D:E ))0% ))"*&
!"# $%&'() "* + ,%- ./012131%%-$4% $%&'()56$"* *./01 +676"5 -,$ $%&'()"#"5%- 58%-,./01
09:"#5"; '0/: "09 + '0/:%8"#!,<='>?0.:9@=+*,%A/BCDE093#=: %4=&F%$
! "#$%& '( $) ' *+',$+-- , .-$,/+ !
!"#$
!"#$%#"&'()$*+ (,- ./0-##$!--$1 !,% -2$(0 %%#$,%"-%-3,%0%0"%#"1 !!0%%#$*%"4'!1)1 !56789:!0 ((-##$(-#"$$#$)!(1--#$!'!:+3 .0*$;0-#"
+/!!"#%%#$$2$#$+01#1/')!-(%*";- < +-#+#$"--"= $;/ >?@ABCDCEF=1)!+#$GH#$ #0&,I->J@BKLE@MF
'$STAMP BS2sx'$PBASIC 2.5'*******************************************************' Program : Easy timer' Filename : ACT2601.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*******************************************************LED CON 0 ' Define LED as P0SWITCH CON 8 ' Define SWITCH as P8 inputTIME CON 5000 ' Define time interval in millisecondSW_VAR VAR Byte ' Define SW_VAR as byte variable
MAIN : LOW LED ' Off lightSTART: BUTTON SWITCH,0,255,0,SW_VAR,1,TIMER ' Wait for switch is pressed
GOTO MAIN ' Jump to main
TIMER: HIGH LED ' Toggle light statusPAUSE TIME ' DelayGOTO MAIN ' Jump to main
!"#$
!"# "$%&'''%! "$(#"&(%(#)*#+(,-(#%*./
%&%& &'() !"#$
"+"#: 5$ $%&'()+ $* %?GH)"+I ,;01131J8%019131
"5 - 5*"* ";;KL+"#M)N0%* ;KL":J8% :
O9:"#5"; 'O/:"
O9 + 'O/:%8"#!,<='>?O.:9@=+*,%A/BCDE
O93#=: %4=&F%$ 0! ( 12345 -3%* *65 - -
#'$-*+78 6 9:;' +6 , <=>?@<ABCDEF%'G*", $;/+*+'+#'$-*+78 6 9:$ /+( .%''6 ( '$-78 6 9:6 , $*( <=>?@<ABCDEF)/+$( -*+
%&'($)*
µ
* +, -&)(./& !"#$
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Pendulum clock display' Filename : ACT2701.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************TIME VAR ByteCOUNTN VAR NibDELAY CON 95BT VAR Byte
DIRL=%11111111DIRH=%11111111TIME=0START: BUTTON 8,0,255,250,bt,0,STARTPENDULUM: OUT0=1
FOR COUNTN =0 TO 4PAUSE DELAYOUTL=OUTL<<1
NEXTFOR COUNTN =4 TO 0
PAUSE DELAYOUTL=OUTL>>1
NEXTTIME=TIME+1'FREQOUT 12,1000,1200DEBUG CLS,"Time of pendulum",CR,DEC TIMEGOTO PENDULUM
%&*%&+, -&)(./& &'() !"#$
*0&'(1%&+, -&)(./&%2(3()4567895:#;"<
I"* !! "*$ !*P %FREQOUT 12,1000,12006 N)M'QJ8"#R1!5!4 $%ST)UV(?,$"*"#$48-58 *4!%W : X,
+
"5 -56I8 + 4! 8- !5"5 - ;F. 4Y%X XM)NF% !M)N: :.
F9:"#5"; 'F/:"
F9 + 'F/:%8"#!,<='>?F.:9@=+*,%A/BCDE
,-$
µ
!"
!"#
$%
&
& #&'
= > ?=? -( !"#$
.
'$STAMP BS2sx'$PBASIC 2.5'*******************************************************' Program : Timer 80 seconds' Filename : ACT2801.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*******************************************************RELAY CON 13 ' Define RELAY as P13SW_START VAR IN8 ' Define SW_START as P8 inputSW_RESET VAR IN9 ' Define SW_RESET as P9 input
MASK VAR Byte ' Define MASK as byte variableTIMER VAR Byte ' Define TIMER as byte variableSTART VAR Bit ' Define START as flagTIMER_SET CON 80 ' Set timer 80s
DIRL=$FF ' Set P0-P7 as outputs
RESTART: OUTL=$00 ' Clear all LEDsLOW RELAY ' Set relay as output=0START=0 ' Clear start flagTIMER=TIMER_SET ' Set timer = 80sMASK=$FF ' Set LED mask all onOUTL=MASK
MAIN: IF SW_RESET=0 THEN RESTART ' Check SW_RESET pressed? restart if yesIF START=1 THEN CHK_NEXT ' Check start flag is set? skip if yesIF SW_START=0 THEN TIMER_ON ' Check SW_START pressed?
' jump to set flag if yesGOTO MAIN ' Loop to main
CHK_NEXT: PAUSE 1000 ' Timer 1s.TIMER=TIMER-1 ' Decrease timerMASK=~DCD(TIMER/(TIMER_SET/8)+1)&MASK
' Calculate time remain to show bargraph LEDsOUTL=MASK ' Copy mask to LED outputsIF NOT TIMER=0 THEN MAIN ' Check timer=0? back to main if notOUTL=$00 ' Clear all LEDsHIGH RELAY ' On relay
LOOP1: IF (SW_START)AND(SW_RESET) THEN LOOP1' Wait any key to exit
PAUSE 10 ' DebounceGOTO RESTART ' Restart
TIMER_ON: START=1 ' Set start flagFREQOUT12,1000,1000 ' Start voiceGOTO MAIN ' Jump to main
%&=%&> =? -( &'() !"#$
/
F93#=?'T?J8Z !#=:J8%4=&F%$5
$6/+$'6 ' '$--36 6'','.%''6)$'6 #$H+-;' +6#H# $%& $$/++-7 6+' I' -JK ''#J #6'$-" 3 6'(L
H M@IN+#*;+'OK'#$J '$-)-8 #3%'+'#'$'6
H @PM@+','#$ J '$--8 $'6 #$J (6+',
( '.%''6 $$ 3% , H +'-$3 .-M@
I, , TIMER_SET CON 80 [ !,,%-:/11I4 -56,%?GH)T"* [\VTNZ56, %-:/01131
"+56 "#%?'T? 4!]%$#= ?'T?J-$J+ -56I; = !**! $
"I56"#%H'^4!$%_46IM)N *!,+% 56*F4!"*M)NF,4
I4%- "*[*% "*,%
CHK_NEXT: PAUSE 1000
[
CHK_NEXT: PAUSE 60000 ‘ Delay 1 minute
56 "$5: [: *!I[.9: "*$*[PAUSE 100Z,#%
;5"5 F$48-"+ -56 I8:1 +565%! #=! 56$L7==4 56LJ8%5 F
*X #=,<Z ! "76 $%565 "# ;*854!5% *!Z5%-Z*%,! $* $*,,<"**!7= !"#,<<] ;%6 -Z56I;%,< -*$+%+%$"*,5 4!LJ85$"*6*%"* J8$*% 5999,*% " !%-
R9:"#5"; 'R/:"
R9 + 'R/:%8"#!,<='>?R.:9@=+*,%A/BCDE
0123$$$4567 89:6;<
@ 2 -AB+,&(((CDEF(&
%
'$STAMP BS2sx
'$PBASIC 2.5
'*****************************************************
' Program : Bed timer
' Filename : ACT2901.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*****************************************************
RELAY CON 13 ' Define RELAY as P13
SW_START VAR IN8 ' Define SW_START as P8 input
SW_RESET VAR IN9 ' Define SW_RESET as P9 input
TIMER VAR Word ' Define TIMER as word variable
TIMER_SET CON 15*60 ' Set timer 15 minutes
I VAR Byte ' Define I as byte variable
RESTART: LOW RELAY ' Set relay as output=0
LOOP1: IF SW_START=1 THEN LOOP1 ' Wait SW_START pressed
HIGH RELAY ' On relay
TIMER=TIMER_SET ' Load timer value
MAIN: FOR I=1 TO 10 ' Set loop 10 times
IF SW_RESET=0 THEN RESTART ' Restart if SW_RESET pressed
PAUSE 100 ' Delay 100ms
NEXT ' Do loop
TIMER=TIMER-1 ' Decrease timer
IF TIMER=0 THEN RESTART ' Back to restart when time is up
GOTO MAIN ' Jump to main
%&@%&2 -AB+,&((( &'() !"#$
R93#=?'T?J8Z !#=:J8%4=&F%$5
$6/+$'6 '$--36 I+34#H 6'++-7K 6'@PM@'$-" I34K ''# ! '$-"-8 I34#K #3%$'6 '+(6.-*2 +-7 , 6'H%:34+ 3 .- M@I/+N++-7#*;+'OK.%''6)%:'$-$'6 '+'(6
I4*I4 ";SVT, #
[:. 56,;FOR I=1 TO100[
,$01(% 21'31''(((%4)* "$++(,-567+(,-%*.89:#$; <$$ $:%*:$ "$ $%*5=6
!"#$%&'$#()# *$+,-(.(/-. 0$-1(#!##(1223-$+12231("#"(4!%&5678#!("# *$+-(#( -9-(9"#%&56784*$#1(
+:; -*; 9 #(!<=% '<>?@A=BCBDEBDA%BF>FAGH,9(1223#$ -9- ((($--(1!(9(1223$ IJ4 $"+:;4"($$#1(
- !"<=%## *$+*$ K$%&$".( (1"(91($".(.0( I!# (.(/""#%&5678-#<=%/-.("J(41(+##9.0( (0;#4" !-1
"# %&5678$$+-9$+# *$+ 9$.0($%& (I; #.JL)M (93#NOP$I; 19## *$+.0 -$## *$+ *#1(1($ * ## *$+ # NOP $#4".(I;9J#$% KI+".(IQ;J # *$+$9$+/#( !# *$+9$+".(## *$+ -9-
!""# %&5678 $-$I;.0(""#4 K RMS-( (# -# 9$+# *$+$(.0( -0Q"1(9# *$+ -#(9J ! 9$+## *$+$9T--$#MUVP
$ -$ RWS 4-( *$9+# - "(J-9$+#491($9 KWUX1##4( -($.91 $("1(1J:# WUX 1 *$1( -.0(.9$+ !"#$%"&'()*+,- ./0/1.234!5/
$#-".(9+;"#%&5678.0(.#(1#!(" --# *$+(1(-.0(/-#1($"# %&5678 ":*$#(1( -("%&Y<'J.JL)M,1(-(*$%ZQ11(
9#1%Z #$ K#(I [\$"#$$# <=%!#( 9 !1( <=% $J --- ! 9 ( (*$9--*I#("+-J+$"#9J!$ K ; ;!#(+:]J.0(9($ K 5&'^B?_A>`B5BaCBH_AbHB&G)Bcc>d>BDA,9 K#(+:]J//# (+:]JJ ($"-(+:]J" ($J
! "
! " #$%&' '!()*$(+',-+.! !,+'/"0
'1+$
!"#$%&'('$"#)*
!"#$ %&'()*+,-.,/--0 123, -,41321 56$7893-,4-+:1-; +< -++=
>?@ABC,1D>?EA >?@F-+,1D>?EA.GB=13H 0D6$>??A@IJK0 3,'EJL)&M>?@>-=1, !"#$ %&'()*,N+G -=.3. .O5- -, 1, 1-+G. !"#$ %&'()*
!" #!$
! "# $#
P,.B=-;P3+119ODQ3
!"#$%$%#
µ
#$%"&'())(
'$STAMP BS2sx
'$PBASIC 2.5
'*********************************************************
' Program : Light Monitoring
' Filename : ACT3001.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*********************************************************
LDR CON 14 ' Define P14 as LDR
DELAY CON 990 ' Define DELAY as 990
RC_VALUE VAR Word ' Define RC_VALUE as word variable
MAIN: HIGH LDR ' Discharge C on P14
PAUSE 10 ' Delay for discharge
RCTIME LDR,1,RC_VALUE ' Measure RC time constant
DEBUG DEC ? RC_VALUE ' Debug value on debug terminal
PAUSE DELAY ' Delay 990ms+10ms
' discharge time = 1s. (approx.)
GOTO MAIN ' Jump to main
*'#$%*'"&'())(*&(+,- ./0123'&454)6-7)89:;<9=2.>1?
#$%@45&)+"+,-A8*&()&B&-CD45"C5('5)7-A8CE"C-'7 A8'77)
!"# $%& #%' &!(
C,..B
!
1 -,42+:0+-.,/ FJK1B -=1221 +:0PC2C:R .21;C:R
B2S++:0-=122156$789,-.TAU
!B-;..+- ?@V3
RCTIME 1, 1, Tcount
2+:0WA-,4+:R2..+-;.,R2S-1-,4TAU+.-;.3,$XY"(L
1B2156$789,R-;.,R1C.+:01B-G-B2156$789,R23=+C TAU3,+:01C.-;.,R-,4- A? <1B-;.,R?@AµZ,3,
DIR4 = 1 ‘ P4 as output
OUT4 = 1 ‘ Charge the capacitor which connect at P4 of BS2SX
PAUSE 100
RCTIME 4,1,T_COUNT
&
!""'(")#*+,
C 1>?-:1-O9V-+3,-:=1 -++C,..G1 2P23,B1=113-=1:-03 232,132156$789, -,4+C -:=1 -,4P.O9
>A@ABC,1D>AEA >A@F-+,1D>AEA.GB=13H 0D6$>A?A@IJK0 3,'EJL)&M>A@>-=1, -=.3. .O5- -, 1, 1-+G.O9V
%& ' &() *! !"#!$
µ
#$"CE&''&45&-(A8
-
! "# $#
P2+.-+ P-, 115D[\93
% "# $#
P-, 1 ..P.-,4R-, 121 LOOKUP ((((RC_VALUE)/256) MAX 8) -1),[$01,$03,$07,$0F,$1F,$3F,$7F,$FF],OUTL
-,4OUTL=DCD ((((RC_VALUE)/256) MAX 8) -1)
'$STAMP BS2sx
'$PBASIC 2.5
'*********************************************************
' Program : Light Monitoring display on bargraph LEDs
' Filename : ACT3101.BSX
' Processor : BASIC Stamp 2SX/i-Stamp
' Copyright (C) 2003 Innovative Experiment Co.,Ltd.
'*********************************************************
LDR CON 14 ' Define P14 as LDR
DELAY CON 500 ' Define DELAY as 500
RC_VALUE VAR Word ' Define RC_VALUE as word variable
RANGE CON 5000 ' Define RANGE as 5000
DIRL=$FF ' Set P0-P7 as outputs
MAIN: HIGH LDR ' Discharge C on P14
PAUSE 100 ' Delay for discharge
RCTIME LDR,1,RC_VALUE ' Measure RC time constant
LOOKUP ((((RC_VALUE)/1024)MAX 8)-1),
[$01,$03,$07,$0F,$1F,$3F,$7F,$FF],OUTL
GOTO MAIN ' Jump to main
*' #$ *'"&'*&(+,- ./0123) A8'&45&-(A8F&
!"#$%&' (!)*+!!,- " ./"0 &112'3 *+ ./ &4!50)(67 898 :;+ 9&4 ./*0;
.
#(#%/)%
1>? >A2.PG:]2+, 2156$789G2-C-,41B=1T-, R-BU 2=- =3.O53-=PGR-B.O52- ^<, R-= RR<-=
>F@ABC,1D>FEA
>F@F-+,1D>FEA.GB=13H 0D6$>F?A@IJK0 3,'EJL)&M
>F@> -=1-12B=.3. .O5-,4 =- 2B3H_3,.O52 -,4R-B
+ !,! -./.* (.
µ
µ
#$@"C(5G(C,- G&-(./0123
0
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Morning alarm' Filename : ACT3201.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************SPK CON 12 ' Define SPK as P12LDR CON 14 ' Define P14 as LDRRC_VALUE VAR Word ' Define RC_VALUE as word variableUPPER CON 1000 ' Define UPPER as 1000LOWER CON 300 ' Define LOWER as 300DONE VAR Bit ' Define DONE as bit variableMUTE VAR IN8 ' Define P8 as MUTE
MAIN: HIGH LDR ' Discharge C on P14PAUSE 100 ' Delay for dischargeRCTIME LDR,1,RC_VALUE ' Measure RC time constant'DEBUG 0,DEC ? RC_VALUE ' Debug light value'remove remark symbol when debuggingIF MUTE=1 THEN CHK_LOWER ' Set DONE bit if mute switch pressedDONE=1 ' Set DONE bitGOTO MAIN ' Jump to main
CHK_LOWER:IF RC_VALUE>LOWER THEN CHK_UPPER ' Check RC_VALUE to toggle relayIF DONE=1 THEN MAIN ' Jump to main if mute (DONE=1)FREQOUT SPK,250,1600 ' Beep.. Beep..PAUSE 20FREQOUT SPK,250,1600PAUSE 500GOTO MAIN ' Jump to main
CHK_UPPER:IF RC_VALUE<UPPER THEN MAIN ' Check switch if RC_VALUE<UPPERDONE=0 ' Clear DONE bitGOTO MAIN ' Jump to main
>F@`B0JA1C.WV- 2
! ,012 ("34#567'$( ()-./8.9 ! #:;8-&,( .<=>$ +; ,"!(*";) #8-.<=> ()$!"(.*()
*'#$@*'C(5G(C,- G&-(./0123) A8
"-5!" "9*:") &460 &1< 9 "9 5!" "9 0!/= 9 " :>?07 -3; *+@ A/ 41BCD 0!/= E0/8"+ ")8E 6 F0 0/ 0!/= 05059:> A/ 41B67 @-E(9(67 /0"?5059:9+(7 '33@E!G>9+ / 8/ (5!" "9 " "*+!/= >-!
1
/23#%
21+.T-, R-BU1>FTB0aU2;-=1T= U3.1O5 R2R-B-=11 O52.,G1= -0:R+-+.+.- 0 G2P2R,<03HHb-+1+- 0-:=1B-,4B03H- 3
>>@ABC,1D>>EA
!" #
$
%&'()
%
µ
#$$"H7,! ( G&-(./0123
>>@F-+,1D>>EA.GB=13H 0D6$>>?A@IJK0 3,'EJL)&M'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Twilight switch' Filename : ACT3301.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'*********************************************************RELAY CON 13 ' Define P13 as RELAYLDR CON 14 ' Define P14 as LDRRC_VALUE VAR Word ' Define RC_VALUE as word variableUPPER CON 3500 ' Define UPPER as 1000LOWER CON 2800 ' Define LOWER as 600
OUTPUT RELAY ' Set P13 as outputMAIN: HIGH LDR ' Discharge C on P14
PAUSE 100 ' Delay for dischargeRCTIME LDR,1,RC_VALUE ' Measure RC time constant'DEBUG DEC ? RC_VALUE ' Debug light value
'remove remark symbol when debuggingIF RC_VALUE>UPPER THEN ON_LAMP ' Check upper value for ON lampIF RC_VALUE>LOWER THEN MAIN ' Check lower value for OFF lamp
OFF_LAMP:LOW RELAY ' Off relayPAUSE 1000 ' DelayGOTO MAIN ' Jump to main
ON_LAMP: HIGH RELAY ' On relayPAUSE 1000 ' DelayGOTO MAIN ' Jump to main
*' #$$ *' G"H7,! (
5!" "9 &40 (9" *: 8(7 /8 ( : '33 "=8"-"/0? 6(0 &1<80= "-"-"/0? 0" 9= "(9 "!,!,"-"/0?9 "8/!"9)D:03%'H
>>@>-=1-12.O5-,4 - 2B=.3.O52 -,4 = - 2
+ !(.?!!( !(! ! . !8"(0& 8 ( '"!& 8 @0ABCD1B ! (%( ( =! (%(0 =!(
! "# $#
P2B+.-+-,cE,c P-, 1311 dWW95EOeff95gG1dWW95Oef95-
% "# $#
,BdWW95EOef952F2B-2-B-,cE,c=hijL % j'jI)(k -.l?? 2+.1-+3P-,.-.2B-.H3,
=%8&,4EE& (&F!
=%8&,2EEEF.<GEEF.< ! " #$%&
& 4 ")#
PGG112 +2156$78912.O5.RR,<0-0:RC gG1-,4-;,-,0-0 B+1.O5 .R-;,-,0-0R3,g=+2..GP23,,R0-,4C 11,c -=13=-,4- = -,c-=1=-,4-
>`@ABC,1D>`EA -;,-,0-0-+1-;-0J$9WW958e$e5
>`@F-+,1D>`EA.GB=13H 0-,4D6$>`?A@IJK0 3,'EJL)&M
!
"µ#
#$$"H7,! ( G&-(./0123
*' #$I *'" GC7JC!C7!&-('
'$STAMP BS2sx'$PBASIC 2.5'*********************************************************' Program : Stepper motor rotation controlled by light' Filename : ACT3401.BSX' Processor : BASIC Stamp 2SX/i-Stamp'*********************************************************SW_SET VAR IN8 ' Define SW_SET as P8 inputLDR CON 14 ' Define P14 as LDRRC_VALUE VAR Word ' Define RC_VALUE as word variableSET_VALUE VAR Word ' Define SET_VALUE as word variableSTAGE VAR Nib ' Define STAGE as nibble variableDEVIATION CON 200 ' Define DEVIATION as 200DELAY CON 50 ' Define DELAY as 50 ms
SET_VALUE=1000 ' Set default =1000DIRA=%1111 ' Set P0-P3 as outputsSTAGE=1 ' Set first stage on P0-P3GOSUB DRIVE ' Drive stepper motor
MAIN: HIGH LDR ' Discharge C on P14PAUSE 1 ' Delay for dischargeRCTIME LDR,1,RC_VALUE ' Measure RC time constant'DEBUG DEC ? RC_VALUE ' Debug light value
'remove remark symbol when debuggingIF SW_SET=1 THEN CHK_VALUE ' Set zero if SW_SET pressedSET_VALUE=RC_VALUE ' Set zero value
CHK_VALUE:IF (ABS(SET_VALUE-RC_VALUE))<DEVIATION THEN MAIN
' Jump to main if error not more then DEVIATIONIF SET_VALUE>RC_VALUE THEN CCW ' Check value to rotate CW or CCW
CW: STAGE=(STAGE+1)//8 ' Increase stage within 0-7GOSUB DRIVE ' Drive stepper motorGOTO MAIN ' Jump to main
CCW: STAGE=(STAGE-1)//8 ' Increase stage within 0-7GOSUB DRIVE ' Drive stepper motorGOTO MAIN ' Jump to main
DRIVE:LOOKUP STAGE,[%0001,%0011,%0010,%0110,%0100,%1100,%1000,%1001],OUTA' Get data
PAUSE DELAY ' DelayRETURN ' Return
5!" "9(9"6=9!!"?9"? I + 89=-9J, K 89=9-9J, /80=07 " / (*:") "-9506(90 /LH#$%&'M9 :4$%1B 9"?80= 60 H#$%&'N4$%1B9"? 89=-9J, / 69 H#$%&'O4$%1B9"? 89=9-9J, 8" "-!!"?9"?!G P/?A!6 " 8 /8950 F -)(9"650 " :>?-*"?3; LH#Q1M *+E !G / "89
>`@>-=1-122O53m33. -2+-;,-,0-0
+ /..0 0 *!"/H< + /..0 0 * "/H< +&(9 /..0 0 * *
! "# $#
,P2 2-.=1, J9$noDOd9 2-.1-.3119o7D$7e[
% "# $#
,BapHq0B1DIJ:<1-.1-.3, 32GPG.= . P13-.1-.3, 9o7D$7e[ -=1G:<G113-3,=-3, -:=11-;,-,0-0R1233,
"#$% &' B, - +..-=1-,4..3-=1=-.C<0 r)!jY*"L s 221+C 13-,4.-Ett-=12-,4.C<0-.tt 321DIJB-=1 .- + .2 -,4.- 221DIJ,3,W1 = -99 u2Ett.,fADEBUG SDEC ? W1 u+fA..-=1W1 = ABS W1 u221DIJ.+fADEBUG SDEC ? W1 u+fA..-=1 221DIJ
-=12, .+ !"# $ %&'()* +,.1=9Id\J96vfAEtt 221DIJ -,4tt
!"#$!!%!&'
() ! *+,()! -.!/01!23'))'&3. !-&23&44&3&5!-.!/01! 2367! -58! ,! 9! 6!%:!57! "!-(3-.!/01! 35&2)' -.!/01%:!57! "!); !"#$%&'"&()*+,-./%%0%()*#12314# 5, 67"& 8'9:;< 93(5<-.! /01! 233'!1=>?@!A=BCDEFG!3(55<235'
-.! /01! 93(2 &5(;-./01!!*+H.&&<39235-.!/01!!)' !"#$!)!DI#JFCK!923(!#LMNOA!'3.
!"#$%"&'#$()"&*&#+'#"# ! 3'('! PQQ! 3'359+35&((5( <H<
,!# !"#$%"-!./0)1!$"210.-3 -!" 4567!,H3.'<<3
!" #$%&'()*+,-./0 $"11234566 " $!#$%&'75"89
&5&'!&3.((&39()!SEROUT 15, 240, ($FF,$01)
H3'3.9593!KFR=!(!#LMNOA!-&('&'3&!S!)&T4)9'5&(59-.!/01!<'3.''3!2'!SEROUT15,240,5,(“Hello message”)
!" #$
!"#
!"#$#%&'()*+*,##-'#.+/#
$ %&
' ()* '
+, ()* +,
01-221
-,.. )*! -,
/0.. )*! /0
)1(2 3%4/5/ 67
829# :6
!"#$%$&'()*+,- !"# $%&'()&%%*+' ,-%.(/0. )%"'/$) #!"#$%$&' /01#"'23/$"/$) #+456701#+'%/89::;<=>?<@(#2%$A(#/'/$) #!A#+A 5;B:CD<C<E9<C89EE>D< F;G7 H!A#+A2.&$) # 3-12"3$45+(6,-%.(/0."')%(' '3%%$"%%,IJK:LH1"' J'+%(%%,I,MK:LH1"' ,M'"+'N+%("'!" #$#%&'()'*+*,,(,O-7789"#"2$:*-'/*;(6(4();,-%.(/0"'23$$"3*PP%A++A(QMPP%A++A(%%%A+J%A+2%A+!A+R%A+&,%A+*-2"<<=#7> $5+;(/?*)( 65@+*4 ,-%.(/0 ' 3 %%$" %%'%A'ST3O3'%%%."#+/+5<U?C8:V9WU866IXYVCZCVF[7H')2."#+'%! +&'$!A+ +"'2(# [\H'."#+'%2/$$/( /+ H"'2(R[\[ 9"9>2"3 ()2/%(#++(%$2+)]S[^_6\;#7>=AB O&$"&+2`Rab885a7cA!&+ dde&'5@C?U>V
UDfK:F7&+' 5^\F^7
!"#$%&'()*++, --+. /#)*012345678 902:;4367<+<=>??"@=??#+AB#CDA+AE8*$0DF7 $<G+ B#+<<$ E+H+#"B+* --+.A*(#<IJ550I7=KFL0K7"&432MN2:OP60&7++,)<<#)$"C)*B+B#+A*#BQAE* EIR,SIJ
'A'Rg').&'e +(#$hij2 A(kAl!#$"/%%&',M+'N3%(",MB3
Om-,.(#nOmT,'(!(R+,MB3(#$o'+ ;S[nn6n
!"#$%&'$()*$ +,-
RS-232D O W N L O A D
O F F
P7 P6 P5 P4 P3 P2 P1 P0
S T E P P E RM O T O R
L D R
RELAY
P13RELAY OUT
P11 P10 P9 P8
SERIAL DATA
+5V.P15G N D
SWITCH INPUT
P12SOUND/FREQ.
O U T P U T
P14R C - P O R T
AX-2SXBASIC StampACTIVITYB O A R D
L E D O U T P U T
RY.
R E S E TDC INPUT
O N
N CC
N O
!"#$%&'()*+,-!"."
.
Om-3/'(#nOmT,%(1'."#2` n6OmP,-]G /2UT:>Ef '+'()(#/,MB3
'$STAMP BS2sx'$PBASIC 2.5'****************************************************' Program : Fun with serial LCD module' Filename : ACT3501.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'****************************************************SO CON 15 ' Define SO as P15I VAR Byte ' Define I as byte variableVALUE VAR Byte ' Define VALUE as byte variableDELAY CON 250 ' Define DELAY as 250ms' Serial LCD module setting in standard mode, direct connect,' baudrate 9600bps and 1/16 duty (2 lines) type
PAUSE 1000 ' Delay for LCD initializeFOR I=0 TO 7 ' Set loop for write CGRAM 0-7 (1st Custom Character)
LOOKUP I,[%00110,%01111,%11110,%11100,%11110,%01111,%00110,%00000],VALUE ' PACMAN Right face dataSEROUT SO,240,5,[$FE,$40+I,VALUE] ' Write CGRAM 0-7
NEXT ' Do loop
FOR I=8 TO 15 ' Set loop for write CGRAM 8-15 (2nd Custom Character) LOOKUP I-8,[%01100,%11110,%01111,%00111,%01111,%11110,%01100,%00000],VALUE
' PACMAN Left face data SEROUT SO,240,5,[$FE,$40+I,VALUE] ' Write CGRAM 8-15NEXT ' Do loop
MAIN:SEROUT SO,240,5,[$FE,$00] ' Clear Display
SEROUT SO,240,5,[$FE,$80,0," Mr.PACMAN "]' Show PACMAN Right face and follwer message on 1st line
SEROUT SO,240,100,[$FE,$C0," Now showing.. "]' Show 2nd line message with 100ms delay
PAUSE 2000 ' Delay 2s to show
FOR I=0 TO 14 ' Set loop 15 times PAUSE DELAY ' Delay 250ms SEROUT SO,240,[$FE,$80+I," ",0] ' Delete previous PACMAN
' AND WRITE PACMAN TO NEXT rightNEXT ' Do loopPAUSE DELAY ' Delay 250msSEROUT SO,240,[$FE,$8F," "] ' Delete last PACMANPAUSE DELAY ' Delay 250msSEROUT SO,240,[$FE,$CF,1] ' Delete last PACMANFOR I=14 TO 0 ' Set loop 15 times PAUSE DELAY ' Delay 250ms SEROUT SO,240,[$FE,$C0+I,1," "] ' Write PACMAN to next left
' AND delete previous PACMANNEXT ' Do loopPAUSE DELAY ' Delay 250msSEROUT SO,240,[$FE,$C0," "] ' Delete last PACMANPAUSE 1000 ' Delay 1sGOTO MAIN ' Jump to main
/
#G++#) 9"8#+#+A#B8)C&TULV E<+#W+*B#B8X9A*#9+# E#X9"+C+A*# "A+)*BUK%YZ?'[ /# "A?"UK%YZD'R /# "A /#C \YUZYF8 #8#+++"8 #8#++]+*+G+ 9S+C) 8
B#) 8 B8<A*8#+9#9+# E#A*#<+A^??0<G+ ]LL%YZ9"][ /#*<+ABG+B8 /#^D?7)* \YUZYF8 #8#+++0]SA*#B# "A?# #7+*<+_Z3`\YUZYFa9#< 9+# E#A*#<+B# AbFcdefcd2:ga9"**+A" $h??#+A"8#+ A#+A
) 9" EC #G++#>B#+A*#B8 \YUZYF## ++9#8)*9"A*#+ #<*A*# B8B#, ++)*9"8#+< E"R?#+A "9+G++#C 9"G++ $+** 8 9+# E#) 9"+G++#B# A#)*9"A*# B8+ +]+*#9S<* E9<C 9+# E#X9" /# # $+* # #B8A< E
%/"%/"/0&12 /'34 $!%&'()*+,-%&5
''')/'.3++. H!A#+A22 &J+/'++.!"R(#^SnX.&J2%+ '+)%
' $pH%!A+ f>8C$) #;SYq6'1R' 'o.
( #'%/,MB3$) #"#p . "#$ 0 ""#2(0T $) # $ 0 '!A%"%rr+$"/
. H#+%' g3c*PP%A++A(2/# /,MB3#$$) #;SYq6'3*Pg,P3,(
H"' /,MB3 .$) #!AsN 5;B:CD<C<X9<C7()' # R'A
0
2CB2D !"#EB =C !"#7F+ A#+ ' 'e.'%% A' +t 3G.$) # ;SYq6 ' 2%%+2R
!"#$%
+ A#+'+A+'%01#'o$"uv;"3m* Rg +4 /&'89::;<=>?<@'R $) #(#+'+22 )%' %%R
&'!($)%
.'%'$) #+ A#+uv;'+,!"#+$%$&%(%'Rg )%
2CB2D !"#EB =C !"#GH#7H %%(#$'%.&$) #+4+'+'!2)g+ A#+uv;2+ , !"#'$) #'% )% !. d'Ne w x !"#') )% (R'e.'%% A' +t3G.$) #;SYq6.' )%$) #!A#+A &2'%'(#3 %%'$) #/$) #!A#+AR
!"#$% *'!($)+%
!(- #;SYq6,mc3*Pcy,3Qz
$) #'2(,m%+QMPP%A++A(%%+/+!"#$ !(- .
;SYq6,mc3*Pcyw_CVV9:>Ef|xz '2(,m%+QMPP%A++A(%%+/+ $_CVV9:>Ef|!(- /
;SYq6,mc3*Pcy,m*cx6C@:UDC3xz # '2(,m%+QMPP%A++A( %%+/+ !"#"' SnX+)u*Pg A#+%((# )% $6C@:UDC3
B>E87# IJKL79D93 !"#R'' +$R$$) # nq; 5'e.'%% A' +t 3G7e3mPTmPPAAA( )%'e $+''R!"#. Ho$(# 2(.
0
!" #$!%" &'(
AC<G+ /# ^ /#<G+ A*#C+8eOM54 + B#8#*<+9G+CG+8 8 LL%YZW+*B#)CTUL<A*99"G+8#B8<]05P3ec3 i - .jABB#+G+8#G+8 )C TUL+< EA ." /#C A8A*#+#+RV[9$8 /#A++, B8"8X7 *CAG+8#]+*$9)%" *+,-./012+
A<+C+ ^8 ^( X 0#"#G+B8B ^7 /#+G+8#B8<] * G+8#]+*$9 )*CA*CB##99"A+ A*# 3%" 456789:/,.;21<+=+,>
AC <G+ #AE
klLBB#+G+8#+A*#8+#CG+B88#*<+9G+ 0LL%YZ7 8
_?a_aSE#
&BG+8# ."+_?a B8 <]# ++_a B8 <]*CA # +]+*
A#*B+A$< C<G+ ^8+*,S G+8#B8CB8 <]9"# ++ "8#*<+9G+G+8 9"SE#?%" #(
AC <G+ #AE
LB<<$+ m m9,+ /#_?a /#+ m9,+ /#_a /#+ m9
UB<<$+ <]#9,+ /# _?a /#+ m <]8<] ,+ /# _a /#+ <]
nB<<$+"<],++B8<]"G+8#B8 /#_a
<G+ AB*<^?U /#+ B8 m9<]"^?o /#+ B8 m9<]" B8<]"@%" # 4 & A&B#C
AC #AE
+#<]" SE#*C +G+8#&lU"%lT]S++,$ #AE
M NM O=D# 2 !"#P P "#$ 0 2(0 u,PTu,OP , "#$ 0 2( u,*Tu,, P "#+'N2(0 u,JTu,], , "#+'N2( u,Tu,v
D%" "5EF&G "
/#<G+ AA<+G+< -+A$A<G+ 8#SAC C<G+ #AE
LTBB#+G+8#9G+##B#+ )CTUL_?aG+8#B8G++#B#)8>_aG+8#B8G++#B#)8D
F BG+8#9G+## A+B8_?a _a 8++
o B<+"A* B#+_?aRV[9$_aRV?9$
0-
/0&1'1# #"6"7$5!8! 52 9 "7$# #"68 ):;<=1%&' ()*>?@ !0 A5"" ! "
! ! "#$%&'(&)*+%', ! -.%*/+%/+%#"01)%* 2 !! -/+.34&5&%/+%#"01)%* 6 !! -/+.34&-,&%/+%#"01)%* 7 2! 38 6!2 38 7!6 38 9- 2 /":!7 38 9-"9;$ 2 /":! /+-.34&-,& 2 /":! /+-.34&5& 2! /": /+'#5#"01)%*.34&-,& 2 /": /+'#5#"01)%*.34&5& 22 /":2
26 /":2
)" #H5" I
0
g'A'+"#(# oH1'./. '' /,MB3/()'% UT:>Efc A+. )/!'o2 A#AN4t#$"~'%h%%% A' +t(#.2A /~'%.&R H% &,.#/ $$%/,MB3(3'A(3'$#$"# wFx 5XXF7 ' #. A+. #3+$" A+. 6nS6 g+ #~'%A#%"&% A+. n;S()(#$ $gs
OM-,.(#nOMT,'(!(R+,MB3(#$o'+ ;S[nn6nOM-3/'(#nOMT,%(1'g2` n6OMP,-]G /2UT:>EfOM-O (' A+. ,(#+'%J3(#+'%Q '+'()' /,MB3
!01# -,23145"( (*"",!-! 678932':)"#&:!(;*,!-!01#&:)"!01.&'-,2314<-!:(=>6(1
$12 $3#$
+ ! BC" #$ ' 2 $2D& 5/0&@'@ !%&'()*+,-
00
'$STAMP BS2sx'$PBASIC 2.5'****************************************************' Program : Basic stopwatch' Filename : ACT3601.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'****************************************************
SO CON 15 ' Define SO as P15I VAR Byte ' Define I as byte variableTIME VAR Word ' Define TIME as word variableSW_VAR1 VAR Byte ' Define SW_VAR1 as byte variableSW_VAR2 VAR Byte ' Define SW_VAR2 as byte variableSW_START CON 8 ' Define SW_UP as P8 inputSW_CLEAR CON 9 ' Define SW_CLEAR as P9 inputSTART VAR Bit ' Define START as bit variable
' Serial LCD module setting in standard mode, direct connect,' baudrate 9600bps and 1/16 duty (2 lines) type
PAUSE 1000 ' Delay for LCD initializeSEROUT SO,240,5,[$FE,$00] ' Clear SLCD display
SEROUT SO,240,5,[$FE,$80,"1 Hour stopwatch"]' Show title at 1st line
SEROUT SO,240,5,[$FE,$C0," Time : : "]' Show current status at 2nd line
TIME=0 ' Clear time to 00:00GOSUB SHOW_TIME ' Show counter
MAIN: BUTTON SW_START,0,255,0,SW_VAR1,1,START_STOP' Check switch P8, START/STOP
BUTTON SW_CLEAR,0,255,0,SW_VAR2,1,CLEAR_TIME' Check switch P9, CLEAR
IF START=0 THEN MAIN ' Back to main if stop
FOR I=1 TO 100 ' Set loop 100 timesPAUSE 10 ' time base 10msBUTTON SW_START,0,255,0,SW_VAR1,1,START_STOP
' Check switch P8, START/STOP in delay loopNEXT ' Do loop
IF (TIME//100)//60<>59 THEN INC_TIME' Check 2 lower digit = 59?
TIME=TIME+41 ' Add 41 for increase miniuteIF TIME//6000<>0 THEN SHOW_NEXT ' Check minute added = 6000?TIME=0 ' Clear time to 00:00 if overflowGOTO SHOW_NEXT ' Jump to SHOW_NEXT
INC_TIME: TIME=TIME+1 ' Increase timeSHOW_NEXT: GOSUB SHOW_TIME ' Show time
GOTO MAIN ' Jump to main
0
%/" +%/"! BC" #$ ' /$$&..'%&5
START_STOP: FREQOUT12,1000,1250START=~START ' Complament statr/stop statusGOTO MAIN ' Jump to main
CLEAR_TIME: FREQOUT12,700,1250FREQOUT12,700,1250TIME=0 ' Clear time to 00:00GOSUB SHOW_TIME ' Show timeGOTO MAIN ' Jump to main
SHOW_TIME: FOR I=3 TO 2 ' Set loop from 3 downto 2SEROUT SO,240,[$FE,$C9+(3-I),(TIME DIG I)+$30]
' Send minutes in 2 digits ASCII formatNEXT ' Do loopFOR I=1 TO 0 ' Set loop from 1 downto 0
SEROUT SO,240,[$FE,$CC+(1-I),(TIME DIG I)+$30]' Send seconds in 2 digits ASCII format
NEXT ' Do loopRETURN ' Return to main
) 9"<*9 E +A+8,+A \D,C) X9"]Q&pY%p+C) # +)*B##) # +9"B8+8#+?#+A /#H+#+8 "#C ?? B8 /# #+A# # )*9"A+9A +\@**
8 9+A8#+<) 9"9<++ q99$ ##A9"<+,+<++ R@X9"<+A+ "# G+) 8 A< E8#S,+<+#+A# E#,S R@#+A) X9"<+A > <+B#8 *88 AX<+#+A# E# ",+<+A# E#A<+ /#???+9 +< )) X9" <+B8 +#A?B8)*+G++## E#,+A+A +\D +A# *CX9"8*$",+A + \@* <+AA*CX9",CB8+* /# ? # B8$< EAA+ A*# ++9"# 8<A*<+9"A+A*) **+<+B8$< EG+B8<+A8X## E#,C+."AG++#*C
' $/'%'g3 $"(A( '
'()''' /3'. $g( 3'Hg$A(/$"# wFx$#$(A(
'%()2/`'6nS601#H' % H(&'$R"#' A+. J"#()'+ % A+. J'(),A(+ &,PAAA( !"# H&2(((#'' A+.
0
'~'%'A'(# OM !'2/'!"# 4!A# A+. '3+g*+'o2/$$" $"#+RPT3mmA((# g+/ $' 4''A'R H)2/''o'!"#!A#gPT3mm(2
$"#+RR A+. #*+$"PQNP$I0?"@A,)(BCDB NRRP $L0?0"(@A3",-2! :!"-" :, EFGFB ST$U0" 3-:!HIJDFCGF VWX$Y0" -:!9FJDFCGF /(R A+. (#O* H'$#$+"#2
O-,.(#nOT,'(!(R+,MB3(#$o'+ ;S[nn6n
3"4563#$7-#$
+ ! BC" #$ ' 2 $2D& 5/0&@'@ !%&'()*+,-
!
0
'$STAMP BS2sx'$PBASIC 2.5'****************************************************' Program : 0-255 seconds timer' Filename : ACT3702.BSX' Processor : BASIC Stamp 2SX/i-Stamp' Copyright (C) 2003 Innovative Experiment Co.,Ltd.'****************************************************SPK CON 12 ' Define SPK as P12RELAY CON 13 ' Define P13 as RELAYSO CON 15 ' Define SO as P15I VAR Byte ' Define I as byte variableTIMER_SET VAR Byte ' Define TIMER_SET as byte variableTIMER VAR Byte ' Define TIMER as byte variableSW_VAR1 VAR Byte ' Define SW_VAR1 as byte variableSW_VAR2 VAR Byte ' Define SW_VAR2 as byte variableSW_VAR3 VAR Byte ' Define SW_VAR3 as byte variableSW_VAR4 VAR Byte ' Define SW_VAR4 as byte variableSW_DOWN CON 11 ' Define SW_DOWN as P11 inputSW_UP CON 10 ' Define SW_UP as P10 inputSW_CLEAR CON 9 ' Define SW_CLEAR as P9 inputSW_START CON 8 ' Define SW_START as P8 inputSTART VAR Bit ' Define START as bit variable
' Serial LCD module setting in standard mode, direct connect,' baudrate 9600bps and 1/16 duty (2 lines) type
OUTPUT RELAY ' Set P13 as outputPAUSE 1000 ' Delay for LCD initializeSEROUT SO,240,5,[$FE,$00] ' Clear Display
SEROUT SO,240,5,[$FE,$80,"0-255 sec. Timer"] ' Show title at 1st lineSEROUT SO,240,5,[$FE,$C0," Time : sec."]
' Show current status at 2nd lineTIMER=60 ' Set defalut timer = 60s.TIMER_SET=60 ' Backup setting timerGOSUB SHOW_TIME ' Show counter
MAIN: BUTTON SW_DOWN,0,250,100,SW_VAR1,1,DEC_TIMER' Check switch P11, decrease timer set
BUTTON SW_UP,0,250,100,SW_VAR2,1,INC_TIMER' Check switch P10, increase timer set
BUTTON SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL' Check switch P9, cancel timer
BUTTON SW_START,0,255,0,SW_VAR4,1,TIMER_ON' Check switch P8, start timer
IF START=0 THEN MAIN ' Back to main if stopFOR I=1 TO 100 ' Set loop 100 times PAUSE10 ' time base 10ms BUTTON SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL
' Check switch P9, cancel in delay loopNEXT ' Do loop
%/"E2#F ' G- .! 2 $2D%&5HI
0.
%/"E2#F ' G- .! 2 $2D%&5H$I
TIMER=TIMER-1 ' Decrease timerGOSUB SHOW_TIME ' Show timer remainIF TIMER<>0 THEN MAIN ' Check timeout?FOR I=1 TO 3 ' Set loop 3 times FREQOUT SPK,1250,1600 ' Send beep tone PAUSE100 ' DelayNEXT ' Do loopHIGH RELAY ' On relaySTART=0 ' Clear START bitGOTO MAIN ' Jump to main
TIMER_ON:FREQOUT12,1000,1250START=1 ' Set START bitIF OUT13=0 THEN MAIN ' Check relay still on?LOW RELAY ' If on, off relay before restart againGOTO MAIN ' Jump to main
CANCEL:FREQOUT12,700,1250FREQOUT12,700,1250START=0 ' Clear START bitLOW RELAY ' Off relayTIMER=TIMER_SET ' Restore last setting valueGOSUB SHOW_TIME ' Show time
GOTO MAIN ' Jump to main
INC_TIMER:FREQOUT12,1000,1250TIMER=TIMER+1 ' Increase timer settingGOTO SHOW_NEXT ' Jump to SHOW_NEXT
DEC_TIMER:FREQOUT12,1000,1250TIMER=TIMER-1 ' Decrease timer setting
SHOW_NEXT:GOSUB SHOW_TIME ' Show timeTIMER_SET=TIMER ' Backup setting valueGOTO MAIN ' Jump to main
SHOW_TIME:FOR I=2 TO 0 ' Set loop from 2 downto 0 SEROUT SO,240,[$FE,$C8+(2-I),(TIMER DIG I)+$30]
' Send seconds in 3 digits ASCII formatNEXT ' Do loopRETURN ' Return to main
0/
O-3/'(#nOT,%(1'g2` n6OP,-]G /2UT:>EfO-O (' A+. ,T* '+'()' /,MB3
"*+26789#%K.*2"!LM.NNGFJOPQFDPQFRL%LGFJO=*"!-2S ::!3" !%L! !01#!
)'LLL (1"T 2 (! *-EU!-!01.(; -!,= L%L :!":*-*" (*-!?"!01/ 33-!*V 3-!;: !01"( (,"!(
/'R2.$) #]q66Y\'%,P,, H()0R)2"#'' A+. $2()'+R()2 '1R
'+'!A#'()'~'+R3mmA(g3mm( H!A#)4'
FOR I=1 TO 100 ' Set loop 100 times (1sec. Per cycle) PAUSE 10 ' Time base 10ms BUTTON SW_CLEAR,0,225,0,SW_VAR3,1,CANCEL
'Check switch P9, cancel in delay loopNEXT 'Do loop
gFOR I=1 TO 6000 'Set loop 6000 timers
'(60 sec=1min.per cycle) PAUSE 10 ' Time base 10ms BUTTON SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL
' Check switch P9, cancel in delay loopNEXT ' Do loop
!.'%% A' +t3G5]3GT[7"UT:>Ef!."#+! +&'!"# / "# ! ;J.()A' w,x!++()'' ! A+. '+A%!++(!*.!)/!J/ )%% !++($+ +'%+'o%&()gS&' )%(!$o'+ ."#+&'e (#.' "# %%&'!% ! ,3b( A%o' )%+ 2.! % +o + !$o'+ )%+ +o + !.'%+ ,3bmPPTJPPEn!R2`R!"#''2`'%R
2 ! )($-3 40,'',$($)&/&0%1 !
!
!%&'&3 '((.
!776777$'$" (//1;<($'$"
1,01;=1<$'6'(( "
3>/*' $ 1'.$$ '!9
.$$ 9$$+>*1( 1$$ ) $
$$$$$ ?>*6$ $"
*!79577377$$ '
'$$$ $'("
A A < ?''>?(>= A<#< ]] ?'('@>?'[= ?'('D(>'=# H]#] ?'R'??@>iX)#<?'R('>(= iA9A<?'RRR'(Ri`]AX#?'>>>'(>R(567869:;:8iddd`MOOecr6645f`5cs#-<=>ituvX#9#A*?'@>('@??'
#-?@6AB96
C #E J I &'"(((lR(]`$$?l,`$$+#+$w??)j ?'[>['[??'>)+?'[>['[??R8;i645fx2:4V`5c`6fC8A@8if66Oillddd`2:4V`5c`6f
03$*/0$/0/
D968:E9F9:F
.G$-3 40,'',$(
#-H>$)&/)$)&/&0%1 ! !AsN )%'(#+'$ '! !(RUT:>Efc% nGT3Gc +c/,MB3%%&'! ."#+c0`+ $"(
Recommended