I'm writing a bit of code for my Intro to Engineering class, and I can't seem to get the "blink" function to work. Looking at the code, I believe it's a problem with the "Number" integer not changing.
When the code is ran: The LEDs, 1-8, lights up sequentially, like a status bar. But, it just keeps repeating this process, even though it should blink instead.
/*
The idea of this is to make a row of LEDs light up like a status bar, one at a time sequentially, and once all of them are lit, wait a second then turn them off. After a number of cycles, flash the LEDs then do nothing.
*/
// declaring all global variables
void stat() { // lights LEDs 1-8 up one at a time, then turns them all off at the same time
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(8, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
}
void blink() { // blinks LEDs 1-8 on for 250ms, then off.
digitalWrite(8, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(250);
digitalWrite(8, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
int Number; // declaring the Number int, used to deterine how many times the LEDs have flashed.
void setup() {
// initializing pins as outputs
pinMode(8, OUTPUT); // LED 1
pinMode(1, OUTPUT); // LED 2
pinMode(2, OUTPUT); // LED 3
pinMode(3, OUTPUT); // LED 4
pinMode(4, OUTPUT); // LED 5
pinMode(5, OUTPUT); // LED 6
pinMode(6, OUTPUT); // LED 7
pinMode(7, OUTPUT); // LED 8
}
// loops to check if number > 1, if so it runs "blink", else runs "stat" and adds 1 to int Number
void loop() {
if (Number > 1) // checks if Number > 1
{
blink(); // runs "blink"
}
else {
stat(); // runs "stat"
int Number = Number + 1; // adds one to int number, I think?
}
}