Differences

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

Link to this comparison view

pm:prj2022:ndrogeanu:mini-sistem-alarma [2022/05/29 12:07]
stefan.matei1401 [Hardware Design]
pm:prj2022:ndrogeanu:mini-sistem-alarma [2022/06/02 17:21] (current)
stefan.matei1401 [Rezultate Obţinute]
Line 7: Line 7:
  
 Scopul este de a proteja un obiectiv(precum un seif) si de a preveni si descurajara atacarea sa prin diferite metode(de la avertismente vizuale si audio, pana la anuntarea proprietarului ca cineva se afla in proximitatea zonei de protejat). Daca aceste metode nu reusesc, camera face un screenshot persoanei care intra in ultima zona de detectie a senzorului pentru a putea fi identificata mai tarziu. Scopul este de a proteja un obiectiv(precum un seif) si de a preveni si descurajara atacarea sa prin diferite metode(de la avertismente vizuale si audio, pana la anuntarea proprietarului ca cineva se afla in proximitatea zonei de protejat). Daca aceste metode nu reusesc, camera face un screenshot persoanei care intra in ultima zona de detectie a senzorului pentru a putea fi identificata mai tarziu.
 +
 +Update: In urma experimentarii cu senzorul de distanta, am observat ca acesta are o eroare de cativa centimetrii. Am hotarat sa calibrez valoarea acestuia prin adaugarea unui senzor dht11 pentru temperatura si umiditate care ma ajuta sa calculez mai robust valoarea distantei folosind formulat: speedOfSound = 331.4 + (0.6 * DHT.temperature) + (0.0124 * DHT.humidity); ​ distance = (speedOfSound * duration)/​20000;​
  
 Ideea de la care am pornit a fost imbinarea unui senzor de distanta si a unei camere pentru a crea ceva util, astfel mi-a venit ideea de a crea un sistem de alarma si alerta pentru protectia unui bunuri sau locatii. Ideea de la care am pornit a fost imbinarea unui senzor de distanta si a unei camere pentru a crea ceva util, astfel mi-a venit ideea de a crea un sistem de alarma si alerta pentru protectia unui bunuri sau locatii.
Line 14: Line 16:
  
  
-{{ :​pm:​prj2022:​ndrogeanu:​schema_bloc_mini-sistem_alarma.drawio.png?500 |}}+{{ :​pm:​prj2022:​ndrogeanu:​schemablocupdated.png?500 |}}
 ===== Lista Module ====== ===== Lista Module ======
  
Line 25: Line 27:
   * Modul HC-SR04 Ultrasonic Sensor   * Modul HC-SR04 Ultrasonic Sensor
   * Modul DHT11 Temperature and Humidity   * Modul DHT11 Temperature and Humidity
 +  * 5V External Power Supply 
 +  * 9V Battery ​
 </​note>​ </​note>​
 ===== Hardware Design ===== ===== Hardware Design =====
Line 31: Line 34:
 {{:​pm:​prj2022:​ndrogeanu:​schemaelectricaalarma.png?​800 |}} {{:​pm:​prj2022:​ndrogeanu:​schemaelectricaalarma.png?​800 |}}
                                                  * Schema electrica a proiectului realizata in EAGLE                                                  * Schema electrica a proiectului realizata in EAGLE
