#include <Keypad.h>
#include <Servo.h>

const uint8_t LEDS = 12;
#include <LiquidCrystal.h>

#define codeLength 5
Servo myservo;
char Code[codeLength];
char PassW[codeLength] = "1234";
byte keycount = 0;

const uint8_t ROWS = 4;
const uint8_t COLS = 4;

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
    {'4','5','6','B'},
      {'7','8','9','C'},
        {'*','0','#','D'}
        };

        LiquidCrystal lcd(13,12,9,8,7,6);
        uint8_t rowPins[ROWS] = { 26, 22, 21, 20 }; 
        uint8_t colPins[COLS] = { 19, 18, 17, 16 }; 

        Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

        void setup() 
        {
          lcd.begin(16,2);
            lcd.print("Enter a Key:-");
              myservo.attach(28);
              }

              void loop()
              {
                int pos;
                  char customKey = customKeypad.getKey();
                    if(customKey)
                      {
                      	 Code[keycount] = customKey;
                         	 Serial.print(Code[keycount]);
                                lcd.setCursor(5,1);
                                     lcd.print(Code[keycount]);
                                     	 keycount++;
                                           
                                             }
                                               if(keycount==codeLength-1)
                                                 {
                                                     Serial.println("");
                                                         if(!strcmp(Code,PassW))
                                                             {
                                                                   Serial.println("Correct Password");
                                                                         lcd.clear();
                                                                               lcd.setCursor(0,1);
                                                                                     lcd.print("Correct Password");
                                                                                           for(pos = 90; pos<=180;pos++)
                                                                                                 {
                                                                                                         myservo.write(pos);
                                                                                                                 delay(40);
                                                                                                                       }
                                                                                                                             delay(1000);
                                                                                                                                   for(pos = 180; pos>=90;pos--)
                                                                                                                                         {
                                                                                                                                                 myservo.write(pos);
                                                                                                                                                         delay(40);
                                                                                                                                                               }
                                                                                                                                                                   }
                                                                                                                                                                        else
                                                                                                                                                                          {
                                                                                                                                                                              Serial.println("Incorrect Password");
                                                                                                                                                                                  delay(1000);
                                                                                                                                                                                    }
                                                                                                                                                                                      deletecount();
                                                                                                                                                                                        }
                                                                                                                                                                                        }

                                                                                                                                                                                        void deletecount()
                                                                                                                                                                                        {
                                                                                                                                                                                          while(keycount!=0)
                                                                                                                                                                                            {
                                                                                                                                                                                                Code[keycount--]=0;
                                                                                                                                                                                                  }
                                                                                                                                                                                                    return;
                                                                                                                                                                                                    }
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT