Nume: Robert Grigore
Grupa: 333CA
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.
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.
| 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 |
|---|
| 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 |
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:
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.
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.
Arhiva atasata pe OCW va contine codul sursa complet al proiectului si fisierele aferente documentatiei.
Fisier:
Resurse Hardware