Differences

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

Link to this comparison view

pm:prj2026:florin.stancu:francesco.martinut [2026/05/06 21:47]
francesco.martinut created
pm:prj2026:florin.stancu:francesco.martinut [2026/05/14 20:23] (current)
francesco.martinut [Hardware Design]
Line 1: Line 1:
-Secure room+====== Secret Door Guard ====== 
 + 
 +===== Introducere ===== 
 + 
 +Acest proiect constă în realizarea unui sistem inteligent de control al accesului pentru o ușă secretă, integrând mecanisme de autentificare,​ automatizare a accesului și gestionare a iluminatului interior. 
 + 
 +  * **Ce face:** Sistemul securizează o intrare folosind o încuietoare acționată de un servomotor. Utilizatorul interacționează cu un tastatură numerică (Keypad 4x4) și un ecran LCD pentru a introduce codul de acces. Odată deblocată ușa, un sistem de iluminat este activat automat și menținut aprins pe baza prezenței detectate de un senzor de distanță. 
 +  * **Scopul lui:** Crearea unui mecanism de securitate autonom care automatizează întregul ciclu de intrare-ieșire:​ validarea identității,​ deschiderea fizică, gestionarea energiei și rearmarea sistemului. 
 +  * **Ideea de la care am pornit:** Conceptul de "Safe Room" sau compartimente ascunse, unde accesul nu este doar restricționat,​ ci și monitorizat inteligent pentru a optimiza resursele (stingerea luminii și închiderea ușii după plecare). 
 +  * **De ce este util:** Proiectul demonstrează integrarea mai multor protocoale de comunicare și periferice (I2C pentru LCD, scanare de matrice pentru Keypad, PWM pentru servo, USART pentru debug) într-un sistem de control în timp real. 
 + 
 +===== Descriere generală ===== 
 + 
 +<note tip> 
 +Sistemul este conceput ca o mașină de stări finită care coordonează trei unități principale pentru a asigura securitatea și automatizarea camerei. 
 +</​note>​ 
 + 
 +Sistemul este compus din trei unități principale:​ 
 +  * **Unitatea de Interfață:​** Keypad 4x4 pentru input și LCD 16x2 pentru feedback vizual. 
 +  * **Unitatea de Execuție:​** Servomotor care acționează zăvorul ușii și un releu/​tranzistor pentru bec. 
 +  * **Unitatea de Monitorizare:​** Senzor ultrasonic (HC-SR04) care măsoară prezența în interiorul camerei. 
 + 
 +{{pm:​prj2026:​florin.stancu:​screenshot_2026-05-09_155758.png?​500 }} 
 + 
 +===== Hardware Design ===== 
 + 
 +Design-ul hardware pune accent pe separarea zonei de interfață (exterioară) de cea de control și monitorizare (interioară). Conexiunile sunt realizate pe baza microcontrolerului ATmega324P. 
 + 
 +**Lista de piese:** 
 + 
 +  * 1 x Microcontroler ATmega2560 
 +  * 1 x Ecran LCD 16x2 
 +  * 1 x Keypad Matriceal 4x4 
 +  * 1 x Servomotor SG90 
 +  * 1 x Senzor de distanță Ultrasonic HC-SR04 
 +  * 1 x Bec conectat via modul Releu 
 +  * Fire de conexiune Dupont, Rezistențe 
 + 
 +{{pm:​prj2026:​florin.stancu:​screenshot_2026-05-14_201844.png?​500 }} 
 +===== Software Design ===== 
 + 
 +Dezvoltarea software este de tip bare-metal, bazată pe o mașină de stări finită (FSM) care dictează comportamentul sistemului. 
 + 
 +**Stări implementate:​** 
 +  * **Starea IDLE:** Sistemul așteaptă introducerea codului. LCD-ul afișează "​Introduceți Cod"​. 
 +  * **Starea VALIDARE:** Se verifică codul introdus. Dacă e corect, se trece la deblocare; dacă nu, se emite un semnal sonor de eroare. 
 +  * **Starea ACCES:** Servomotorul se rotește pentru a deschide ușa. Becul se aprinde automat. 
 +  * **Starea MONITORIZARE:​** Sistemul citește constant datele de la HC-SR04. Atâta timp cât distanța măsurată indică prezența cuiva, becul rămâne aprins. 
 +  * **Starea SCHIMBARE_PIN:​** Această stare este accesibilă doar din interior (sau după validare). Utilizatorul introduce un cod nou, care este salvat în memoria EEPROM pentru a fi păstrat și după restartarea sistemului. 
 +  * **Starea RESET:** La dispariția prezenței, becul se stinge, ușa se încuie și sistemul revine în IDLE. 
 + 
 +**Funcții principale:​** 
 +  * `scan_keypad()`:​ Interoghează matricea de taste pentru a prelua PIN-ul. 
 +  * `lcd_update_display()`:​ Gestionează afișarea mesajelor și mascarea parolei cu (*). 
 +  * `trigger_ultrasonic()`:​ Calculează distanța în cm bazat pe timpul de răspuns al semnalului Echo. 
 +  * `control_door(uint8_t angle)`: Generare semnal PWM pentru poziționarea servomotorului. 
 +  * `eeprom_update_pin(uint8_t *new_pin)`: Salvează noul cod de acces în memoria non-volatilă a microcontrolerului. 
 + 
 +===== Rezultate Obţinute ===== 
 + 
 +<note tip> 
 +Sistemul restricționează accesul fizic în mod eficient. Algoritmul de filtrare a datelor de la senzorul ultrasonic previne închiderile accidentale sau pâlpâirea luminii. 
 +</​note>​ 
 + 
 +===== Concluzii ===== 
 + 
 +Integrarea unui senzor de distanță transformă un simplu încuietor electronic într-un sistem de management al clădirii la scară mică, punând accent pe eficiență energetică și automatizare completă. 
 + 
 +===== Download ===== 
 + 
 +<note warning>​ 
 +link github: 
 +</​note>​ 
 + 
 +===== Jurnal ===== 
 + 
 +===== Bibliografie/​Resurse ===== 
 + 
 +  * **Datasheet ATmega2560** 
 +  * **HC-SR04 Ultrasonic Sensor User Manual** 
 +  * **Standard HD44780 LCD Controller Protocol** 
 +  * **Servo Control Theory (PWM modulation)** 
 +  * **Modul Releu** 
 +  * **KeyPad 4x4 Hx-543** 
 + 
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2026/florin.stancu/francesco.martinut.1778093242.txt.gz · Last modified: 2026/05/06 21:47 by francesco.martinut
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