Differences

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

Link to this comparison view

pm:prj2026:victor.stoica0203:131405 [2026/05/16 15:10]
robert.grigore1806 [Schema electrica]
pm:prj2026:victor.stoica0203:131405 [2026/05/25 01:21] (current)
robert.grigore1806
Line 1: Line 1:
-====== Sistem acces cu parola ======+ ====== Sistem acces cu parola ======
  
 **Nume:** Robert Grigore **Nume:** Robert Grigore
Line 34: Line 34:
  
 ^ Componenta ^ Cantitate ^ Link ^ Pret unitar (RON) ^ ^ Componenta ^ Cantitate ^ Link ^ Pret unitar (RON) ^
-| Arduino UNO compatibil ATmega328P | 1 | [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384| Link]] | 30.93 | +| Arduino UNO compatibil ATmega328P | 1 | [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384|Link]] | 30.93 | 
-| Keypad 4x4 | 1 | [[https://​sigmanortec.ro/​Tastatura-membrana-Keypad-4x4-p136254812| Link]] | ~6.47 | +| Keypad 4x4 | 1 | [[https://​sigmanortec.ro/​Tastatura-membrana-Keypad-4x4-p136254812|Link]] | ~6.47 | 
-| LCD 16x2 | 1 | [[https://​www.bitmi.ro/​electronica/​display-lcd1602-hd44780-albastru-iluminat-10486.html| Link]] | 13.99 | +| LCD 16x2 | 1 | [[https://​www.bitmi.ro/​electronica/​display-lcd1602-hd44780-albastru-iluminat-10486.html|Link]] | 13.99 | 
-| Modul interfata I2C pentru LCD | 1 | [[https://​www.bitmi.ro/​module-electronice/​modul-interfata-i2c-pentru-lcd1602-10456.html| Link]] | 9.99 | +| Modul interfata I2C pentru LCD | 1 | [[https://​www.bitmi.ro/​module-electronice/​modul-interfata-i2c-pentru-lcd1602-10456.html|Link]] | 9.99 | 
-| Servo motor SG90 | 1 | [[https://​www.bitmi.ro/​electronica/​servomotor-sg90-180-grade-9g-10504.html| Link]] | 9.99 | +| Servo motor SG90 | 1 | [[https://​www.bitmi.ro/​electronica/​servomotor-sg90-180-grade-9g-10504.html|Link]] | 9.99 | 
-| Buzzer pasiv KY-006 | 1 | [[https://​www.bitmi.ro/​module-electronice/​modul-buzzer-pasiv-ky-006-10678.html| Link]] | 2.99 | +| Buzzer pasiv KY-006 | 1 | [[https://​www.bitmi.ro/​module-electronice/​modul-buzzer-pasiv-ky-006-10678.html|Link]] | 2.99 | 
-| LED rosu + LED verde | 2 | [[https://​www.bitmi.ro/​electronica/​set-200-led-uri-de-diferite-culori-3-mm-5-mm-bitmi-10508.html| Link]] | ~30.25 | +| LED rosu + LED verde | 2 | [[https://​www.bitmi.ro/​electronica/​set-200-led-uri-de-diferite-culori-3-mm-5-mm-bitmi-10508.html|Link]] | ~30.25 | 
-| Buton switch KY-004 | 1 | [[https://​www.bitmi.ro/​electronica/​modul-buton-switch-ky-004-10672.html| Link]] | 2.99 | +| Buton switch KY-004 | 1 | [[https://​www.bitmi.ro/​electronica/​modul-buton-switch-ky-004-10672.html|Link]] | 2.99 | 
-| Breadboard 830 puncte | 1 | [[https://​www.bitmi.ro/​electronica/​breadboard-830-puncte-mb-102-10500.html| Link]] | 13.99 | +| Breadboard 830 puncte | 1 | [[https://​www.bitmi.ro/​electronica/​breadboard-830-puncte-mb-102-10500.html|Link]] | 13.99 | 
-| Fire Dupont tata-tata | 1 set | [[https://​www.bitmi.ro/​electronica/​40-fire-dupont-tata-tata-30cm-10505.html| Link]] | ~7.99 | +| Fire Dupont tata-tata | 1 set | [[https://​www.bitmi.ro/​electronica/​40-fire-dupont-tata-tata-30cm-10505.html|Link]] | ~7.99 | 
-| Rezistente | 1 set | [[https://​www.bitmi.ro/​electronica/​set-rezistori-20-de-valori-400-bucati-10-10m-1-4w-11255.html| Link]] | 19.99 |+| Rezistente | 1 set | [[https://​www.bitmi.ro/​electronica/​set-rezistori-20-de-valori-400-bucati-10-10m-1-4w-11255.html|Link]] | 19.99 |
 | Cablu USB | 1 | orice cablu USB compatibil | 0.00 | | Cablu USB | 1 | orice cablu USB compatibil | 0.00 |
  
Line 76: Line 76:
  
 ===== Software Design ===== ===== 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 **Mediu de dezvoltare:​** Arduino IDE
  
 **Biblioteci utilizate:​** **Biblioteci utilizate:​**
-  * LiquidCrystal_I2C +  ​* **Wire** - utilizata pentru comunicatia I2C 
-  * Keypad +  * **LiquidCrystal_I2C** - utilizata pentru controlul display-ului LCD 16x2 prin I2C 
-  * Wire +  ​* **Keypad** - utilizata pentru citirea tastaturii matriciale 4x4 
-  * Servo+  * **avr/​io.h** - utilizata pentru acces direct la registrii microcontrollerului 
 +  * **avr/​interrupt.h** - utilizata pentru implementarea intreruperii externe
  
-**Functionalitati ​planificate:** +**Functionalitati ​si tehnici cheie:** 
-  * verificarea parolei introduse + 
-  * afisarea mesajelor pe LCD +  * **Autentificare prin parola:** utilizatorul introduce parola de la keypad, iar sistemul compara codul introdus cu parola salvata in program. 
-  * controlul servo motorului ​prin PWM + 
-  * utilizarea ​intreruperilor pentru resetarea sistemului +  * **Comunicatie I2C:** display-ul ​LCD 16x2 este controlat prin interfata I2C, folosind pinii A4 (SDA) si A5 (SCL). Pe LCD sunt afisate mesaje precum "​Introdu parola",​ "Acces permis",​ "Acces interzis"​ si "​Sistem blocat"​. 
-  * semnalizare ​sonora si vizuala+ 
 +  * **Intreruperi hardware:** butonul conectat pe pinul D2 foloseste intreruperea externa INT0. Configurarea este realizata ​prin registrii DDRD, PORTD, EICRA si EIMSK. La apasarea butonului, sistemul este resetat sau deblocat. 
 + 
 +  * **Control PWM prin registrii:​** servo motorul SG90 este controlat folosind Timer1 al microcontrollerului. Semnalul PWM este configurat prin registrii TCCR1A, TCCR1B, ICR1 si OCR1B, fara utilizarea ​bibliotecii Servo.h. 
 + 
 +  * **Semnalizare vizuala si sonora:** LED-ul RGB indica starea sistemului: verde pentru acces permis, rosu pentru acces interzis ​si albastru pentru sistem blocat sau asteptare. Buzzer-ul ofera feedback sonor la introducerea unei parole gresite sau corecte. 
 + 
 +  * **Mecanism de securitate:​** dupa un numar maxim de incercari gresite, sistemul intra intr-o stare de blocare temporara. Dupa expirarea timpului de blocare sau dupa apasarea butonului de reset, sistemul revine la starea initiala. 
 + 
 +**Laboratoare utilizate:​** 
 + 
 +  * **Laborator 2 - Intreruperi:​** buton extern conectat pe INT0, configurat prin registrii. 
 +  * **Laborator 3 - Timere/​PWM:​** controlul servo motorului folosind Timer1 si registrii PWM. 
 +  * **Laborator 6 - I2C:** comunicatia cu LCD-ul 16x2 prin interfata I2C.
  
 ===== Rezultate Obtinute ===== ===== Rezultate Obtinute =====
  
-TBC+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 4x4 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 ===== ===== Concluzii =====
  
-TBC+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 ===== ===== Download =====
  
-TBC+Arhiva atasata pe OCW va contine codul sursa complet al proiectului si fisierele aferente documentatiei. 
 + 
 +Fisier: 
 +  * {{:​pm:​prj2026:​victor.stoica0203:​Proiect_PM_Grigore_Robert333CA.zip|}}
  
 ===== Jurnal ===== ===== Jurnal =====
Line 110: Line 141:
   * 11.05.2026 - Stabilirea componentelor hardware necesare   * 11.05.2026 - Stabilirea componentelor hardware necesare
   * 12.05.2026 - Comandarea componentelor   * 12.05.2026 - Comandarea componentelor
-  * TBD Implementarea hardware +  * 16.05.2026 ​Realizarea schemei electrice si stabilirea pinout-ului 
-  * TBD - Implementarea ​software +  * 18.05.2026 - Conectarea componentelor principale pe breadboard 
-  * TBD Realizarea schemei electrice +  * 19.05.2026 ​- Implementarea ​citirii parolei de la keypad si afisarea mesajelor pe LCD 
-  * TBD Testarea si integrarea componentelor +  * 20.05.2026 ​Implementarea intreruperii externe pentru butonul de reset 
-  * TBD Finalizarea proiectului ​si documentatiei+  * 21.05.2026 ​Configurarea Timer1 pentru controlul servo motorului prin PWM 
 +  * 22.05.2026 ​Testarea sistemului ​si ajustarea starilor de acces permis/​interzis/​blocat
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
- 
-**Resurse Software** 
-  * Laboratoarele PM 
-  * https://​www.arduino.cc/​ 
-  * https://​docs.arduino.cc/​ 
  
 **Resurse Hardware** **Resurse Hardware**
-  * Datasheet ATmega328P +  * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] 
-  * Datasheet LCD 1602 +  * [[https://​www.handsontec.com/​dataspecs/​module/​I2C_1602_LCD.pdf|Datasheet LCD 1602 I2C]] 
-  * Datasheet ​Servo SG90 +  * [[https://​components101.com/​motors/​servo-motor-basics-pinout-datasheet|Servo motor SG90]] 
- +  * [[https://​playground.arduino.cc/​Code/Keypad/|Keypad Arduino Library]]
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</a></html>+
pm/prj2026/victor.stoica0203/131405.1778933451.txt.gz · Last modified: 2026/05/16 15:10 by robert.grigore1806
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