This shows you the differences between two versions of the page.
pm:prj2025:iivasciuc:131375 [2025/05/21 17:46] mircea_ovidiu.dodi [General Description] |
pm:prj2025:iivasciuc:131375 [2025/05/30 10:45] (current) mircea_ovidiu.dodi [Arduino Pinout:] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Smart Locker ====== | ====== Smart Locker ====== | ||
- | ! Version: 11.05 - 1st assigment version. Work was started on the other milestones as well but it is yet unfinished ! | + | |
+ | Release notes: | ||
+ | |||
+ | Version: 11.05 - 1st assigment version. Work was started on the other milestones as well but it is yet unfinished | ||
Done: general details, hardware implementation and most of the software implementation. | Done: general details, hardware implementation and most of the software implementation. | ||
- | ! Version 21.05 - 2nd milestone - full functionality achieved. ! | + | Version 21.05 - 2nd milestone - full functionality achieved. |
===== Introduction ===== | ===== Introduction ===== | ||
Smart Locker is a solution for securing valuable items coming in the form of a lockable safe. | Smart Locker is a solution for securing valuable items coming in the form of a lockable safe. | ||
Line 26: | Line 29: | ||
To implement the project in a physical format, a servo motor is used which performs the opening/closing of the door. To actuate the servo motor, and thus open the door, a keypad is added, through which the user can enter the correct password, as well as an RFID card communication module, where, using the correct card, the door can be opened. | To implement the project in a physical format, a servo motor is used which performs the opening/closing of the door. To actuate the servo motor, and thus open the door, a keypad is added, through which the user can enter the correct password, as well as an RFID card communication module, where, using the correct card, the door can be opened. | ||
- | The locking mechanism rests against a weight sensor - if the door is forced (i.e high weight reading), the buzzer is triggered. | + | The locking mechanism rests against a weight sensor - if the door is forced (i.e high weight reading), the buzzer is triggered. This functionality was later abandoned, since the two load cells used were either too hard to trigger (50kg, 3 wires) or had no pins remaining to be wired to the Arduino board (10kg, 4 wires). Right now, the 50kg is present but not connected, it only is used as part of the locking mechanism. |
The alarm system is activated if the door is forced or 3 incorrect passwords have been entered consecutively 3 times, with the user having three attempts to open the door. Once the alarm system is activated, a buzzer will emit a loud audible signal, which can only be stopped by using the correct RFID card. | The alarm system is activated if the door is forced or 3 incorrect passwords have been entered consecutively 3 times, with the user having three attempts to open the door. Once the alarm system is activated, a buzzer will emit a loud audible signal, which can only be stopped by using the correct RFID card. | ||
Line 57: | Line 60: | ||
* Active buzzer | * Active buzzer | ||
* PIR sensor HW-201 | * PIR sensor HW-201 | ||
- | * Load Cell | + | * 10kg Load Cell |
</note> | </note> | ||
Line 89: | Line 92: | ||
* SCL: A5 (Fixed for I2C) | * SCL: A5 (Fixed for I2C) | ||
- | Power Connections | + | Power Connections: |
VCC (5V) | VCC (5V) | ||
* LCD Display | * LCD Display | ||
- | * RFID Module | ||
* Servo Motor | * Servo Motor | ||
* Load Cell | * Load Cell | ||
* Keypad | * Keypad | ||
+ | |||
+ | VCC (3.3V) | ||
+ | * RFID Module | ||
GND | GND | ||
Line 107: | Line 113: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | State Machine: The core logic is driven by the currentState variable, which can be one of the following: | + | [[https://github.com/MirceaOvidiu/SmartLocker|Code available here]] |
+ | |||
+ | Finite State Machine: The core logic is driven by the currentState variable, which can be one of the following: | ||
* STATE_IDLE: The default state, waiting for PIN input or RFID card. | * STATE_IDLE: The default state, waiting for PIN input or RFID card. | ||
Line 142: | Line 150: | ||
<note tip> | <note tip> | ||
- | The intended functionality was achieved - a demo can be found on the following [[https://www.youtube.com/watch?v=Mho3pYF5UIk&ab_channel=MirceaOvidiu|YouTube]] link or embedded in the [[https://github.com/MirceaOvidiu/SmartLocker|GitHub]] page. | + | The intended functionality was achieved (except the load cell feature) - a demo can be found on the following [[https://www.youtube.com/watch?v=Mho3pYF5UIk&ab_channel=MirceaOvidiu|YouTube]] link or embedded in the [[https://github.com/MirceaOvidiu/SmartLocker|GitHub]] page. |
</note> | </note> | ||
Line 178: | Line 186: | ||
{{:pm:prj2025:iivasciuc:smartlockerfinal.jpg?nolink&300|}} | {{:pm:prj2025:iivasciuc:smartlockerfinal.jpg?nolink&300|}} | ||
- | ===== Bibliografie/Resurse ===== | + | ===== Bibliography ===== |
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
+ | Resources used: | ||
+ | |||
+ | [[https://www.instructables.com/Arduino-Wiring-and-Programming-of-RFID-Sensor/| RFID guide]] | ||
+ | |||
+ | [[https://docs.arduino.cc/tutorials/generic/basic-servo-control/| Servo Motor guide]] | ||
+ | |||
+ | [[https://arduinogetstarted.com/tutorials/arduino-keypad| Keypad configuring]] | ||
+ | |||
+ | [[https://randomnerdtutorials.com/arduino-load-cell-hx711/| Load cell and HX711 module tutorial]] | ||
+ | |||
+ | [[https://arduinogetstarted.com/tutorials/arduino-lcd-i2c| I2C display configuration]] | ||
+ | |||
</note> | </note> | ||