Mini sistem de alarma

Nume: Matei Stefan-Madalin

Grupa: 335CC

Introducere

Un sistem de alarma ce functioneaza pe baza unui senzor de distanta si o camera. Este impartit in 3 zone logice. In prima zona intre 2 si 4m se coloreaza un led RGB in galben. In a II-a zona intre 1 si 2m se trimite un o alarma silentioasa(mesaj) proprietarului si ledul se coloreaza in portocaliu. In a III-a zona intre 2cm si 1m se declanseaza o alarma audio prin buzzer, ledul se face rosu, iar camera face un screenshot.

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.

Descriere generală

Lista Module

Modulele folosite sunt:
* Modul Arduino Uno
* Modul ESP32-CAM
* Modul Led RGB
* Modul Buzzer
* Modul HC-SR04 Ultrasonic Sensor
* Modul DHT11 Temperature and Humidity
* 5V External Power Supply
* 9V Battery 

Hardware Design

  • Schema electrica a proiectului realizata in EAGLE

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.

Rezultate Obţinute

* O mica problema de alimentare a camerei si a circuitului in acelasi timp * Cand functioneaza, in apropierea senzorului este declansat semnalul care porneste scripturile care fac screenshot persoanei care se apropie de camera si descarca poza local

demo proiect

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

Jurnal

  • 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

Bibliografie/Resurse

  1. Resurse Hardware:
    1. Eagle
    2. Arduino Q&A
  2. Resurse Software:
    1. Arduino Blog
    2. Selenium Documentation
    3. Python Tutorials
pm/prj2022/ndrogeanu/mini-sistem-alarma.txt · Last modified: 2022/06/02 17:21 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