- 
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
 ===== Software Design ===== ===== Software Design =====
  
 +  * **Mediu de dezvoltare:​** Arduino IDE
 +  * **Biblioteci si surse 3rd-party:​**
 +    * dht.h pentru senzorul de temperatura si umiditate
 +    * esp_camera.h pentru conexiunea cu modulul ESP32-Cam
 +    * Wifi.h pentru conexiunea camerei la Internet
 +  * **Flow-ul programului:​**
 +    * Partea de definire si setup pentru camera
 +    * Partea de definire si setup pentru senzori, led si buzzer
 +    * Loop
 +    * Apelare de functii auxiliare in loop
 +
 +**Descrierea programului:​**
 +  * Setam modulul ESP32-CAM. Ii oferim credentialele de wifi. Acesta va oferi o adresa la care sa ne conectam si de la care sa ne uitam la feedul video.
 +  * Definim pinii: Pentru senzorul de distanta(echo - 2; trig - 3), pentru ledul RGB(9,​10,​11),​ pentru buzzer(5), pentru senzorul de umiditate si temperatura(7),​ pentru camera(0 si 1, respectiv conexiunile RX, TX).
 +  * In setup setam pinii de pe led, buzzer si pinul trig al senzorului de distanta ca fiind de OUTPUT si pinul echo ca fiind de INPUT
 +  * In loop:
 +    * Calculam durata undelor trimise de modulul HC-SR04
 +    * Calculam temperatura si umiditatea
 +    * Calculam folosind acesti 3 parametri distanta pana la obiectul target
 +    * Daca distanta se incadreaza pentru cel mai departat sector, coloram ledul in verde deoarece nu este un pericol in apropierea obiectivului
 +    * Daca distanta se incadreaza in segmentul mijlociu, ledul se coloreaza in galben si proprietarul este anuntat printr-un mesaj trimis pe laptop prin serial
 +    * Daca distanta este in segmentul critic, ledul se va colora in rosu, buzzerul va suna alarma si camera va face un screenshot. Se trimite semnalul execute pe serial.
 +
 +**Scripturi:​**
 +  * connect_to_serial.py --> face listen pe serialport. Cand citeste instructiunea de execute apeleaza scriptul de descarcare.
 +  * press_button.py --> Cu ajutorul Selenium accesam pagina pe care se face streamul video al camerei. Identificam si apasam butonul de "Get still"​. Identificam src-ul pozei si o descarcam local.
 +{{ :​pm:​prj2022:​ndrogeanu:​diagramasetup.png?​300 |}}
 +
 +
 +
 +
 +
 +
 +
 +{{ :​pm:​prj2022:​ndrogeanu:​diagramafunctionala.png?​300 |}}
  
-<note tip> 
-Descrierea codului aplicaţiei (firmware): 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi 
-  * (etapa 3) surse şi funcţii implementate 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +* O mica problema de alimentare a camerei si a circuitului in acelasi timp 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +* Cand functioneaza,​ in apropierea senzorului este declansat semnalul care porneste scripturile care fac screenshot persoanei care se apropie de camera si descarca poza local 
-</note>+ 
 +[[https://​drive.google.com/​file/​d/​1y9YY22R0a6O6Aohh5Q-gT3Y0PEBya7xJ/view?​usp=sharing|demo proiect]]
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +A fost destul de interesant si challenging sa facem un proiect de la 0 cu ceva cu care nu eram obisnuiti sa lucram, dar a fost probabil si una din cele mai cool experiente din facultate so far.
 +Also, pentru oricine vede asta pe viitor, nu folositi ESP32-CAM. Am reusit sa o folosesc, dar tot e dubios.
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:​prj2022:​ndrogeanu:​pm_prj2022_cc_matei_stefan.zip|}} 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-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>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 71: Line 95:
 <note tip> <note tip>
     * 06/05/2022 - Creare wiki si achizitionare componente     * 06/05/2022 - Creare wiki si achizitionare componente
 +    * 13/05/2022 - Terminat partea hardware si electrica
 +    * 27/05/2022 - Terminat partea software
 +    * 27/05/2022 - 02/06/2022 - Imbunatatit si reparat proiect
 </​note>​ </​note>​
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  ​- Resurse Hardware: 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +    - Eagle 
-</​note>​ +    - Arduino Q&A 
- +    - Youtube(https://​www.youtube.com/​watch?​v=q-KIpFIbRMk&​t=110s&​ab_channel=TechStudyCell) 
-<​html><​a class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export to PDF</​a></​html>​+  - Resurse Software: 
 +    - Arduino Blog 
 +    - Selenium Documentation 
 +    - Python Tutorials
  
pm/prj2022/ndrogeanu/mini-sistem-alarma.1653815264.txt.gz · Last modified: 2022/05/29 12:07 by stefan.matei1401
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