Smart Locker

Introducere

The main objective of this project was to create a smaller version of commercial password based safes in the market. This is a simple project with keypad, servo and lcd interfacing. The basic idea behind the safe lock is to use a keypad to enter a passcode, which is then checked by the Arduino Uno. If the passcode is correct, the Arduino will activate a servo motor to unlock the safe. Additionally, the safe lock can use an LED to indicate the status of the lock, and a 16×2 LCD to display messages and prompts to the user.

Descriere generală

The locker system is a secure and automated storage solution that employs an Arduino Uno R3 microcontroller board along with various components to provide controlled access to a physical compartment.

|  Keypad |Arduino Uno |
|         |            |
+----------------------+
        |
 +-----------+
 |    LCD    |
 +-----------+
        |
 +-----------+
 |   Servo   |
 |   Motor   |
 +-----------+
        |
 +-----------+
 |   Buzzer  |
 +-----------+

At the core of the system is the Arduino Uno R3, which serves as the control center. It receives input from a keypad, allowing users to enter a unique code for authentication. The keypad acts as the primary interface for interaction with the locker system, enabling users to input commands and access their belongings securely.

To provide visual feedback and information, an LCD display is integrated into the system. The LCD display is connected to the Arduino board, presenting prompts, status messages, and instructions to guide users throughout the authentication and access process. It enhances the user experience by providing clear and concise information.

Once the user enters the correct code on the keypad, the Arduino board triggers a servo motor. The servo motor is mechanically connected to the locker mechanism and operates to unlock or lock the door, granting or restricting access to the storage compartment. The servo motor ensures precise control and reliable operation of the locker system.

To offer audio feedback and notifications, a buzzer is integrated into the system. The buzzer produces distinct sounds or tones to indicate successful authentication, access denied events, or other relevant events. This audio feedback enhances user feedback and serves as an additional layer of confirmation during the interaction with the locker system.

By leveraging the capabilities of the Arduino Uno R3 and the various components, this locker system provides a reliable, user-friendly, and secure storage solution. The Arduino board acts as the brain of the system, processing user input, managing the authentication process, controlling the servo motor, LCD display, and buzzer to ensure seamless and controlled access to the locker.

erobertnicu.jpg

Hardware Design

The electrical diagram:

enutarobertpr.jpg proiecthardwareenutarobert.jpg

Components: * All of them were from https://www.optimusdigital.ro/* * Arduino UNO R3 Compatible Development Board (ATmega328p + ATmega16u2) + 50 cm Cable * Servo Motor S3003 * 4×4 Matrix Keypad * 1602 LCD with I2C Interface and Blue Backlight

In this design, the components are connected to the Arduino Uno in the following way:

The keypad is connected to the digital pins of the Arduino Uno for input. The servo motor is connected to one of the PWM pins of the Arduino Uno, as well as to power and ground. The 16×2 LCD is connected to the digital pins of the Arduino Uno for output. The LED is connected to a digital pin of the Arduino Uno, as well as to a resistor and to ground.

Software Design

Initially, I defined the necessary pins, sensors, buzzer, and lcd i2c display for the project. These components are essential for its functionality. In the setup and loop functions of the Arduino code, I implemented the core features of the project.

Throughout the development process, I utilized the Arduino IDE as my primary software environment. It provided a convenient platform for me to write and upload code to the Arduino board.

The key libraries I used in this project were as follows:

Wire.h: I used this library for I2C communication, which is a common protocol for interacting with various devices, such as the OLED display used in this project. It enabled straightforward communication between the Arduino and the display module.

Keypad.h: The Keypad library is utilized for interfacing with the keypad component. It provides functions and methods to easily read the input from the keypad, allowing users to enter their access code. The library handles the scanning of the keypad matrix and provides a convenient interface to retrieve the pressed key.

Servo.h: The Servo library enables control of the servomotor component. It provides functions to set the angle or position of the servo motor, allowing precise control over its movement. By utilizing this library, the Arduino can accurately position the servomotor to lock or unlock the locker door based on the authentication result.

