Security is important everywhere in world and is more hard in secret places.
This project for Digital Code Lock Circuit using Arduino help make better security.
It use Arduino, small computer to make simple lock.
With Arduino UNO, keypad, buzzer, LCD (16×2), BC547 transistor and resistors it show how digital code lock work.
User must type correct code to unlock device.
If code is right then buzzer makes sound.
If code is wrong then no buzzer will sound and LCD will show error.
This project help only right person uses the password.
Coding:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize LCD pins
const int keypadRows = 4; // Number of keypad rows
const int keypadCols = 4; // Number of keypad columns
const int keypadPins[keypadRows][keypadCols] = {
{8, 7, 6, 5}, // Connect keypad rows to Arduino pins
{10, 9, A0, A1},
{A2, A3, A4, A5},
{A6, A7, A8, A9}
};
const int buzzerPin = 13; // Pin connected to the buzzer
const int correctCode[] = {1, 2, 3, 4}; // Replace with your desired code
void setup() {
lcd.begin(16, 2); // Initialize LCD display
pinMode(buzzerPin, OUTPUT); // Set buzzer pin as output
}
void loop() {
char key = getKey(); // Get pressed key from keypad
if (key != NO_KEY) { // If a key is pressed
lcd.setCursor(0, 0); // Set cursor position
lcd.print(key); // Print pressed key on LCD
}
if (key == '#') { // If '#' is pressed, check the entered code
if (checkCode()) {
lcd.setCursor(0, 1);
lcd.print("Access granted");
digitalWrite(buzzerPin, HIGH); // Sound the buzzer
delay(1000); // Delay for 1 second
digitalWrite(buzzerPin, LOW);
} else {
lcd.setCursor(0, 1);
lcd.print("Access denied");
}
}
}
char getKey() {
for (int r = 0; r < keypadRows; r++) {
for (int c = 0; c < keypadCols; c++) {
pinMode(keypadPins[r][c], OUTPUT);
digitalWrite(keypadPins[r][c], LOW);
for (int i = 0; i < keypadCols; i++) {
pinMode(keypadPins[r][i], INPUT);
if (digitalRead(keypadPins[r][i]) == HIGH) {
while (digitalRead(keypadPins[r][i]) == HIGH);
return keypadMap[r][c];
}
}
pinMode(keypadPins[r][c], INPUT);
}
}
return NO_KEY;
}
bool checkCode() {
int i = 0;
while (i < sizeof(correctCode) / sizeof(int)) {
char key = getKey();
if (key != correctCode[i]) {
return false;
}
i++;
}
return true;
}
Circuit Working:
Parts List:
Component | Quantity |
---|---|
Resistors | |
1k 1/4 watt | 1 |
Potentiometer 10k | 1 |
Semiconductors | |
Arduino UNO board | 1 |
Keypad module (4×4 or 3×4) | 1 |
Buzzer 5V | 1 |
IC 7809 | 1 |
16×2 LCD display | 1 |
BC547 Transistor | 1 |
This project is simple and it uses IC 7809, LCD, buzzer, keypad and Arduino.
IC 7809 gives steady 9V power.
It give power to all parts like Arduino, keypad, buzzer, LCD and transistor.
Lock work is good because IC 7809 give stable power.
Arduino control everything and take code from keypad check it, runs the buzzer and show message on LCD.
User type password using keypad.
Arduino read keypad which store code.
Then it check if code is correct.
If code is right then the buzzer sound and LCD say “Access granted.”
If code is wrong then LCD show “Access denied.”
LCD show messages but buzzer gives sound signal.
BC547 transistor is used to power buzzer and 1k resistor is used to control current at transistor base.
How to Build:
To build a Digital Code Lock Circuit using Arduino following are the connections steps:
- First collect all parts like shown in circuit diagram.
- Connect IC 7809 to give 9V DC power to Arduino.
Take 10k pot:
- Connect 1st pin to LCD VCC
- Connect 2nd pin to LCD contrast pin
- Connect 3rd pin to LCD GND
- Connect LCD backlight cathode to Arduino GND.
- Connect LCD backlight anode to Arduino 5V.
Connect BC547 transistor:
- Collector goes to one leg of buzzer
- Base goes to Arduino pin 13 with 1k resistor
- Emitter goes to GND
Buzzer connection:
- One leg goes to BC547 collector
- Other leg goes to 5V VCC.
Keypad Pinout and Arduino Connections:
- Rows: labeled as R1, R2, R3 and R4 and in diagram it is labeled as 1,2,3,4)
- Columns: labeled C1, C2, C3 and C4 and in diagram it is labeled as 1,2,3,4)
Keypad Pin | Arduino Pin |
---|---|
R1 | 8 |
R2 | 7 |
R3 | 6 |
R4 | 5 |
C1 | 10 |
C2 | 9 |
C3 | A0 |
C4 | A1 |
The LCD connections to the Arduino board:
LCD Pin | Arduino Pin |
---|---|
RS | 12 |
RW | 11 |
EN | 5 |
D4 | 4 |
D5 | 3 |
D6 | 2 |
Conclusion:
This project for Digital Code Lock Circuit using Arduino and other parts to show simple code lock system.
We can make it better by adding more things like many user codes, check if password is strong and save who access it in real time