This shows you the differences between two versions of the page.
|
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> | ||