How to make Password based Circuit Breaker


 

                    CODE 

#include <Keypad.h>


String readString ;

bool ledon=0;

const String pass= "1245";

const int ledPin = 12;

#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27,16,2);  


const byte ROWS = 4; //four rows

const byte COLS = 4; //three columns

char keys[ROWS][COLS] = {

  {'1','2','3','A'},

  {'4','5','6','B' },

  {'7','8','9','C'},

  {'*','0','#','D'}

};

byte rowPins[ROWS] = {11, 10, 9, 8}; //connect to the row pinouts of the keypad

byte colPins[COLS] = {7, 6, 5, 4}; //connect to the column pinouts of the keypad

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


void setup() {

  Serial.begin(9600);

  lcd.begin(16, 2);                      

  lcd.backlight();

  pinMode(ledPin, OUTPUT);

  digitalWrite(ledPin, HIGH);

  lcd.begin(16, 2); // set up the LCD's number of columns and rows:

  lcd.setCursor(0, 0);

  lcd.print("PASSWORD BASED");

  lcd.setCursor(0, 1);

  lcd.print("CIRCUIT BREAKER");

  delay(2500);

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("HR ROBOTICS");

  lcd.setCursor(0, 1);

  lcd.print("");

  delay(2500);

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("SUBSCRIBE");

  lcd.setCursor(0, 1);

  lcd.print("");

  delay(1500);

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("Starting.....");

  delay(2000);

  lcd.clear();

  

}


void loop() {

  lcd.setCursor(0, 0);

  lcd.print("Pass (");

  if(!ledon)

  {

    lcd.print("to on):");

  }

  else

  {

    lcd.print("to off):");

  }

  char key = keypad.getKey();

  lcd.setCursor(0, 1);

  if (key != NO_KEY){

    if(key=='B')

    {

      readString="";

      lcd.clear();

    }

    else if(key=='A')

    {

      if(readString == pass)

      {

        if(ledon==1)

        {

          lcd.clear();

          lcd.setCursor(0, 1);

          lcd.print("ALREADY ON");

          readString="";

          delay(1000);

          lcd.clear();

        }

        else

        {

          lcd.clear();

          lcd.setCursor(0, 1);

          lcd.print("LIGHT ON");

          digitalWrite(ledPin, LOW);

          readString="";

          ledon=1;

          delay(1000);

          lcd.clear();

        }

      }

      else

      {

        lcd.clear();

        lcd.setCursor(0, 1);

        lcd.print("WRONG PASSWORD");

        delay(1000);

        lcd.clear();

        readString="";

      }

    }

    else if(key=='C')

    {

        if(readString == pass)

        {

          if(ledon==0)

          {

            lcd.clear();

            lcd.setCursor(0, 1);

            lcd.print("ALREADY OFF");

            readString="";

            delay(1000);

            lcd.clear();

          }

          else

          {

            lcd.clear();

            lcd.setCursor(0, 1);

            lcd.print("LIGHT OFF");

            digitalWrite(ledPin, HIGH);

            readString="";

            ledon=0;

            delay(1000);

            lcd.clear();

          }

        }

      else

      {

        lcd.clear();

        lcd.setCursor(0, 1);

        lcd.print("WRONG PASSWORD");

        delay(1000);

        lcd.clear();

        readString="";

      }

    }

    else

    {

      char c =  key;

      readString += c;

      

     // Serial.println(key);

     // lcd.println(key);

      Serial.println(readString);

      lcd.print(readString);

    }

  }

}

Post a Comment

Previous Post Next Post

Contact Form