You are on page 1of 5

/* --------------------------------------------------------* | Arduino Experimentation Kit Example Code | * | CIRC-02 .: 8 LED un :. !

"ultiple LED#$ | * --------------------------------------------------------* * A %e& 'imple LED animation# * * or more in%ormation on t(i# )ir)uit (ttp://tin*url.)om/d2(rud * */ //LED +in ,aria-le# int led+in#./ 0 12232425262728289: //An arra* to (old t(e pin ea)( LED i# )onne)ted to //i.e. LED ;0 i# )onne)ted to pin 22 LED ;<2 3 and #o on //to addre## an arra* u#e led+in#.0/ t(i# &ould e=ual 2 //and led+in#.7/ &ould e=ual 8 /* * #etup!$ - t(i# %un)tion run# on)e &(en *ou turn *our Arduino on * >e t(e t(ree )ontrol pin# to output# */ ?oid #etup!$ 1 //'et ea)( pin )onne)ted to an LED to output mode !pullin@ (i@( !on$ or lo& !o%%$ %or!int i 0 0: i A 8: iBB$1 //t(i# i# a loop and &ill repeat ei@(t time# pin"ode!led+in#.i/2CDE+DE$: //&e u#e t(i# to #et ea)( LED pin to output 9 //t(e )ode t(i# repla)e# i# -elo& /* !)ommented )ode &ill not run$ * t(e#e are t(e line# repla)ed -* t(e %or loop a-o?e t(e* do exa)tl* t(e * #ame t(in@ t(e one a-o?e Fu#t u#e# le## t*pin@ pin"ode!led+in#.0/2CDE+DE$: pin"ode!led+in#.</2CDE+DE$: pin"ode!led+in#.2/2CDE+DE$: pin"ode!led+in#.3/2CDE+DE$: pin"ode!led+in#.4/2CDE+DE$: pin"ode!led+in#.5/2CDE+DE$: pin"ode!led+in#.6/2CDE+DE$: pin"ode!led+in#.7/2CDE+DE$: !end o% )ommented )ode$*/ 9 /* * loop!$ - t(i# %un)tion &ill #tart a%ter #etup %ini#(e# and t(en repeat * &e )all a %un)tion )alled oneA%terAnot(er!$. i% *ou &ould liGe a di%%erent -e(a?iour * un)omment !delete t(e t&o #la#(e#$ one o% t(e ot(er line# */ ?oid loop!$ // run o?er and o?er a@ain 1

