Differences

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

Link to this comparison view

pm:prj2025:atoader:elisa.diaconita [2025/05/28 01:58]
elisa.diaconita [Software Design]
pm:prj2025:atoader:elisa.diaconita [2025/05/28 02:15] (current)
elisa.diaconita [Bibliografie/Resurse]
Line 69: Line 69:
   * Afișare mesaje LCD: sistemul oferă feedback vizual pe LCD (e.g. „Access Granted”, „Incorrect Pass”, „Scan Card or Enter Password”).   * Afișare mesaje LCD: sistemul oferă feedback vizual pe LCD (e.g. „Access Granted”, „Incorrect Pass”, „Scan Card or Enter Password”).
  
-===== Rezultate Obţinute =====+setup() 
 +Inițializare componente hardware și comunicații 
 +Configurare LCD pentru afișaj 
 +Setare poziție servo inițială (ușă închisă) 
 +<​code>​ 
 +void setup() { 
 +  Serial.begin(9600);​ 
 +  SPI.begin();​ 
 +  rfid.PCD_Init();​
  
-<note tip> +  doorServo.attach(9); ​     
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+  ​doorServo.write(0); ​   ​
-</​note>​+
  
-===== Concluzii =====+  lcd.begin(16,​ 2); 
 +  lcd.backlight();​ 
 +  lcd.setCursor(0,​ 0); 
 +  lcd.print("​Door Lock System"​);​
  
-===== Download =====+  delay(2000); ​              
 +  lcd.clear();​ 
 +  lcd.print("​Scan Card or"​);​ 
 +  lcd.setCursor(0,​ 1); 
 +  lcd.print("​Enter Password"​);​ 
 +
 +</​code>​
  
-<note warning+loop() 
-O arhivă ​(sau mai multe dacă este cazulcu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şcopiere automată pe uC crează întotdeauna o impresie bună ;-).+Citire date de la RFID 
 +Verificare UID 
 +Citire taste de la keypad și verificare parolă 
 +<code
 +void loop() 
 +  if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) { 
 +    String uid = "";​ 
 +    for (byte = 0i < rfid.uid.size;​ i++
 +      uid += String(rfid.uid.uidByte[i],​ HEX); 
 +    } 
 +    uid.toUpperCase();​ 
 +    Serial.print("​Card UID: "); 
 +    Serial.println(uid);​
  
-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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**+    if (uid == correctUID) { 
-</note>+      openDoor();​ 
 +    } else { 
 +      lcd.clear()
 +      lcd.print("​Access Denied!"​);​ 
 +      delay(2000);​ 
 +      lcd.clear();​ 
 +      lcd.print("​Scan Card or"​);​ 
 +      lcd.setCursor(01); 
 +      lcd.print("​Enter Password"​);​ 
 +    } 
 +    rfid.PICC_HaltA();​ 
 +  } 
 +</code>
  
-===== Jurnal ​=====+Funcția openDoor() 
 +Deschide ușa dacă accesul este permis 
 +După 2 secunde închide ușa 
 +Reafișează ecranul de start 
 +<​code>​ 
 +void openDoor() { 
 +  lcd.clear();​ 
 +  lcd.print("​Access Granted!"​);​ 
 +  doorServo.write(90); ​     
 +  delay(2000); ​          
 +  doorServo.write(0); ​         
 +  lcd.clear();​ 
 +  lcd.print("​Door Locked"​);​ 
 +  delay(1000);​ 
 +  lcd.clear();​ 
 +  lcd.print("​Scan Card or"​);​ 
 +  lcd.setCursor(0,​ 1); 
 +  lcd.print("​Enter Password"​);​ 
 +
 +  
 +</​code>​ 
 +===== Rezultate obținute ​=====
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal ​în care să poată urmări asistentul ​de proiect progresul proiectului.+  * Sistemul permite autentificarea atât prin card RFID, cât și prin cod PIN introdus de la tastatură. 
 +  * LCD-ul 16x2 cu interfață I2C afișează corect mesajele ​de status pentru utilizator (ex: „Access Granted”, „Incorrect Password” etc.). 
 +  * Servomotorul reacționează rapid la autentificarea validă, simulând deschiderea unei uși. 
 +  * Sistemul revine automat ​în starea inițială după fiecare acces. 
 +  * Timpul de răspuns este mic (sub 1 secundă) pentru ambele metode de autentificare. 
 +  * Sistemul este funcțional și poate fi folosit ca prototip pentru aplicații ​de control acces reale.
 </​note>​ </​note>​
 +===== Concluzii =====
  
-===== Bibliografie/​Resurse ​=====+Mi-a placut acest proiect pentru că a fost pentru prima dată când am avut ocazia să implementez un proiect în Arduino. Pe parcursul dezvoltării proiectului:​ 
 +  * am folosit protocoale de comunicație precum SPI (pentru RFID) și I2C (pentru LCD), 
 +  * am folosit tehnici de citire și validare a datelor de intrare (UID RFID, cod tastatură),​ 
 +  * am exersat generarea semnalelor PWM pentru controlul servomotorului. 
 +===== Download ​===== 
 + 
 +Arhiva contine: 
 +Codul sursă, schema electrică, imaginea proiectului 
 +{{:​pm:​prj2025:​atoader:​proiect_pm_elisa.zip|}}
  
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​note>​ 
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
pm/prj2025/atoader/elisa.diaconita.1748386689.txt.gz · Last modified: 2025/05/28 01:58 by elisa.diaconita
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