REKLAMA

kod.txt

Jak wyłączać diody LED po upływie określonego czasu?

proszę o pomoc przy kodzie diody wliczając i wyłączają się przyciskiem a jak chciałbym jeszcze oprócz tego by wyłączały sie po upływie określonego czasu 30s. dzieki kod //LED pin assignments int led1 = 2; int led2 = 3; int led3 = 4; int led4 = 5; int led5 = 6; int led6 = 7; int led7 = 8; int led8 = 9; int led9 = 10; int led10 = 22; int led11 = 23; int led12 = 24; int led13 = 25; int led14 = 26; // button pin assignments int b_up = 11; //button at bottom of stairs int b_down = 12; //button at top of stairs //LED delay settings int tOn = 400; //LED On delay int tOff = 750; //LED Off delay int del = 0; //Delay after action (used for debugging - set to 500-1000 to introduce a delay between each action) //variables static unsigned activeup = 0; //whether the system is active going upwards static unsigned activedown = 0; //whether the system is active going downwards void setup() { //make with the setups //Set Serial Serial.begin(9600); Serial.println(""); Serial.println("Activated"); delay(del); //Set LED pins as output pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led9, OUTPUT); pinMode(led10, OUTPUT); pinMode(led11, OUTPUT); pinMode(led12, OUTPUT); pinMode(led13, OUTPUT); pinMode(led14, OUTPUT); //Set button pins as input pinMode(b_up, INPUT_PULLUP); pinMode(b_down, INPUT_PULLUP); Serial.println("Pins set"); delay(del); //Clear variables int activedown = 0; int activeup = 0; //Print variables to Serial Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); Serial.println("Variables set"); delay(del); Serial.println(""); Serial.println("Ready"); } void loop() { //forever in your loopings //Set variables based on pin state int up = digitalRead(b_up); int down = digitalRead(b_down); Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); if (up == LOW){ //Bottom button pressed Serial.println("Bottom button pressed!"); delay(del); //Set variables Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); if (activeup == 1 || activedown == 1){ //checks if system active //If active Serial.println("System active!"); delay(del); OffDown(); //function call } else { //if not active Serial.println("System activated (up)"); delay(del); OnUp(); //function call } } if (down == LOW){ Serial.println("Top button pressed"); delay(del); Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); if (activeup == 1 || activedown == 1){ Serial.println("System active!"); delay(del); OffUp(); //function call } else { Serial.println("System activated (down)"); delay(del); OnDown(); //function call } } } void OnUp(){ //Switches lights on going up Serial.println("Switching on lights (up)"); delay(del); //set LEDs on in turn digitalWrite(led1, HIGH); delay(tOn); digitalWrite(led2, HIGH); delay(tOn); digitalWrite(led3, HIGH); delay(tOn); digitalWrite(led4, HIGH); delay(tOn); digitalWrite(led5, HIGH); delay(tOn); digitalWrite(led6, HIGH); delay(tOn); digitalWrite(led7, HIGH); delay(tOn); digitalWrite(led8, HIGH); delay(tOn); digitalWrite(led9, HIGH); delay(tOn); digitalWrite(led10, HIGH); delay(tOn); digitalWrite(led11, HIGH); delay(tOn); digitalWrite(led12, HIGH); delay(tOn); digitalWrite(led13, HIGH); delay(tOn); digitalWrite(led14, HIGH); activeup = 1; //Set system as active up Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); Serial.println("System now active (up)"); delay(del); } //end OnUp void OffUp(){ //switches lights off going up Serial.println("Switching lights off (Up)"); delay(del); //sets LEDs off in turn digitalWrite(led1, LOW); delay(tOff); digitalWrite(led2, LOW); delay(tOff); digitalWrite(led3, LOW); delay(tOff); digitalWrite(led4, LOW); delay(tOff); digitalWrite(led5, LOW); delay(tOff); digitalWrite(led6, LOW); delay(tOff); digitalWrite(led7, LOW); delay(tOff); digitalWrite(led8, LOW); delay(tOff); digitalWrite(led9, LOW); delay(tOff); digitalWrite(led10, LOW); delay(tOff); digitalWrite(led11, LOW); delay(tOff); digitalWrite(led12, LOW); delay(tOff); digitalWrite(led13, LOW); delay(tOff); digitalWrite(led14, LOW); //set system as being off activeup = 0; activedown = 0; Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); Serial.println("System not active"); delay(del); } //End OffUp void OnDown(){ //switches lights on going down Serial.println("Switching lights on (down)"); delay(del); //set LEDs on in turn digitalWrite(led14, HIGH); delay(tOn); digitalWrite(led13, HIGH); delay(tOn); digitalWrite(led12, HIGH); delay(tOn); digitalWrite(led11, HIGH); delay(tOn); digitalWrite(led10, HIGH); delay(tOn); digitalWrite(led9, HIGH); delay(tOn); digitalWrite(led8, HIGH); delay(tOn); digitalWrite(led7, HIGH); delay(tOn); digitalWrite(led6, HIGH); delay(tOn); digitalWrite(led5, HIGH); delay(tOn); digitalWrite(led4, HIGH); delay(tOn); digitalWrite(led3, HIGH); delay(tOn); digitalWrite(led2, HIGH); delay(tOn); digitalWrite(led1, HIGH); activedown = 1; //sets system as active down Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); Serial.println("System now active (down)"); delay(del); } //End OnDown void OffDown(){ //switches lights off going down Serial.println("Switching lights off (down)"); delay(del); //sets LEDs off in turn digitalWrite(led14, LOW); delay(tOff); digitalWrite(led13, LOW); delay(tOff); digitalWrite(led12, LOW); delay(tOff); digitalWrite(led11, LOW); delay(tOff); digitalWrite(led10, LOW); delay(tOff); digitalWrite(led9, LOW); delay(tOff); digitalWrite(led8, LOW); delay(tOff); digitalWrite(led7, LOW); delay(tOff); digitalWrite(led6, LOW); delay(tOff); digitalWrite(led5, LOW); delay(tOff); digitalWrite(led4, LOW); delay(tOff); digitalWrite(led3, LOW); delay(tOff); digitalWrite(led2, LOW); delay(tOff); digitalWrite(led1, LOW); //set system as not active activedown = 0; activeup = 0; Serial.print("active up: "); Serial.println(activeup); Serial.print("active down: "); Serial.println(activedown); delay(del); Serial.println("System not active"); delay(del); }//End OffDown


