This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:robert.springer [2026/05/11 12:19] robert.springer [Software Design] |
pm:prj2026:bianca.popa1106:robert.springer [2026/05/18 16:56] (current) robert.springer [Hardware Design] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Smart Access Control System ===== | ====== Smart Access Control System ===== | ||
| - | |||
| ====== Introduction ===== | ====== Introduction ===== | ||
| Line 42: | Line 41: | ||
| | Resistors | 10k (Pulldown), 2.2k (Series) | - | | | Resistors | 10k (Pulldown), 2.2k (Series) | - | | ||
| - | **Block diagram**: | + | **Datasheets:** |
| + | - [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Arduino Nano (ATmega328P)]] | ||
| + | - [[https://www.ti.com/lit/ds/symlink/drv8833.pdf|DRV8833 Dual Bridge]] | ||
| + | - [[https://www.aslongdcmotor.com/photo/aslongdcmotor/document/26549/12MM%20Small%20Dc%20Gear%20Motor_PDF00.pdf|N20 DC Gear Motor]] | ||
| + | - [[https://www.handsontec.com/dataspecs/module/I2C_1602_LCD.pdf|I2C LCD 1602 (0x27)]] | ||
| + | **Block diagram**: | ||
| - | **Wireing diagram**: | + | {{:pm:prj2026:bianca.popa1106:proiect_pm.png?600|}} |
| + | |||
| + | **Wiring diagram**: | ||
| {{:pm:prj2026:bianca.popa1106:ss_proiect.png?600|}} | {{:pm:prj2026:bianca.popa1106:ss_proiect.png?600|}} | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | The firmware is developed using the PlatformIO environment with the Arduino framework. It focuses on non-blocking input detection and real-time feedback. | + | ===Developement enviorement=== |
| + | |||
| + | * **Visual Studio Code** | ||
| + | * **PlatformIO IDE** | ||
| + | * **C++ Language** | ||
| + | * **Arduino framework** | ||
| + | |||
| + | ===Libraries=== | ||
| + | |||
| + | * **<Arduino.h>** | ||
| + | * **<Wire.h>** | ||
| + | * **<LiquidCrystal_I2C.h>** - for the LCD screen | ||
| **Algorithms and Implementation**: | **Algorithms and Implementation**: | ||
| Line 66: | Line 83: | ||
| **Main Functions**: | **Main Functions**: | ||
| - | name ^ description^ | + | ^ name ^ description ^ |
| |rotateMotor() | Triggers the DRV8833 to drive the N20 motor for a set duration| | |rotateMotor() | Triggers the DRV8833 to drive the N20 motor for a set duration| | ||
| |verifyCode() | Compares arrays and triggers the appropriate sound/visual feedback| | |verifyCode() | Compares arrays and triggers the appropriate sound/visual feedback| | ||
| |pressSound() / successSound() / errorSound()| Helper functions for different buzzer frequencies| | |pressSound() / successSound() / errorSound()| Helper functions for different buzzer frequencies| | ||