This works in real life right, i did not mess something up right?
CODE:
const int led1 = 13;
const int led2 = 12;
const int led3 = 11;
const int led4 = 10;
const int pushbutton1 = 7;
const int pushbutton2 = 6;
const int pushbutton3 = 5;
const int pushbutton4 = 4;
bool pushbuttonValue1 = 0;
bool pushbuttonValue2 = 0;
bool pushbuttonValue3 = 0;
bool pushbuttonValue4 = 0;
int blink1 = 0;
int blink2 = 0;
int blink3 = 0;
int blink4 = 0;
unsigned long pressedTime1 = 0;
unsigned long pressedTime2 = 0;
unsigned long pressedTime3 = 0;
unsigned long pressedTime4 = 0;
int debounce = 100;
int blinkInterval1 = 100;
int blinkInterval2 = 200;
int blinkInterval3 = 300;
int blinkInterval4 = 400;
unsigned long blinkMillis1=0;
unsigned long blinkMillis2=0;
unsigned long blinkMillis3=0;
unsigned long blinkMillis4=0;
int ledState1 =0;
int ledState2 =0;
int ledState3 =0;
int ledState4 =0;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(pushbutton1, INPUT);
pinMode(pushbutton2, INPUT);
pinMode(pushbutton3, INPUT);
pinMode(pushbutton4, INPUT);
}
int ReadButton1(){
pushbuttonValue1 = digitalRead (pushbutton1);
if (pushbuttonValue1 == HIGH &&
millis() - pressedTime1 > debounce) {
if (blink1 == HIGH){
blink1 = LOW;
digitalWrite(led1, LOW);
}
else {blink1 = HIGH;}
pressedTime1= millis();
}
Serial.print("blink1:");
Serial.println(blink1);
return blink1;
}
int ReadButton2(){
pushbuttonValue2 = digitalRead (pushbutton2);
if (pushbuttonValue2 == HIGH &&
millis() - pressedTime2 > debounce) {
if (blink2 == HIGH){
blink2 = LOW;
digitalWrite(led2, LOW);
}
else {blink2 = HIGH;}
pressedTime2= millis();
}
Serial.print("blink2:");
Serial.println(blink2);
return blink2;
}
int ReadButton3(){
pushbuttonValue3 = digitalRead (pushbutton3);
if (pushbuttonValue3 == HIGH &&
millis() - pressedTime3 > debounce) {
if (blink3 == HIGH){
blink3 = LOW;
digitalWrite(led3, LOW);
}
else {blink3 = HIGH;}
pressedTime3= millis();
}
Serial.print("blink3:");
Serial.println(blink3);
return blink3;
}
int ReadButton4(){
pushbuttonValue4 = digitalRead (pushbutton4);
if (pushbuttonValue4 == HIGH &&
millis() - pressedTime4 > debounce) {
if (blink4 == HIGH){
blink4 = LOW;
digitalWrite(led4, LOW);
}
else {blink4 = HIGH;}
pressedTime4= millis();
}
Serial.print("blink4:");
Serial.println(blink4);
return blink4;
}
void BlinkMe(){
if (blink1)
{
if (millis() - blinkMillis1 > blinkInterval1){
if (ledState1 == HIGH) {
ledState1 = LOW;
} else {
ledState1 = HIGH;
}
digitalWrite(led1, ledState1);
blinkMillis1=millis();
}
}
if (blink2)
{
if (millis() - blinkMillis2 > blinkInterval2){
if (ledState2 == HIGH) {
ledState2 = LOW;
} else {
ledState2 = HIGH;
}
digitalWrite(led2, ledState2);
blinkMillis2=millis();
}
}
if (blink3)
{
if (millis() - blinkMillis3 > blinkInterval3){
if (ledState3 == HIGH) {
ledState3 = LOW;
} else {
ledState3 = HIGH;
}
digitalWrite(led3, ledState3);
blinkMillis3=millis();
}
}
if (blink4)
{
if (millis() - blinkMillis4 > blinkInterval4){
if (ledState4 == HIGH) {
ledState4 = LOW;
} else {
ledState4 = HIGH;
}
digitalWrite(led4, ledState4);
blinkMillis4=millis();
}
}
}
void loop() {
if (ReadButton1()) {
BlinkMe();
}
if (ReadButton2()) {
BlinkMe();
}
if (ReadButton3()) {
BlinkMe();
}
if (ReadButton4()) {
BlinkMe();
}
}

