Differences

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

Link to this comparison view

pm:prj2025:ccristi:valentin.carauleanu [2025/05/27 13:52]
valentin.carauleanu [Funcții Master Arduino]
pm:prj2025:ccristi:valentin.carauleanu [2025/05/28 09:45] (current)
valentin.carauleanu [Hardware Design]
Line 70: Line 70:
   * LCD-ul afișează promptul pentru introducerea codului.   * LCD-ul afișează promptul pentru introducerea codului.
   * Utilizatorul introduce codul PIN pe tastatură.   * Utilizatorul introduce codul PIN pe tastatură.
-  * Codul este verificat: dacă este corect: servomotorul deschide dulapul, LED-ul se aprinde, apare mesajul "​Access Granted";​ dacă este greșit: ​buzzer-ul emite un sunet scurt; după 3 încercări greșite, buzzer-ul rămâne pornit. +  * Codul este verificat: dacă este corect: servomotorul deschide dulapul, LED-ul se aprinde, apare mesajul "​Access Granted";​ dacă este greșit: ​apare un mesaj sugestiv; după 3 încercări greșite, buzzer-ul rămâne pornit. 
-  * Se apasă `B` pentru a reloca dulapul.+  * Se apasă `B` pentru a rebloca sieful, `A` pentru a schimba cifrul.
  
 ==== 2. Setarea sau schimbarea codului de securitate ==== ==== 2. Setarea sau schimbarea codului de securitate ====
Line 122: Line 122:
 ===== Hardware Design ===== ===== Hardware Design =====
  
-Sistemul este alcătuit din două plăci de dezvoltare Arduino Uno, care comunică între ele prin magistrala ​I²C în configurație Master–Slave. Partea de Master controlează afișajul LCD 1602 cu interfață ​I²C, un servo-motor SG90 pentru închiderea fizică a seifului, o tastatură matricială 4x4 pentru introducerea codului PIN, un buzzer pentru semnalizare acustică și un LED de stare. Placa Slave este echipată cu senzori de mediu: un DHT11 pentru temperatură și umiditate, un senzor de sunet KY-037 pentru detecția zgomotului ambiental, un modul de timp real RTC DS1302 pentru afișarea orei curente și un senzor de înclinare SW-520D, conectat la o întrerupere externă pentru semnalizarea mișcărilor neautorizate. Întregul ansamblu este alimentat prin USB, fiind gândit să funcționeze într-un sistem închis și compact, ideal pentru securizarea unui obiect fizic.+Sistemul este alcătuit din două plăci de dezvoltare Arduino Uno, care comunică între ele prin magistrala ​I2C în configurație Master–Slave. Partea de Master controlează afișajul LCD 1602 cu interfață ​I2C, un servo-motor SG90 pentru închiderea fizică a seifului, o tastatură matricială 4x4 pentru introducerea codului PIN, un buzzer pentru semnalizare acustică și un LED de stare. Placa Slave este echipată cu senzori de mediu: un DHT11 pentru temperatură și umiditate, un senzor de sunet KY-037 pentru detecția zgomotului ambiental, un modul de timp real RTC DS1302 pentru afișarea orei curente și un senzor de înclinare SW-520D, conectat la o întrerupere externă pentru semnalizarea mișcărilor neautorizate. Întregul ansamblu este alimentat prin USB, fiind gândit să funcționeze într-un sistem închis și compact, ideal pentru securizarea unui obiect fizic.
  
 **Bill of Materials**:​ **Bill of Materials**:​
Line 362: Line 362:
 === Funcții de întrerupere și comunicare === === Funcții de întrerupere și comunicare ===
  
-<code cpp> void onRequest() ​ // Este apelată automat de Arduino Master prin I²C. // Trimite structura SensorPacket către Master. // Dacă în acest moment tiltDetected este true, se trimite ca atare și apoi se resetează. ​ </​code>​ <code cpp> void onTilt() ​ // Funcție apelată la declanșarea întreruperii externe de la senzorul SW-520. // Setează flag-ul tiltDetected pe true.  </​code>​+<code cpp> void onRequest() ​ // Este apelată automat de Arduino Master prin I2C. // Trimite structura SensorPacket către Master. // Dacă în acest moment tiltDetected este true, se trimite ca atare și apoi se resetează. ​ </​code>​ <code cpp> void onTilt() ​ // Funcție apelată la declanșarea întreruperii externe de la senzorul SW-520. // Setează flag-ul tiltDetected pe true.  </​code>​
 === Bucla principală (loop) === === Bucla principală (loop) ===
  
Line 377: Line 377:
 ===== Concluzii ===== ===== Concluzii =====
  
-  * Comunicarea Master–Slave prin I²C s-a dovedit stabilă și eficientă.+  * Comunicarea Master–Slave prin I2C s-a dovedit stabilă și eficientă.
   * Utilizarea întreruperilor pentru senzorul de înclinare permite reacții imediate la tentative de manipulare.   * Utilizarea întreruperilor pentru senzorul de înclinare permite reacții imediate la tentative de manipulare.
   * Arhitectura modulară (separare Master–Slave) permite extinderea sistemului cu ușurință ​   * Arhitectura modulară (separare Master–Slave) permite extinderea sistemului cu ușurință ​
pm/prj2025/ccristi/valentin.carauleanu.1748343175.txt.gz · Last modified: 2025/05/27 13:52 by valentin.carauleanu
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