Great, that makes sense I think, I've made some adjustments to the diagram, the resistors are correct now I think. I've changed the set-up of the 2nd push button to use the pull-up function, is it wired correctly? And will the new code work on the push button...?
int swhPin = 2; // switch pin
int led1 = 12; // Main Large LED
int swh2Pin = 3; // switch pin #2
int blueLed = 13; // green led
int state = LOW; // the current state of the output pin
int state2 = HIGH; // the current state of the output pin
int reading; // the current reading from the input pin
int reading2; // the current reading from the input pin
int previous = HIGH; // the previous reading from the input pin
int previous2 = HIGH; // the previous reading from the input pin
// these declare pins for the 7 segment display.
int topright = 8;
int buttom = 5;
int Top= 9;
int middle = 11;
int btmRight= 6;
int tpLeft = 10;
int btmLeft = 4;
int dot = 7;
// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long debounce = 1000; // the debounce time, increase if the output flickers
void setup()
{
pinMode(swhPin, INPUT);
pinMode(led1, OUTPUT); //LED is an output
pinMode(swh2Pin, INPUT); //switch2 is an input
digitalWrite(swh2Pin, HIGH); // Sets pull up resistor on.
pinMode(blueLed, OUTPUT); //Blue led is a output
pinMode(topright, OUTPUT); // All segments of display are outputs
pinMode(buttom, OUTPUT);
pinMode(Top, OUTPUT);
pinMode(middle, OUTPUT);
pinMode(btmRight, OUTPUT);
pinMode(tpLeft, OUTPUT);
pinMode(btmLeft, OUTPUT);
}
void loop()
{
reading = digitalRead(swhPin); //reading first switch
reading2 = digitalRead(swh2Pin); //reading second switch
// if the input just went from LOW and HIGH and we've waited long enough
// to ignore any noise on the circuit, toggle the output pin and remember
// the time
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH)
state = LOW;
else
state = HIGH;
time = millis();
}
digitalWrite(led1, state); //changing red pin state to on or off
previous = reading;
if (reading2 == LOW && state == HIGH) {
// turn LED on:
digitalWrite(blueLed, HIGH);
delay(100);
state = LOW; //Stes state to low so that switch 2 can't be used until switch one is pressed again.
digitalWrite(led1 , LOW); //turns off large LED light;
// start seven segment
digitalWrite(Top , HIGH); // says 3
digitalWrite(topright , HIGH);
digitalWrite(middle , HIGH);
digitalWrite(btmRight , HIGH);
digitalWrite(buttom , HIGH);
delay(1000); // pauses for 1 second
digitalWrite(btmRight , LOW); // says 2
digitalWrite(btmLeft , HIGH);
delay(1000);
digitalWrite(Top , LOW); // says 2
digitalWrite(middle , LOW);
digitalWrite(btmLeft , LOW);
digitalWrite(buttom , LOW);
digitalWrite(btmRight , HIGH);
delay(1000);
digitalWrite(topright , LOW);
digitalWrite(btmRight , LOW);
delay(1300); // space between every count down.
// start seven segment
digitalWrite(Top , HIGH); // says 3
digitalWrite(topright , HIGH);
digitalWrite(middle , HIGH);
digitalWrite(btmRight , HIGH);
digitalWrite(buttom , HIGH);
delay(1000); // pauses for 1 second
digitalWrite(btmRight , LOW); // says 2
digitalWrite(btmLeft , HIGH);
delay(1000);
digitalWrite(Top , LOW); // says 2
digitalWrite(middle , LOW);
digitalWrite(btmLeft , LOW);
digitalWrite(buttom , LOW);
digitalWrite(btmRight , HIGH);
delay(1000);
digitalWrite(topright , LOW);
digitalWrite(btmRight , LOW);
delay(1300); // space between every count down.
// start seven segment
digitalWrite(Top , HIGH); // says 3
digitalWrite(topright , HIGH);
digitalWrite(middle , HIGH);
digitalWrite(btmRight , HIGH);
digitalWrite(buttom , HIGH);
delay(1000); // pauses for 1 second
digitalWrite(btmRight , LOW); // says 2
digitalWrite(btmLeft , HIGH);
delay(1000);
digitalWrite(Top , LOW); // says 2
digitalWrite(middle , LOW);
digitalWrite(btmLeft , LOW);
digitalWrite(buttom , LOW);
digitalWrite(btmRight , HIGH);
delay(1000);
digitalWrite(topright , LOW);
digitalWrite(btmRight , LOW);
delay(1300); // space between every count down.
// start seven segment
digitalWrite(Top , HIGH); // says 3
digitalWrite(topright , HIGH);
digitalWrite(middle , HIGH);
digitalWrite(btmRight , HIGH);
digitalWrite(buttom , HIGH);
delay(1000); // pauses for 1 second
digitalWrite(btmRight , LOW); // says 2
digitalWrite(btmLeft , HIGH);
delay(1000);
digitalWrite(Top , LOW); // says 2
digitalWrite(middle , LOW);
digitalWrite(btmLeft , LOW);
digitalWrite(buttom , LOW);
digitalWrite(btmRight , HIGH);
delay(1000);
digitalWrite(topright , LOW);
digitalWrite(btmRight , LOW);
}
else {
// keeps led from turning on:
digitalWrite(blueLed, LOW);
}
}