#include <Keypad.h>
#include <ESP32Servo.h>
Servo servo1;
int servoPosition;
//String lockStatus = "locked";
String code;
String pswd = "1596";
String pressedKey;
char keyMap[4][4] = {
{'1','2','3', 'A'},
{'4','5','6', 'B'},
{'7','8','9', 'C'},
{'*','0','#', 'D'}
};
byte rowPins[4] = {14, 27, 26, 25};
byte columnPins[4] = {33, 32, 18, 19};
Keypad keypad = Keypad(makeKeymap(keyMap), rowPins, columnPins, 4, 4 );
void setup(){
Serial.begin(115200);
servo1.attach(17);
}
void loop(){
pressedKey = keypad.getKey();
if (pressedKey) {
code = code + pressedKey;
Serial.println(code);
}
//user unlock
if (code == String("1596A")) {
servo1.write(180);
Serial.println("Unlocked");
code = "";
}
//first method of checking if the variable contains something, in this case #
if (code.indexOf('#') != -1){
Serial.println("Code reset");
code = "";
servo1.write(90);
}
//second method of checking if the variable contains something, in this case *
if (pressedKey == String("*")) {
Serial.println("Code reset");
code = "";
servo1.write(90);
}
//admin unlock
if (code == pswd) {
servo1.write(180);
Serial.println("Unlocked");
code = "";
}
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
keypad1:R1
keypad1:R2
keypad1:R3
keypad1:R4
keypad1:C1
keypad1:C2
keypad1:C3
keypad1:C4
servo1:GND
servo1:V+
servo1:PWM