Differences

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

Link to this comparison view

pm:prj2024:vstoica:costin.bosoaga [2024/05/22 20:41]
costin.bosoaga [Hardware Design]
pm:prj2024:vstoica:costin.bosoaga [2024/05/22 22:35] (current)
costin.bosoaga [Software Design]
Line 31: Line 31:
  
 ===== Schema electrica ===== ===== Schema electrica =====
-{{ :​pm:​prj2024:​vstoica:​security_alarm_schematic.png |}} +{{ :​pm:​prj2024:​vstoica:​security_alarm_schematic.png?800 |}} 
-{{ :​pm:​prj2024:​vstoica:​alarm_system.png?​300 |}}+{{ :​pm:​prj2024:​vstoica:​alarm_system.png?​800 |}}
 ===== Software Design ===== ===== Software Design =====
  
 +Mediul de dezvoltare:
 +  * codul a fost scris in Arduino IDE.
 +  * schema electrica a fost realizata in Tinkercad
  
-<​note ​tip+Am folosit biblioteca "​LiquidCrystal"​ pentru afisarea pe Display-ul LCD. 
-Descrierea codului aplicaţiei ​(firmware): + 
-  ​* mediu de dezvoltare ​(if any) (e.gAVR Studio, CodeVisionAVR+**Functia setup** - initializeaza hardware-ul si afiseaza un mesaj de inceput pe LCD. 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib+<​note>​ 
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +    ​lcd.begin(16, 2); 
-  ​(etapa 3surse şi funcţii implementate+    ​Serial.begin (9600);  
 +    pinMode(trigPin,​ OUTPUT);  
 +    pinMode(echoPin,​ INPUT); 
 +    pinMode(buzzer,​OUTPUT);​ 
 +    pinMode(PIN_RED, ​  ​OUTPUT);​ 
 +    pinMode(PIN_GREEN,​ OUTPUT); 
 +    pinMode(PIN_BLUE, ​ OUTPUT); 
 +    lcd.print("​Starting ​ System"​)
 +    delay(1500); 
 +    lcd.clear(); 
 +    lcd.print("​System On"); 
 +    ​delay(4000); ​  
 +</​note>​ 
 + 
 +**Functia loop**: 
 +  * Calculeaza distanta si delay-ul pentru buzzer: 
 +<​note>​ 
 +    duration = pulseIn(echoPin, HIGH); 
 +    distance = (duration / 2) / 29.1; 
 +    new_delay = (distance * 3+ 30; 
 +</​note>​ 
 + 
 +  * In functie de distanta schimba culoarea LED-ului si scrie starea curenta ​pe LCD: 
 +<​note>​ 
 +    if (distance < 50) 
 +    { 
 +      digitalWrite(buzzer,​ HIGH); 
 +      delay(new_delay);​ 
 +      if (distance < 10){ 
 +        setColor(255,​ 0, 0); 
 +        lcd.setCursor(0,​ 0); 
 +        lcd.print("​High Risk         "​);​ 
 +        lcd.setCursor(0,​ 11); 
 +        lcd.print("​Glowing RED       "​);​ 
 +      }  
 +      else if (distance < 25){ 
 +        setColor(255,​ 32, 0); 
 +        lcd.setCursor(0,​ 0); 
 +        lcd.print("​Medium Risk       "​);​ 
 +        lcd.setCursor(0,​ 11); 
 +        lcd.print("​Glowing Orange ​   "); 
 +      } 
 +      else { 
 +        setColor(255,​ 255, 0); 
 +        lcd.setCursor(0,​ 0); 
 +        lcd.print("​Low Risk          "); 
 +        lcd.setCursor(0,​ 11); 
 +        lcd.print("​Glowing Yellow ​   "); 
 +      } 
 +      digitalWrite(buzzer,​LOW);​ 
 +    } 
 +    else 
 +    { 
 +      digitalWrite(buzzer,​LOW);​ 
 +      setColor(0, 255, 0); 
 +      lcd.setCursor(0,​ 0); 
 +      lcd.print("​No Risk             "​);​ 
 +      lcd.setCursor(0,​ 11); 
 +      lcd.print("​Glowing Green       "​);​ 
 +    } 
 +  ​delay(200)
 +  }
 </​note>​ </​note>​
  
pm/prj2024/vstoica/costin.bosoaga.1716399696.txt.gz · Last modified: 2024/05/22 20:41 by costin.bosoaga
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