Table of Contents

Sistem acces cu parola

Nume: Robert Grigore

Grupa: 333CA

Introducere

Ce face proiectul?

Proiectul consta in realizarea unui sistem electronic de acces securizat bazat pe parola. Utilizatorul introduce un cod folosind un keypad 4×4, iar sistemul verifica daca parola este corecta. In cazul validarii, un servo motor simuleaza deschiderea unei usi, iar sistemul ofera feedback vizual si sonor prin LCD, LED-uri si buzzer.

Care este scopul lui?

Scopul proiectului este realizarea unui sistem embedded care combina controlul accesului cu interactiunea in timp real intre utilizator si microcontroller. Proiectul utilizeaza concepte studiate in laboratoare precum intreruperi, PWM si comunicatie I2C pentru controlul componentelor hardware.

Descriere generala

Schema bloc

Descrierea Arhitecturii Sistemului

Proiectul este construit in jurul placii Arduino UNO bazata pe microcontrollerul ATmega328P. Sistemul foloseste un keypad pentru introducerea parolei si un display LCD cu interfata I2C pentru afisarea mesajelor si a starilor sistemului.

Servo motorul SG90 este controlat prin semnale PWM si simuleaza deschiderea unei usi atunci cand parola introdusa este corecta. Buzzer-ul si LED-urile sunt utilizate pentru semnalizarea starilor de acces permis sau acces interzis.

Sistemul include si un buton extern care utilizeaza intreruperi pentru resetarea sau deblocarea sistemului.

Hardware Design

Bill of Materials

Componenta Cantitate Link Pret unitar (RON)
Arduino UNO compatibil ATmega328P 1 Link 30.93
Keypad 4×4 1 Link ~6.47
LCD 16×2 1 Link 13.99
Modul interfata I2C pentru LCD 1 Link 9.99
Servo motor SG90 1 Link 9.99
Buzzer pasiv KY-006 1 Link 2.99
LED rosu + LED verde 2 Link ~30.25
Buton switch KY-004 1 Link 2.99
Breadboard 830 puncte 1 Link 13.99
Fire Dupont tata-tata 1 set Link ~7.99
Rezistente 1 set Link 19.99
Cablu USB 1 orice cablu USB compatibil 0.00
Pret total estimat ~120 RON

Schema electrica

Pinout

Componenta Pin Arduino Tip Pin Utilitate
LCD 16×2 I2C A4 (SDA) Date I2C Transmite datele catre display
LCD 16×2 I2C A5 (SCL) Clock I2C Sincronizeaza comunicatia I2C
Keypad 4×4 R1 3 Digital Rand tastatura
Keypad 4×4 R2 4 Digital Rand tastatura
Keypad 4×4 R3 5 Digital Rand tastatura
Keypad 4×4 R4 6 Digital Rand tastatura
Keypad 4×4 C1 7 Digital Coloana tastatura
Keypad 4×4 C2 8 Digital Coloana tastatura
Keypad 4×4 C3 9 Digital Coloana tastatura
Keypad 4×4 C4 A0 Digital Coloana tastatura
Buton 2 INT0 Intrerupere pentru resetare sistem
Servo SG90 10 PWM Controleaza deschiderea usii
Buzzer 11 Digital Semnalizare sonora
LED RGB (Red) 12 Digital Semnalizare acces interzis
LED RGB (Green) 13 Digital Semnalizare acces permis
LED RGB (Blue) A1 Digital Semnalizare sistem blocat
Linie tensiune 5V Power Alimenteaza componentele
Referinta GND Power Masa comuna a circuitului

Software Design

Codul sursa al proiectului, scris in C++ pentru mediul Arduino IDE, controleaza functionarea completa a sistemului de acces cu parola. Programul citeste parola introdusa de utilizator de la keypad, verifica daca aceasta este corecta si comanda componentele de iesire: LCD-ul, servo motorul, buzzer-ul si LED-ul RGB.

Pentru a respecta cerintele proiectului, o parte din functionalitate este implementata prin lucrul direct cu registrii microcontrollerului ATmega328P. Astfel, proiectul nu se bazeaza doar pe functii Arduino high-level, ci foloseste configurare la nivel coborat pentru intreruperi si PWM.

Mediu de dezvoltare: Arduino IDE

Biblioteci utilizate:

Functionalitati si tehnici cheie:

Laboratoare utilizate:

Rezultate Obtinute

A fost realizat un prototip functional al unui sistem de acces securizat cu parola, bazat pe Arduino UNO si microcontrollerul ATmega328P. Sistemul permite introducerea unei parole de la un keypad 4×4 si verifica daca aceasta este corecta.

In cazul unei parole corecte, servo motorul SG90 se roteste pentru a simula deschiderea unei usi, LED-ul RGB indica accesul permis, iar LCD-ul afiseaza un mesaj corespunzator. In cazul unei parole gresite, sistemul semnalizeaza eroarea prin buzzer si LED RGB.

Dupa mai multe incercari gresite, sistemul intra intr-o stare de blocare temporara. Deblocarea se poate face automat dupa expirarea intervalului de timp sau manual, prin apasarea butonului conectat la intreruperea externa INT0.

Implementarea finala demonstreaza utilizarea combinata a comunicatiei I2C, a intreruperilor hardware si a generarii semnalului PWM prin registrii microcontrollerului.

Concluzii

Realizarea proiectului a demonstrat modul in care un microcontroller ATmega328P poate fi utilizat pentru implementarea unui sistem simplu de control al accesului. Proiectul combina componente hardware usor de gasit cu concepte importante de programare embedded.

O parte importanta a proiectului a fost trecerea de la functii Arduino standard la configurarea directa a registrelor pentru intreruperi si PWM. Acest lucru a oferit un control mai bun asupra microcontrollerului si a evidentiat modul real de functionare al perifericelor interne.

Pe viitor, proiectul poate fi extins prin salvarea parolei in memoria EEPROM, adaugarea unui modul RFID sau integrarea unui modul Bluetooth/Wi-Fi pentru control de la distanta.

Download

Arhiva atasata pe OCW va contine codul sursa complet al proiectului si fisierele aferente documentatiei.

Fisier:

Jurnal

Bibliografie/Resurse

Resurse Hardware