Pobierz plik - link do postu

//LED pin assignments
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int led8 = 9;
int led9 = 10;
int led10 = 22;
int led11 = 23;
int led12 = 24;
int led13 = 25;
int led14 = 26;

// button pin assignments
int b_up = 11; //button at bottom of stairs
int b_down = 12; //button at top of stairs

//LED delay settings
int tOn = 400; //LED On delay
int tOff = 750; //LED Off delay
int del = 0; //Delay after action (used for debugging - set to 500-1000 to introduce a delay between each action)

//variables
static unsigned activeup = 0; //whether the system is active going upwards
static unsigned activedown = 0; //whether the system is active going downwards

void setup() { //make with the setups

//Set Serial
Serial.begin(9600);
Serial.println( " " );
Serial.println( " Activated " );
delay(del);

//Set LED pins as output
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led14, OUTPUT);


//Set button pins as input
pinMode(b_up, INPUT_PULLUP);
pinMode(b_down, INPUT_PULLUP);

Serial.println( " Pins set " );
delay(del);

//Clear variables
int activedown = 0;
int activeup = 0;

//Print variables to Serial
Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

Serial.println( " Variables set " );
delay(del);

Serial.println( " " );
Serial.println( " Ready " );
}


void loop() { //forever in your loopings

//Set variables based on pin state
int up = digitalRead(b_up);
int down = digitalRead(b_down);

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

if (up == LOW){ //Bottom button pressed

Serial.println( " Bottom button pressed! " );
delay(del);

//Set variables
Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

if (activeup == 1 || activedown == 1){ //checks if system active

//If active
Serial.println( " System active! " );
delay(del);

OffDown(); //function call

} else {

//if not active
Serial.println( " System activated (up) " );
delay(del);

OnUp(); //function call

}


}

if (down == LOW){

Serial.println( " Top button pressed " );
delay(del);

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

if (activeup == 1 || activedown == 1){

Serial.println( " System active! " );
delay(del);

OffUp(); //function call

} else {

Serial.println( " System activated (down) " );
delay(del);

OnDown(); //function call

}

}


}

