#include <LiquidCrystal.h>
#include <Keypad.h>
//setting up LCD
const int rs =10, en = 9, d4 = 8, d5 = 7, d6 = 6, d7 = 5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int cursorColumn = 0;
//setting up keypad
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {4, 3, 2, 1};
byte colPins[COLS] = {A5, A4, A3, A2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
//setting up RGB LED
int redLight = 13;
int greenLight = 12;
int blueLight = 11;8888
//setting up code
String passcode = "0000";
String codeEntered = "";
void setup() {
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Enter your code:");
pinMode(redLight, OUTPUT);
pinMode(greenLight, OUTPUT);
pinMode(blueLight, OUTPUT);
}
void loop() {
char codeIn = keypad.getKey();
if (codeIn){
if(codeIn == '#'){
if(codeEntered == passcode){
digitalWrite(greenLight, LOW);
digitalWrite(redLight, HIGH);
digitalWrite(blueLight, HIGH);
delay(2000);
digitalWrite(greenLight, LOW);
digitalWrite(redLight, LOW);
digitalWrite(blueLight, LOW);
}else{
digitalWrite(redLight, LOW);
digitalWrite(greenLight, HIGH);
digitalWrite(blueLight, HIGH);
delay(2000);
digitalWrite(greenLight, LOW);
digitalWrite(redLight, LOW);
digitalWrite(blueLight, LOW);
}
lcd.clear();
lcd.print("Enter your code:");
codeEntered = "";
cursorColumn = 0;
}else{
cursorColumn ++;
codeEntered += codeIn;
lcd.setCursor(cursorColumn,1);
lcd.print("*");
}
}
}