Differences

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

Link to this comparison view

pm:prj2023:vstoica:sistem-alarma-cosor-mihai [2023/05/29 20:34]
mihai.cosor [Software Design]
pm:prj2023:vstoica:sistem-alarma-cosor-mihai [2023/05/29 20:49] (current)
mihai.cosor [Software Design]
Line 120: Line 120:
 <code C> <code C>
     bool checkAlarm() {     bool checkAlarm() {
-      if (isPanic) {+      if (isPanic) { // verificare buton de panica
         lcd.clear();​         lcd.clear();​
         lcd.setCursor(3,​ 0);         lcd.setCursor(3,​ 0);
Line 128: Line 128:
       }       }
  
-      if (isAuthorized) { +      if (isAuthorized) { // verificare daca s-a introdus cartela/cod inainte 
-        countdown();​+        countdown(); ​// countdown pana se reporneste senzorul
         isAuthorized = false;         isAuthorized = false;
         return false;         return false;
       }       }
       ​       ​
-      if (getID()) {+      if (getID()) { // verificare existenta cartela
         if (tagID == MasterTag) {         if (tagID == MasterTag) {
           countdown();​           countdown();​
Line 144: Line 144:
       }       }
  
-      if (isObstacleInFront()) {+      if (isObstacleInFront()) { // verificare obstacol in fata senzorului
         lcd.clear();​         lcd.clear();​
         lcd.print("​INTRUDER ALERT!"​);​         lcd.print("​INTRUDER ALERT!"​);​
Line 155: Line 155:
 </​code>​ </​code>​
  
-Functiile de citire senzor ultrasonic si calculare distanta+Functiile de citire senzor ultrasonic si calculare distanta ​si  decidere daca exista obstacol in fata la 30 de cm sau nu.
 <code C> <code C>
     int getDistance() {     int getDistance() {
Line 166: Line 166:
  
       duration = pulseIn(echoPin,​ HIGH);       duration = pulseIn(echoPin,​ HIGH);
-      distance = duration * 0.034 / 2;+      distance = duration * 0.034 / 2; // formula distanta conform vitezei sunetului
  
       return distance;       return distance;
Line 208: Line 208:
 </​code>​ </​code>​
  
 +
 +Restul functiilor folosite, doar semnaturile deoarece cele de add / send / delete sunt asemanatoare in primirea si handle-uirea inputului de la tastatura.
 <code C> <code C>
 +/*
 + * Constante si initializari necesare programului in sine
 + */
 +enum state {ACCEPTED, DENIED, WAITING};
 +const byte NUMBER_OF_PASSWORDS = 10;
 +byte FREE_SPACE_PASSWORDS = 10;
 +long passwords[NUMBER_OF_PASSWORDS];​
 +const long MASTER_KEY = 2001;
 +bool isAuthorized = false;
 +
 +/*
 + * Initializare vector de parole
 + */
 +void initPasswords() {...}
 +
 +/*
 + * Verificare parola
 + */
 +state checkPassword(long password) {...}
 +
 +/*
 + * Verificare parola admin 
 + */
 +bool checkMasterKey() {...}
 +
 +/*
 + * Adaugare parola noua
 + */
 +void add_password() {...}
 +
 +/*
 + * Stergere parola
 + */
 +void delete_password() {...}
 +
 +/*
 + * Introducere parola pentru verificare
 + */
 +void send_password() {...}
  
 +/*
 + * Start alarma
 + */
 +void startAlarm() {...}
 </​code>​ </​code>​
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
pm/prj2023/vstoica/sistem-alarma-cosor-mihai.1685381698.txt.gz · Last modified: 2023/05/29 20:34 by mihai.cosor
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