void OnUp(){ //Switches lights on going up

Serial.println( " Switching on lights (up) " );
delay(del);

//set LEDs on in turn
digitalWrite(led1, HIGH);
delay(tOn);
digitalWrite(led2, HIGH);
delay(tOn);
digitalWrite(led3, HIGH);
delay(tOn);
digitalWrite(led4, HIGH);
delay(tOn);
digitalWrite(led5, HIGH);
delay(tOn);
digitalWrite(led6, HIGH);
delay(tOn);
digitalWrite(led7, HIGH);
delay(tOn);
digitalWrite(led8, HIGH);
delay(tOn);
digitalWrite(led9, HIGH);
delay(tOn);
digitalWrite(led10, HIGH);
delay(tOn);
digitalWrite(led11, HIGH);
delay(tOn);
digitalWrite(led12, HIGH);
delay(tOn);
digitalWrite(led13, HIGH);
delay(tOn);
digitalWrite(led14, HIGH);

activeup = 1; //Set system as active up

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

Serial.println( " System now active (up) " );
delay(del);

} //end OnUp

void OffUp(){ //switches lights off going up

Serial.println( " Switching lights off (Up) " );
delay(del);


//sets LEDs off in turn
digitalWrite(led1, LOW);
delay(tOff);
digitalWrite(led2, LOW);
delay(tOff);
digitalWrite(led3, LOW);
delay(tOff);
digitalWrite(led4, LOW);
delay(tOff);
digitalWrite(led5, LOW);
delay(tOff);
digitalWrite(led6, LOW);
delay(tOff);
digitalWrite(led7, LOW);
delay(tOff);
digitalWrite(led8, LOW);
delay(tOff);
digitalWrite(led9, LOW);
delay(tOff);
digitalWrite(led10, LOW);
delay(tOff);
digitalWrite(led11, LOW);
delay(tOff);
digitalWrite(led12, LOW);
delay(tOff);
digitalWrite(led13, LOW);
delay(tOff);
digitalWrite(led14, LOW);

//set system as being off
activeup = 0;
activedown = 0;

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

Serial.println( " System not active " );
delay(del);

} //End OffUp

void OnDown(){ //switches lights on going down

Serial.println( " Switching lights on (down) " );
delay(del);

//set LEDs on in turn
digitalWrite(led14, HIGH);
delay(tOn);
digitalWrite(led13, HIGH);
delay(tOn);
digitalWrite(led12, HIGH);
delay(tOn);
digitalWrite(led11, HIGH);
delay(tOn);
digitalWrite(led10, HIGH);
delay(tOn);
digitalWrite(led9, HIGH);
delay(tOn);
digitalWrite(led8, HIGH);
delay(tOn);
digitalWrite(led7, HIGH);
delay(tOn);
digitalWrite(led6, HIGH);
delay(tOn);
digitalWrite(led5, HIGH);
delay(tOn);
digitalWrite(led4, HIGH);
delay(tOn);
digitalWrite(led3, HIGH);
delay(tOn);
digitalWrite(led2, HIGH);
delay(tOn);
digitalWrite(led1, HIGH);

activedown = 1; //sets system as active down

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

Serial.println( " System now active (down) " );
delay(del);

} //End OnDown

void OffDown(){ //switches lights off going down

Serial.println( " Switching lights off (down) " );
delay(del);

//sets LEDs off in turn
digitalWrite(led14, LOW);
delay(tOff);
digitalWrite(led13, LOW);
delay(tOff);
digitalWrite(led12, LOW);
delay(tOff);
digitalWrite(led11, LOW);
delay(tOff);
digitalWrite(led10, LOW);
delay(tOff);
digitalWrite(led9, LOW);
delay(tOff);
digitalWrite(led8, LOW);
delay(tOff);
digitalWrite(led7, LOW);
delay(tOff);
digitalWrite(led6, LOW);
delay(tOff);
digitalWrite(led5, LOW);
delay(tOff);
digitalWrite(led4, LOW);
delay(tOff);
digitalWrite(led3, LOW);
delay(tOff);
digitalWrite(led2, LOW);
delay(tOff);
digitalWrite(led1, LOW);

//set system as not active
activedown = 0;
activeup = 0;

Serial.print( " active up: " );
Serial.println(activeup);
Serial.print( " active down: " );
Serial.println(activedown);
delay(del);

Serial.println( " System not active " );
delay(del);



}//End OffDown