LiquidCrystal_I2C.h: The LiquidCrystal_I2C library is used to interface with the LCD display module through the I2C protocol. It simplifies the process of displaying information on the LCD by providing functions for writing text, setting the cursor position, and controlling the backlight. This library significantly reduces the complexity of communicating with the LCD module over I2C, making it easier to display relevant prompts, messages, and status updates to the users.

Implementation

I have implemented the following functions:

1.setup()

2.displayscreen()

3.keypress()

4.loop()

5.armservo()

6.counterbeep()

The code is uploaded in the download section

Rezultate Obţinute

Results Achieved:

User Authentication: Result: Successful user authentication using the keypad component. Description: The locker system implemented user authentication using the keypad. Users were able to enter their unique access code to authenticate themselves.

Locker Control: Result: Successful control of the locker door using the servo motor component. Description: The servo motor was integrated with the locker system to control the locking and unlocking of the locker door. Users were able to access their belongings by inputting the correct code and triggering the servo motor to open the door.

Visual Feedback: Result: Successful display of prompts, messages, and status updates on the LCD. Description: The LCD display was used to provide visual feedback to users throughout the authentication and access process. Prompts, messages, and status updates were displayed on the LCD, enhancing the user experience and providing clear instructions.

Auditory Feedback: Result: Successful use of the buzzer component for audio feedback. Description: The buzzer was incorporated into the locker system to provide auditory feedback to users. It emitted distinct sounds or tones to indicate successful authentication or access denied events, enhancing the overall user experience.

The combination of the keypad, LCD, servo motor, and buzzer components enabled the successful implementation of a secure and user-friendly locker system. Users could authenticate themselves using the keypad, control the locker door through the servo motor, and receive visual and auditory feedback via the LCD and buzzer, respectively.

Care au fost rezultatele obţinute în urma realizării proiectului vostru. I will put 2 links for Youtube. First is when I finished the code and second one for the final result

1. https://www.youtube.com/shorts/ZFanY7CNdfI 2. https://www.youtube.com/shorts/EimzmvAzRzc

Concluzii

In conclusion, by utilizing the Arduino Uno R3 along with the Keypad, LCD, Servo motor, and Buzzer components, we have successfully created a functional locker system.

The Arduino board acts as the central control unit, processing user input from the keypad and providing feedback through the LCD display and Buzzer. The Keypad allows users to enter their unique code for authentication, while the LCD display provides visual prompts, instructions, and status updates to guide users throughout the interaction with the locker system.

The Servo motor is responsible for physically locking and unlocking the locker door based on the authentication result, ensuring secure access to the stored items.

Additionally, the Buzzer provides audio feedback to indicate successful authentication or access denied events. Together, these components create a reliable, user-friendly, and secure locker system that offers controlled access to the storage compartment. The modular design allows for easy customization and expansion, making it adaptable for various applications and environments.

We can develop more this application by using a wifi module to control the password remote, or using nfc to unlock this like interfons. This application in this state we can use it like a normal safe lock from gym for example or camera hotels.

Download

I have prepared a zip file that contains resources related to the locker system project. The zip file includes:

Arduino Sketch: The complete Arduino code that can be used to program the Arduino Uno R3 microcontroller and control the locker system functionality. This code incorporates the libraries for the Keypad, LCD, Servo, and Buzzer components, enabling the authentication process, controlling the servo motor, and providing feedback through the LCD display and buzzer.

Schematic Diagram: A schematic diagram in PDF format that illustrates the connections between the components (Keypad, LCD, Servo Motor, and Buzzer) and the Arduino Uno R3. This diagram visually represents the wiring and pin connections required for the project.

Demonstration Video: A video demonstrating the functioning locker system. The video showcases the user interaction with the keypad, the display of prompts and messages on the LCD, the movement of the servo motor to lock and unlock the door, and the auditory feedback provided by the buzzer. This video provides a practical demonstration of the locker system in action. There are also 2 links for youtube.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2023/avaduva/locker.txt · Last modified: 2023/05/28 23:59 by robert_nicu.enuta
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0