This shows you the differences between two versions of the page.
pm:prj2025:avaduva:adriana.tomescu [2025/05/25 17:08] adriana.tomescu [Rezultate Obţinute] |
pm:prj2025:avaduva:adriana.tomescu [2025/05/26 00:12] (current) adriana.tomescu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 44: | Line 44: | ||
* EEPROM (internă pe Arduino – folosită pentru salvarea încercărilor greșite) | * EEPROM (internă pe Arduino – folosită pentru salvarea încercărilor greșite) | ||
{{:pm:prj2025:avaduva:schema_rfid.png?600|}} | {{:pm:prj2025:avaduva:schema_rfid.png?600|}} | ||
+ | |||
+ | |||
+ | ==== Schema electrică ==== | ||
+ | |||
+ | În imaginea de mai jos este prezentată schema electrică a sistemului de acces cu card RFID și cod PIN: | ||
+ | |||
+ | {{:pm:prj2025:avaduva:schema_electrica_rfid.png?600|}} | ||
+ | > ⚠ Notă: Modulul **RFID RC522** nu este disponibil în Tinkercad, motiv pentru care **nu apare reprezentat în schema electrică de mai sus**. Totuși, el este prezent fizic în implementarea reală și se conectează la Arduino astfel: | ||
+ | > - SDA → D10 | ||
+ | > - SCK → D13 | ||
+ | > - MOSI → D11 | ||
+ | > - MISO → D12 | ||
+ | > - RST → D9 | ||
+ | > - 3.3V și GND pentru alimentare | ||
+ | |||
+ | **Explicația conexiunilor din schemă:** | ||
+ | |||
+ | * **Arduino UNO** (U3) este unitatea de control principală, la care sunt conectate toate componentele externe. | ||
+ | * **Keypad-ul 4x4** (KEYPAD1) este conectat la pinii D0–D3 (rânduri) și A0–A3 (coloane) pentru introducerea codului PIN. | ||
+ | * **LCD-ul 16x2** cu I2C (U4) comunică cu Arduino prin pinii A4 (SDA) și A5 (SCL). Afișează mesaje despre starea sistemului. | ||
+ | * **LED-urile** roșu (D1) și verde (D4) sunt conectate în serie cu rezistențe de 220Ω (R2 și R1), fiind folosite pentru semnalizarea vizuală a accesului respins sau permis. | ||
+ | * **Buzzer-ul** activ este folosit pentru semnalizare sonoră la evenimente precum eroare sau acces validat. | ||
+ | * **Servomotorul** (SERVO1) este conectat la un pin PWM (de exemplu, D6) și controlează deschiderea mecanismului (ex: ușă, seif). | ||
+ | * Alimentarea este realizată prin pinul de 5V și GND al Arduino, iar toate componentele folosesc această sursă comună. | ||
+ | |||
+ | |||
Line 53: | Line 79: | ||
* Librării şi surse 3rd-party utilizate: | * Librării şi surse 3rd-party utilizate: | ||
- `SPI.h`: comunicare SPI între Arduino și modulul RFID MFRC522. | - `SPI.h`: comunicare SPI între Arduino și modulul RFID MFRC522. | ||
- | - `MFRC522.h`: interfațare cu cititorul RFID (13.56 MHz). | + | - `MFRC522.h`: interfațare cu cititorul RFID. |
- `LiquidCrystal_I2C.h`: controlul afișajului LCD 16x2 prin interfață I2C. | - `LiquidCrystal_I2C.h`: controlul afișajului LCD 16x2 prin interfață I2C. | ||
- `Servo.h`: controlul precis al unui servomotor pentru deschiderea ușii. | - `Servo.h`: controlul precis al unui servomotor pentru deschiderea ușii. | ||
Line 83: | Line 109: | ||
Am realizat două videoclipuri demonstrative pentru a evidenția funcționalitatea: | Am realizat două videoclipuri demonstrative pentru a evidenția funcționalitatea: | ||
- | **Video 1 – Testare sistem blocare după 3 coduri greșite:** | + | **Video – Testare completă a sistemului de acces (blocare și deblocare):** |
- | - Se scanează cardul RFID valid. | + | * Se scanează cardul RFID valid. |
- | - Se introduc 3 coduri greșite consecutiv. | + | * Se introduc 3 coduri greșite consecutiv. |
- | - Sistemul afișează mesajul "Sistem blocat" cu numărătoare inversă timp de 60 secunde. | + | * Sistemul afișează mesajul "Sistem blocat" cu numărătoare inversă timp de 60 secunde. |
- | - Nicio altă acțiune nu este permisă în acest interval. | + | * Nicio altă acțiune nu este permisă în acest interval. |
+ | * După trecerea timpului de blocare, se scanează din nou cardul. | ||
+ | * Se introduce codul PIN corect. | ||
+ | * Servomotorul deschide ușa (rotație rapidă), apoi revine în poziție închisă. | ||
+ | * LCD-ul se stinge timp de 1 minut, simulând pauza sistemului. | ||
+ | * După aceea, ecranul revine cu mesajul "Scanati cardul...". | ||
+ | [[https://mega.nz/file/yQNRnZRb#wEGlsV1XL60dNxdye4lahfRPqaDaMEQtRwT8mFzmK6g|Link Video]] | ||
- | |||
- | |||
- | **Video 2 – Autentificare corectă după deblocare:** | ||
- | |||
- | - După trecerea timpului de blocare, se scanează din nou cardul. | ||
- | - Se introduce codul PIN corect. | ||
- | - Servomotorul deschide ușa (rotație rapidă), apoi revine în poziție închisă. | ||
- | - LCD-ul se stinge timp de 1 minut, simulând pauza sistemului. | ||
- | - După aceea, ecranul revine cu mesajul "Scanati cardul...". | ||
- | |||
- | --- | ||
Aceste demonstrații video confirmă că toate funcționalitățile implementate în cod sunt conforme cerințelor: securitate, feedback, acțiune hardware și control prin EEPROM. | Aceste demonstrații video confirmă că toate funcționalitățile implementate în cod sunt conforme cerințelor: securitate, feedback, acțiune hardware și control prin EEPROM. | ||
Line 107: | Line 128: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Proiectul realizat a demonstrat cu succes implementarea unui sistem de securitate electronică bazat pe autentificare în doi pași, combinând citirea unui card RFID și validarea unui cod PIN. Prin integrarea mai multor componente hardware (LCD, servo, LED-uri, buzzer, tastatură, EEPROM) și utilizarea librăriilor externe, am reușit să construim un sistem funcțional, interactiv și sigur. |
- | <note warning> | + | Am învățat cum să: |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | - lucrez cu protocoale de comunicare (SPI, I2C), |
+ | - interacționez cu memoria EEPROM pentru salvarea datelor persistente, | ||
+ | - controlez componente în timp real folosind Arduino, | ||
+ | - gestionez feedback-ul vizual și auditiv pentru interacțiune eficientă cu utilizatorul. | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | Proiectul poate fi îmbunătățit în viitor prin: |
- | </note> | + | - adăugarea unui sistem cu mai mulți utilizatori (UID-uri multiple și coduri diferite), |
+ | - conectivitate wireless (ex: ESP8266 pentru monitorizare de la distanță), | ||
+ | - implementarea unui sistem de logare a accesărilor într-o bază de date externă. | ||
- | ===== Jurnal ===== | + | În concluzie, proiectul este complet funcțional și demonstrează aplicarea practică a noțiunilor de programare embedded, control hardware și securitate de bază. |
+ | |||
+ | ===== Download ===== | ||
- | <note tip> | + | {{:pm:prj2025:avaduva:proiect_tomescu_adriana.zip|}} |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | **Resurse Hardware** |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [https://components101.com/wireless/rc522-rfid-module|RC522 RFID Module – Components101] |
- | </note> | + | * [https://www.electronicwings.com/arduino/arduino-uno-r3-board|Arduino Uno R3 – ElectronicWings] |
+ | * [https://components101.com/motors/servo-motor-basics-pinout-datasheet|SG90 Servo Motor – Components101] | ||
+ | * [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P – Fișa tehnică oficială (Microchip)] | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | **Resurse Software** |
+ | * [https://www.arduino.cc/en/software|Arduino IDE – Editor oficial] | ||
+ | * [https://github.com/miguelbalboa/rfid|MFRC522 library – GitHub oficial] | ||
+ | * [https://playground.arduino.cc/Main/KeypadTutorial/|Keypad.h – Arduino Playground] | ||
+ | * [https://github.com/johnrickman/LiquidCrystal_I2C|LiquidCrystal_I2C library – GitHub] | ||
+ | * [https://www.arduino.cc/en/Reference/EEPROM|Arduino EEPROM – Documentație oficială] | ||