Differences

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

Link to this comparison view

pm:prj2024:vstoica:costin.bosoaga [2024/05/09 16:23]
costin.bosoaga created
pm:prj2024:vstoica:costin.bosoaga [2024/05/22 22:35] (current)
costin.bosoaga [Software Design]
Line 4: Line 4:
 <note tip> <note tip>
 Prezentarea pe scurt a proiectului vostru: Prezentarea pe scurt a proiectului vostru:
-  * ce face +  * O alarma pentru securitate care masoara distanta de la obiecte pana la senzor-ul ei. Daca obiectul este prea apropiat alarma va suna. 
-  * care este scopul lui +  * Poate tine casele si curtile in siguranta, observand fiecare obiect ​care intra in raza senzorului. 
-  * care a fost ideea de la care aţi pornit +  * Am pornit ​de la un senzor si m-am inspirat de pe internet. 
-  * de ce credeţi că este util pentru alţii şi pentru voi+  * Este un lucru foarte usor de folosit si foarte folositor.
 </​note>​ </​note>​
 ===== Descriere generală ===== ===== Descriere generală =====
  
 <note tip> <note tip>
-O schemă bloc cu toate modulele proiectului vostruatât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. +Proiectul este realizat ​cu ajutorul unui Arduino UNOun senzor ultrasonic, un buzzer ​care suna in momentul in care este detectat un obiect destul ​de aproape, cateva LED-uri care lumineaza in functie de distanta si o rezistenta de 1k ohm, un display LCD pe care este afisat nivelul pericolului.
- +
-Exemplu ​de schemă bloc: http://​www.robs-projects.com/​mp3proj/​newplayer.html+
 </​note>​ </​note>​
 +
 +
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
 <note tip> <note tip>
-Aici puneţi tot ce ţine de hardware design+Lista piese
-  * listă de piese +  * Arduino UNO 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +  * Senzor ultrasonic 
-  * diagrame de semnal ​ +  * LED Verde 
-  * rezultatele simulării+  * LED Rosu 
 +  * LED Albastru 
 +  * Display LED 
 +  * Rezistor 1k ohm
 </​note>​ </​note>​
  
 +===== Schema electrica =====
 +{{ :​pm:​prj2024:​vstoica:​security_alarm_schematic.png?​800 |}}
 +{{ :​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.1715260980.txt.gz · Last modified: 2024/05/09 16:23 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