Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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|
  
pm/prj2026/bianca.popa1106/robert.springer.1778491182.txt.gz · Last modified: 2026/05/11 12:19 by robert.springer
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