oneA%terAnot(erHoLoop!$: t(en turn ea)( o%% //oneA%terAnot(erLoop!$: -ut &it( //oneCnAtAEime!$: next one i# #)rollin@ //inAndCut!$: t(em out t(en -a)G 9

//t(i# &ill turn on ea)( LED one -* one //doe# t(e #ame a# oneA%terAnot(erHoLoop //mu)( le## t*pin@ //t(i# &ill turn one LED on t(en turn t(e //on turnin@ t(e //%ormer o%% !one LED &ill looG liGe it //alon@ t(e line //li@(t# t(e t&o middle LED# t(en mo?e# //in a@ain

/* * oneA%terAnot(erHoLoop!$ - >ill li@(t one LED t(en dela* %or dela*Eime t(en li@(t * t(e next LED until all LED# are on it &ill t(en turn t(em o%% one a%ter anot(er * * t(i# doe# it &it(out u#in@ a loop &(i)( maGe# %or a lot o% t*pin@. * oneCnAtAEimeLoop!$ doe# exa)tl* t(e #ame t(in@ &it( le## t*pin@ */ ?oid oneA%terAnot(erHoLoop!$1 int dela*Eime 0 <00: //t(e time !in milli#e)ond#$ to pau#e -et&een LED# //maGe #maller %or =ui)Ger #&it)(in@ and lar@er %or #lo&er di@ital>rite!led+in#.0/2 IIJI$: //Eurn# on LED ;0 !)onne)ted to pin 2 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.</2 IIJI$: //Eurn# on LED ;< !)onne)ted to pin 3 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.2/2 IIJI$: //Eurn# on LED ;2 !)onne)ted to pin 4 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.3/2 IIJI$: //Eurn# on LED ;3 !)onne)ted to pin 5 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.4/2 IIJI$: //Eurn# on LED ;4 !)onne)ted to pin 6 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.5/2 IIJI$: //Eurn# on LED ;5 !)onne)ted to pin 7 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.6/2 IIJI$: //Eurn# on LED ;6 !)onne)ted to pin 8 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# di@ital>rite!led+in#.7/2 IIJI$: //Eurn# on LED ;7 !)onne)ted to pin 8 $ dela*!dela*Eime$: //&ait# dela*Eime milli#e)ond# //Eurn# Ea)( LED C%% di@ital>rite!led+in#.7/2 LC>$: 2 $ dela*!dela*Eime$: di@ital>rite!led+in#.6/2 LC>$: 3 $ //Eurn# on LED ;0 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;< !)onne)ted to pin

4 5 6 7 8 8 9

dela*!dela*Eime$: di@ital>rite!led+in#.5/2 $ dela*!dela*Eime$: di@ital>rite!led+in#.4/2 $ dela*!dela*Eime$: di@ital>rite!led+in#.3/2 $ dela*!dela*Eime$: di@ital>rite!led+in#.2/2 $ dela*!dela*Eime$: di@ital>rite!led+in#.</2 $ dela*!dela*Eime$: di@ital>rite!led+in#.0/2 $ dela*!dela*Eime$:

LC>$: LC>$: LC>$: LC>$: LC>$: LC>$:

//&ait# dela*Eime milli#e)ond# //Eurn# on LED ;2 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;3 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;4 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;5 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;6 !)onne)ted to pin //&ait# dela*Eime milli#e)ond# //Eurn# on LED ;7 !)onne)ted to pin //&ait# dela*Eime milli#e)ond#

/* * oneA%terAnot(erLoop!$ - >ill li@(t one LED t(en dela* %or dela*Eime t(en li@(t * t(e next LED until all LED# are on it &ill t(en turn t(em o%% one a%ter anot(er * * t(i# doe# it u#in@ a loop &(i)( maGe# %or a lot le## t*pin@. * t(an oneCnAtAEimeHoLoop!$ doe# exa)tl* t(e #ame t(in@ &it( le## t*pin@ */ ?oid oneA%terAnot(erLoop!$1 int dela*Eime 0 <00: //t(e time !in milli#e)ond#$ to pau#e -et&een LED# //maGe #maller %or =ui)Ger #&it)(in@ and lar@er %or #lo&er //Eurn Ea)( LED on one a%ter anot(er %or!int i 0 0: i A0 7: iBB$1 di@ital>rite!led+in#.i/2 IIJI$: //Eurn# on LED ;i ea)( time t(i# run# i dela*!dela*Eime$: //@et# one added to it #o t(i# &ill repeat 9 //8 time# t(e %ir#t time i &ill 0 0 t(e %inal //time i &ill e=ual 7: //Eurn Ea)( LED o%% one a%ter anot(er %or!int i 0 7: i K0 0: i--$1 //#ame a# a-o?e -ut rat(er t(an #tartin@ at 0 and )ountin@ up //&e #tart at #e?en and )ount do&n di@ital>rite!led+in#.i/2 LC>$: //Eurn# o%% LED ;i ea)( time t(i# run# i dela*!dela*Eime$: //@et# one #u-tra)ted %rom it #o t(i# &ill repeat 9 //8 time# t(e %ir#t time i &ill 0 7 t(e %inal //time it &ill e=ual 0 9

/* * oneCnAtAEime!$ - >ill li@(t one LED t(en t(e next turnin@ o%% all t(e ot(er# */ ?oid oneCnAtAEime!$1 int dela*Eime 0 <00: //t(e time !in milli#e)ond#$ to pau#e -et&een LED# //maGe #maller %or =ui)Ger #&it)(in@ and lar@er %or #lo&er %or!int i 0 0: i A0 7: int o%%LED 0 i - <: t(rou@( i%!i 00 0$ 1 0 2 &e &ill o%%LED 0 7: 9 led -< !doe#nLt exi#t$ iBB$1 //Cal)ulate &(i)( LED &a# turned on la#t time //%or i 0 < to 7 t(i# i# i minu# < !i.e. i% i //turn on LED 2 and o%% LED <$ //(o&e?er i% i 0 0 &e donLt &ant to turn o%

//in#tead &e turn o%% LED 72 !loopin@ around$ di@ital>rite!led+in#.i/2 IIJI$: //turn on LED ;i di@ital>rite!led+in#.o%%LED/2 LC>$: //turn o%% t(e LED &e turned on la#t time dela*!dela*Eime$: 9 9 /* * inAndCut!$ - E(i# &ill turn on t(e t&o middle LED# t(en t(e next t&o out * maGin@ an in and out looG */ ?oid inAndCut!$1 int dela*Eime 0 <00: //t(e time !in milli#e)ond#$ to pau#e -et&een LED# //maGe #maller %or =ui)Ger #&it)(in@ and lar@er %or #lo&er //run# t(e LED# out %rom t(e middle %or!int i 0 0: i A0 3: iBB$1 int o%%LED 0 i - <: //Cal)ulate &(i)( LED &a# turned on la#t time t(rou@( i%!i 00 0$ 1 //%or i 0 < to 7 t(i# i# i minu# < !i.e. i% i 0 2 &e &ill o%%LED 0 3: //turn on LED 2 and o%% LED <$ 9 //(o&e?er i% i 0 0 &e donLt &ant to turn o% led -< !doe#nLt exi#t$ //in#tead &e turn o%% LED 72 !loopin@ around$ int onLED< 0 3 - i: //t(i# i# t(e %ir#t LED to @o on ie. LED ;3 &(en i 0 0 and LED //;0 &(en i 0 3 int onLED2 0 4 B i: //t(i# i# t(e %ir#t LED to @o on ie. LED ;4 &(en i 0 0 and LED //;7 &(en i 0 3 int o%%LED< 0 3 - o%%LED: //turn# o%% t(e LED &e turned on la#t time int o%%LED2 0 4 B o%%LED: //turn# o%% t(e LED &e turned on la#t time di@ital>rite!led+in#.onLED</2 IIJI$: di@ital>rite!led+in#.onLED2/2 IIJI$:

di@ital>rite!led+in#.o%%LED</2 LC>$: di@ital>rite!led+in#.o%%LED2/2 LC>$: dela*!dela*Eime$: 9 //run# t(e LED# into t(e middle %or!int i 0 3: i K0 0: i--$1 int o%%LED 0 i B <: //Cal)ulate &(i)( LED &a# turned on la#t time t(rou@( i%!i 00 3$ 1 //%or i 0 < to 7 t(i# i# i minu# < !i.e. i% i 0 2 &e &ill o%%LED 0 0: //turn on LED 2 and o%% LED <$ 9 //(o&e?er i% i 0 0 &e donLt &ant to turn o% led -< !doe#nLt exi#t$ //in#tead &e turn o%% LED 72 !loopin@ around$ int onLED< 0 3 - i: //t(i# i# t(e %ir#t LED to @o on ie. LED ;3 &(en i 0 0 and LED //;0 &(en i 0 3 int onLED2 0 4 B i: //t(i# i# t(e %ir#t LED to @o on ie. LED ;4 &(en i 0 0 and LED //;7 &(en i 0 3 int o%%LED< 0 3 - o%%LED: //turn# o%% t(e LED &e turned on la#t time int o%%LED2 0 4 B o%%LED: //turn# o%% t(e LED &e turned on la#t time di@ital>rite!led+in#.onLED</2 IIJI$: di@ital>rite!led+in#.onLED2/2 IIJI$: di@ital>rite!led+in#.o%%LED</2 LC>$: di@ital>rite!led+in#.o%%LED2/2 LC>$: dela*!dela*Eime$: 9 9

You might also like