Yes, I removed the R10 resistor. I would then manually open and close the button (SW1). Since I was not having the LEDs light up as expected I took a voltage reading across D13 & GND and it was 1.8V in the HIGH state. Shouldn't I be expecting something >3V? Or am I off base here?
Here is the code I uploaded...
// constants won't change:
const int LEDpin1K = 2; // 100,000 LED
const int LEDpin2K = 3; // 200,000 LED
const int LEDpin3K = 4; // 300,000 LED
const int LEDpin4K = 5; // 400,000 LED
const int LEDpin5K = 6; // 500,000 LED
const int LEDpin6K = 7; // 600,000 LED
const int LEDpin7K = 8; // 700,000 LED
const int LEDpin8K = 9; // 800,000 LED
const int LEDpin9K = 10; // 900,000 LED
const int NEWgamepin = 12; // pin to reset count at start of new game
const int OVERpin = 13; // score roll-over pin
//Variables will change:
int OVERState; // variable for reading current state of OVERpin
int lastOVERState = HIGH; // variable to store previous state of OVERpin (initialized as HIGH)
int k = 0; // counting variable
int NEWgame = HIGH; //New game reset variable
unsigned long lastDebounceTime = 0; // will store last time LED was updated
const long interval = 500; // interval to wait before updating "k" count (milliseconds)
void setup() {
pinMode(LEDpin1K, OUTPUT); // set LED pins as OUTPUT
pinMode(LEDpin2K, OUTPUT);
pinMode(LEDpin3K, OUTPUT);
pinMode(LEDpin4K, OUTPUT);
pinMode(LEDpin5K, OUTPUT);
pinMode(LEDpin6K, OUTPUT);
pinMode(LEDpin7K, OUTPUT);
pinMode(LEDpin8K, OUTPUT);
pinMode(LEDpin9K, OUTPUT); // set LED pins as OUTPUT
pinMode(NEWgamepin, INPUT_PULLUP); // wire this pin to new game relay on pinball machine
pinMode(OVERpin, INPUT_PULLUP); // wire this pin to switch1 which triggers when score hits multiples of 100,000
}
void loop() {
OVERState = digitalRead(OVERpin); //check the state of OVERpin
unsigned long currentDebounceTime = millis();
if (currentDebounceTime - lastDebounceTime >= interval) {
lastDebounceTime = currentDebounceTime; // save the last time you lit an LED
// compare the OVERState to its previous state
if (OVERState != lastOVERState) {
lastOVERState = OVERState; // save the current state as the last state for next time through the loop
// if the state has changed check if OVERpin is HIGH
if (OVERState == HIGH) {
// if the current state is HIGH then switch1 went from closed to open, increment the counter
k++;
}
}
}
// NEWgame = digitalRead(NEWgamepin); //check state of NEWgamepin
// while (NEWgamepin == HIGH) {
// k = 0; //if NEWgamepin is triggered reset the "k" variable
// delay(5000); //stop reading for a bit to allow pinball machine to cycle through the start-up procedure
// }
// Light the correct LED's to indicate rollover score
if (k >= 10) k = 0; //start lights over after reaching 10x multiples of a million
if (k <= 0) { // No lights on
digitalWrite(LEDpin1K, LOW);
digitalWrite(LEDpin2K, LOW);
digitalWrite(LEDpin3K, LOW);
digitalWrite(LEDpin4K, LOW);
digitalWrite(LEDpin5K, LOW);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 1) { // 100,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, LOW);
digitalWrite(LEDpin3K, LOW);
digitalWrite(LEDpin4K, LOW);
digitalWrite(LEDpin5K, LOW);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 2) { // 200,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, LOW);
digitalWrite(LEDpin4K, LOW);
digitalWrite(LEDpin5K, LOW);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 3) { // 300,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, LOW);
digitalWrite(LEDpin5K, LOW);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 4) { // 400,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, LOW);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 5) { // 500,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, HIGH);
digitalWrite(LEDpin6K, LOW);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 6) { // 600,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, HIGH);
digitalWrite(LEDpin6K, HIGH);
digitalWrite(LEDpin7K, LOW);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 7) { // 700,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, HIGH);
digitalWrite(LEDpin6K, HIGH);
digitalWrite(LEDpin7K, HIGH);
digitalWrite(LEDpin8K, LOW);
digitalWrite(LEDpin9K, LOW);
}
if (k == 8) { // 800,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, HIGH);
digitalWrite(LEDpin6K, HIGH);
digitalWrite(LEDpin7K, HIGH);
digitalWrite(LEDpin8K, HIGH);
digitalWrite(LEDpin9K, LOW);
}
if (k == 9) { // 900,000 light on
digitalWrite(LEDpin1K, HIGH);
digitalWrite(LEDpin2K, HIGH);
digitalWrite(LEDpin3K, HIGH);
digitalWrite(LEDpin4K, HIGH);
digitalWrite(LEDpin5K, HIGH);
digitalWrite(LEDpin6K, HIGH);
digitalWrite(LEDpin7K, HIGH);
digitalWrite(LEDpin8K, HIGH);
digitalWrite(LEDpin9K, HIGH);
}
}
Thanks so much for taking the time to help a noob!
Robb