Differences

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

Link to this comparison view

pm:prj2023:danield:alarma-securitate [2023/05/28 12:29]
mihail.oprea2911 [Software Design]
pm:prj2023:danield:alarma-securitate [2023/05/28 20:01] (current)
mihail.oprea2911 [Bibliografie/Resurse]
Line 41: Line 41:
 In setup() am configurat toti pinii pe de care aveam nevoie si am configurat intreruperile de tip timer. Pentru configurarile intreruperilor de tip timer m-am folosit de [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023 | laboratorul 3 de PM]]. In codul intreruperii,​ in functia **ISR()** am o var. **volatile long count** pe care o cresc mereu. In setup() am configurat toti pinii pe de care aveam nevoie si am configurat intreruperile de tip timer. Pentru configurarile intreruperilor de tip timer m-am folosit de [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023 | laboratorul 3 de PM]]. In codul intreruperii,​ in functia **ISR()** am o var. **volatile long count** pe care o cresc mereu.
  
-Penntru ​a sti ce tasta apas pe telecomanda m-am folosit de **IrReceiver.decodedIRData.command** care imi intoarcea un numar mai mare ca zero pentru fiecare tasta in parte, dupa care m-am definit cu define toate tastele cu numarul comenzii dat de senzorul IR cu define (#define TASTA_OK 28).+Pentru ​a sti ce tasta apas pe telecomanda m-am folosit de **IrReceiver.decodedIRData.command** care imi intoarcea un numar mai mare ca zero pentru fiecare tasta in parte, dupa care m-am definit cu define toate tastele cu numarul comenzii dat de senzorul IR cu define (#define TASTA_OK 28).
 Cand apasam o data pe o tasta de cele mai multe ori era interpretata de mai multe ori lucru ce ducea la alegerea unor optiuni nedorite pe meniul afisat pe ecranul LCD, lucru ce a trebuit rezolvat prin folosirea unui timer, astfel trebuie sa astepti 1 sec intre 2 comenzi succesive. Cand apasam o data pe o tasta de cele mai multe ori era interpretata de mai multe ori lucru ce ducea la alegerea unor optiuni nedorite pe meniul afisat pe ecranul LCD, lucru ce a trebuit rezolvat prin folosirea unui timer, astfel trebuie sa astepti 1 sec intre 2 comenzi succesive.
  
-Pentru afisarea meniului pe display ​m0am folosit de un switch case pe mai multe stari, iar in functie de ce tasta e apasata de pe telecomanda,​ se schimba var **int STATE = 0** cu o alta stare. Pentru a afisa text pe ecran m-am folosit de functiile **lcd.clear()**,​ **lcd.setCursor()** si **lcd.print()**.+Pentru afisarea meniului pe display ​m-am folosit de un switch case pe mai multe stari, iar in functie de ce tasta e apasata de pe telecomanda,​ se schimba var **int STATE = 0** cu o alta stare. Pentru a afisa text pe ecran m-am folosit de functiile **lcd.clear()**,​ **lcd.setCursor()** si **lcd.print()**
 + 
 +Cand se apasa tasta OK STATE ia val lui STATE_4, iar var **int flag_alarma = 0** devine 1, astfel se intra intr-un if statement unde se verifica cu **digitalRead(PIN_TO_SENSOR)** daca valoarea pe pin e LOW sau HIGH. Daca e HIGH insaeamna ca a fost detectata miscare iar var **int alarma = 0** devine 1, care duce la apelarea functiei **sound()**. Pe pin-ul PIN_TO_SENSOR e conectat senzorul de miscare HC-SR501. 
 +Dupa ce se pornteste alarma prin selectarea optiunii de ON, nu se verifica imediat daca senzourl a detectat miscare si abaia dupa **alarm_timer** sec, care initial e setat pe 5 doar poate fi crescut la 10 prin selectarea unei optiuni pe display. 
 + 
 +Functia **sound()** scrie valori de HIGH, urmate de valori de LOW prin **digitalWrite(buzzer)** la intervale de 1 sec pentru creearea sunetului de alarma, **const int buzzer = 3** e pin-ul pt buzzer.
        
  
Line 52: Line 57:
 Care au fost rezultatele obţinute în urma realizării proiectului vostru. Care au fost rezultatele obţinute în urma realizării proiectului vostru.
  
-Video cu functionalitatile:​ [[https://​youtu.be/​oX_KsmpTboM | PROIECT]]+Video cu functionalitatile:​ [[https://​youtu.be/​oX_KsmpTboM | Alarma securitate]]
 </​note>​ </​note>​
  
Line 59: Line 64:
 ===== Download ===== ===== Download =====
  
-<​note ​warning+<​note>​ 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +Codul sursa -> {{pm:prj2023:danieldalarma_securitate.zip| Arhiva}}
- +
-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 Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**.+
 </​note>​ </​note>​
  
-===== Jurnal ===== 
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 76: Line 75:
 Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 </​note>​ </​note>​
 +=== Resurse Software ===
 +  * [[https://​arduinogetstarted.com/​tutorials/​arduino-motion-sensor | Motion sensor HC-SR501]]
 +  * [[https://​arduinogetstarted.com/​tutorials/​arduino-lcd-i2c?​utm_content=cmp-true | LCD 12C]]
 +  * [[https://​roboticsbackend.com/​arduino-ir-remote-controller-tutorial-setup-and-map-buttons/​ | IR sensor]]
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023 | Timer]]
 +
 + 
 +
 +
 +
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/danield/alarma-securitate.1685266154.txt.gz · Last modified: 2023/05/28 12:29 by mihail.oprea2911
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