Beruflich Dokumente
Kultur Dokumente
intledPins[] ={2,3,4,5,6,7,8,9};//AnarraytoholdthepineachLEDisconnectedto
//i.e.LED#0isconnectedtopin2,LED#1,3andsoon
//toaddressanarrayuseledPins[0]thiswouldequal2
//andledPins[7]wouldequal9
int
cnt=0;
/*
*
setup() -
thisfunctionrunsoncewhenyouturnyourArduinoon
*
We the threecontrolpinstooutputs
*/
void setup()
{
//Set
each pinconnectedtoanLEDtooutputmode(pullinghigh(on)orlow(off)
for(int
i
=0;i<8;i++){//thisisaloop
andwillrepeateighttimes
pinMode(ledPins[i],OUTPUT);//weusethistoseteachLEDpintooutput
}//thecodethisreplacesisbelow
/*
(commentedcodewillnotrun)
*
thesearethelinesreplacedbytheforloopabovetheydoexactlythe
*
same thingtheoneabovejustuseslesstyping
pinMode(ledPins[0],OUTPUT);
pinMode(ledPins[1],OUTPUT);
pinMode(ledPins[2],OUTPUT);
pinMode(ledPins[3],OUTPUT);
pinMode(ledPins[4],OUTPUT);
pinMode(ledPins[5],OUTPUT);
pinMode(ledPins[6],OUTPUT);
pinMode(ledPins[7],OUTPUT);
(end
of
commentedcode)*/
}
/*
*
loop() -
thisfunctionwillstartaftersetupfinishesandthenrepeat
*
we call a
functioncalledoneAfterAnother().ifyouwouldlikeadifferentbehaviour
*
uncomment(deletethetwoslashes)oneoftheotherlines
*/
void loop()//runoverandoveragain
{
oneAfterAnotherNoLoop();//thiswillturnoneachLEDonebyonethenturneachoff
oneAfterAnotherLoop();//doesthesameasoneAfterAnotherNoLoopbutwith
//muchlesstyping
oneOnAtATime();//thiswillturnone
LEDonthenturnthenextone
//onturningthe
//formeroff(oneLEDwill
looklikeitisscrolling
//alongtheline
inAndOut();//lightsthetwomiddleLEDsthenmovesthemoutthenback
digitalWrite(ledPins[3],LOW);
digitalWrite(ledPins[4],LOW);
pujabaixa();
inventada();
/*
*
oneAfterAnotherNoLoop()-Willlightone LEDthendelayfordelayTimethenlight
*
the next LEDuntilallLEDsareonitwillthenturnthemoffoneafteranother
*
*
this does itwithoutusingaloopwhichmakesforalotoftyping.
*
oneOnAtATimeLoop()doesexactlythesamethingwithlesstyping
*/
void oneAfterAnotherNoLoop(){
int
delayTime=100;//thetime(inmilliseconds)topausebetweenLEDs
//makesmallerforquickerswitchingandlargerforslower
digitalWrite(ledPins[0],HIGH);//Turnson
LED#0(connectedtopin2)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[1],HIGH);//Turnson
LED#1(connectedtopin3)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[2],HIGH);//Turnson
LED#2(connectedtopin4)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[3],HIGH);//Turnson
LED#3(connectedtopin5)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[4],HIGH);//Turnson
LED#4(connectedtopin6)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[5],HIGH);//Turnson
LED#5(connectedtopin7)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[6],HIGH);//Turnson
LED#6(connectedtopin8)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[7],HIGH);//Turnson
LED#7(connectedtopin9)
delay(delayTime);//waitsdelayTimemilliseconds
//TurnsEachLEDOff
digitalWrite(ledPins[7],LOW);//TurnsonLED#0(connectedtopin2)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[6],LOW);//TurnsonLED#1(connectedtopin3)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[5],LOW);//TurnsonLED#2(connectedtopin4)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[4],LOW);//TurnsonLED#3(connectedtopin5)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[3],LOW);//TurnsonLED#4(connectedtopin6)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[2],LOW);//TurnsonLED#5(connectedtopin7)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[1],LOW);//TurnsonLED#6(connectedtopin8)
delay(delayTime);//waitsdelayTimemilliseconds
digitalWrite(ledPins[0],LOW);//TurnsonLED#7(connectedtopin9)
delay(delayTime);//waitsdelayTimemilliseconds
/*
*
oneAfterAnotherLoop()-WilllightoneLEDthendelayfordelayTimethenlight
*
the
next
LEDuntilallLEDsareonitwillthenturnthemoffoneafteranother
*
*
this does itusingaloopwhichmakesforalotlesstyping.
*
than oneOnAtATimeNoLoop()doesexactlythesamethingwithlesstyping
*/
void oneAfterAnotherLoop(){
int
delayTime=100;//thetime(inmilliseconds)topausebetweenLEDs
//makesmallerforquickerswitchingandlargerforslower
delay(delayTime);//getsoneaddedtoitsothiswillrepeat
}//8timesthefirsttimeiwill=0thefinal
//timeiwillequal7;
}//8timesthefirsttimeiwill=7thefinal
//timeitwillequal0
/*
*
oneOnAtATime()-WilllightoneLEDthenthenextturningoffalltheothers
*/
void oneOnAtATime(){
int
delayTime=100;//thetime(inmilliseconds)topausebetweenLEDs
//makesmallerforquickerswitchingandlargerforslower
for(int
i
=0;i<=7;i++){
int
offLED =i-1;//CalculatewhichLEDwasturnedonlasttimethrough
if(i
== 0){//fori=1to7thisisiminus1(i.e.ifi=2wewill
offLED
=7;//turnonLED2andoffLED1)
}//howeverifi=0wedon'twanttoturnofled-1(doesn'texist)
//insteadweturnoffLED7,(loopingaround)
digitalWrite(ledPins[i],HIGH);//turnonLED#i
digitalWrite(ledPins[offLED],LOW);//turnofftheLEDweturnedonlasttime
delay(delayTime);
/*
*
inAndOut()-ThiswillturnonthetwomiddleLEDsthenthenexttwoout
*
making an inandoutlook
*/
void inAndOut(){
int
delayTime=100;//thetime(inmilliseconds)topausebetweenLEDs
//makesmallerforquickerswitchingandlargerforslower
//runs
the
LEDsoutfromthemiddle
for(int
i
=0;i<=3;i++){
int
offLED =i-1;//CalculatewhichLEDwasturnedonlasttimethrough
if(i
== 0){//fori=1to7thisisiminus1(i.e.ifi=2wewill
offLED
=3;//turnonLED2andoffLED1)
}//howeverifi=0wedon'twanttoturnofled-1(doesn'texist)
//insteadweturnoffLED7,(loopingaround)
int
onLED1=3-i;//thisisthefirstLEDtogoonie.LED#3wheni=0andLED
//#0wheni=3
int
onLED2=4+i;//thisisthefirstLEDtogoonie.LED#4wheni=0andLED
//#7wheni=3
int
offLED1=3-offLED;//turnsofftheLEDweturnedonlasttime
int
offLED2=4+offLED;//turnsofftheLEDweturnedonlasttime
digitalWrite(ledPins[onLED1],HIGH);
digitalWrite(ledPins[onLED2],HIGH);
digitalWrite(ledPins[offLED1],LOW);
digitalWrite(ledPins[offLED2],LOW);
delay(delayTime);
//runs
the LEDsintothemiddle
for(int
i
=3;i>=0;i--){
int
offLED =i+1;//CalculatewhichLEDwasturnedonlasttimethrough
if(i
== 3){//fori=1to7thisisiminus1(i.e.ifi=2wewill
offLED
=0;//turnonLED2andoffLED1)
}//howeverifi=0wedon'twanttoturnofled-1(doesn'texist)
//insteadweturnoffLED7,(loopingaround)
int
onLED1=3-i;//thisisthefirstLEDtogoonie.LED#3wheni=0andLED
//#0wheni=3
int
onLED2=4+i;//thisisthefirstLEDtogoonie.LED#4wheni=0andLED
//#7wheni=3
int
offLED1=3-offLED;//turnsofftheLEDweturnedonlasttime
int
offLED2=4+offLED;//turnsofftheLEDweturnedonlasttime
digitalWrite(ledPins[onLED1],HIGH);
digitalWrite(ledPins[onLED2],HIGH);
digitalWrite(ledPins[offLED1],LOW);
digitalWrite(ledPins[offLED2],LOW);
delay(delayTime);
}
voidpujabaixa(){
int
delayTime=100;//thetime(inmilliseconds)topausebetweenLEDs
int
counter;//makesmallerforquickerswitchingandlargerforslower
for
(counter=0;counter<5;counter++){
for(int
i
=0;i<=7;i++){
int
offLED =i-1;//CalculatewhichLEDwasturnedonlasttimethrough
//turnonLED2andoffLED1)
//howeverifi=0wedon'twanttoturnofled-1(doesn'texist)
//insteadweturnoffLED7,(loopingaround)
digitalWrite(ledPins[i],HIGH);//turnonLED#i
digitalWrite(ledPins[offLED],LOW);//turnofftheLEDweturnedonlasttime
delay(delayTime);
for
(int
j=7;j>=0;j--){
int
offLED=j+1;
digitalWrite(ledPins[j],HIGH);
digitalWrite(ledPins[offLED],LOW);
delay(delayTime);
}
voidinventada(){
int
delayTime=500;
for(int
joca=1;joca<2;joca++){
digitalWrite(ledPins[0],HIGH);
delay(delayTime);
digitalWrite(ledPins[0],LOW);
digitalWrite(ledPins[2],HIGH);
delay(delayTime);
digitalWrite(ledPins[2],LOW);
digitalWrite(ledPins[4],HIGH);
delay(delayTime);
digitalWrite(ledPins[4],LOW);
digitalWrite(ledPins[6],HIGH);
delay(delayTime);
digitalWrite(ledPins[6],LOW);
digitalWrite(ledPins[8],HIGH);
delay(delayTime);
digitalWrite(ledPins[8],LOW);
digitalWrite(ledPins[7],HIGH);
delay(delayTime);
digitalWrite(ledPins[7],LOW);
digitalWrite(ledPins[5],HIGH);
delay(delayTime);
digitalWrite(ledPins[5],LOW);
digitalWrite(ledPins[3],HIGH);
delay(delayTime);
digitalWrite(ledPins[3],LOW);
digitalWrite(ledPins[1],HIGH);
delay(delayTime);
digitalWrite(ledPins[1],LOW);
digitalWrite(ledPins[0],HIGH);