My reasoning behind creating "two" keypad was so I could have two different Keypad Listeners. I was having issues before that when I went into program mode my keypad would do the code that was in my entry mode. Looking at it now, and with the little bit of experience I now have, this could probably be done with one keypad listener.
// Create "two" new keypads, one is a entry pad and the other is a programming pad.
Keypad entryPad( makeKeymap(PadKeys), rowPins, colPins, sizeof(rowPins), sizeof(colPins) );
Keypad setPad( makeKeymap(PadKeys), rowPins, colPins, sizeof(rowPins), sizeof(colPins) );
But, you only have one piece of hardware. Why are there two instances that refer to the same hardware?
The LEDs are just named whatever, I guess they could be BlueLED, GreenLED and RedLED. I had just started coding and then as I got more into it, I added more and more LEDs.
Three LEDs - nothing, 1, and 2. I don't get it.
Same with the passwords as the LEDs.
Two passwords - nothing and 2. I don't get it.
These technically are not the same thing; Password2 is an Array and password2 is a password. If I were to have gone: char password2[5]; I would have got an error since password2 has already been defined as a password.
Variable names that differ only in case are a really bad idea.