Camera de Supraveghere

Nume: Buzoi Marius-Ionut

Grupa: 333CD

Introducere

In prezent, tehnologia a atins un nivel fara precedent, oferindu-ne solutii pentru numeroase probleme din viata de zi cu zi. Una dintre acestea este securitatea bunurilor personale. Piata sistemelor de supraveghere video s-a dezvoltat rapid, oferind numeroase optiuni, de la camere care transmit imagini in timp real pana la solutii inteligente de monitorizare. Totusi, aceste functionalitati avansate vin adesea la un pret ridicat si impun anumite limitari, precum necesitatea unei conexiuni permanente la internet, alimentare constanta la retea si spatii generoase de stocare.

Proiectul meu propune o alternativa accesibila si usor de utilizat pentru monitorizarea unor locatii care nu beneficiaza de infrastructura completa. Inspirandu-ma din cunostintele dobandite la laborator, am realizat o camera de supraveghere care capteaza imagini atunci cand un obiect trece prin fata unui senzor infrarosu. Imaginile sunt salvate pe un card SD, care poate fi verificat ulterior, in timpul unei vizite la locatie. Astfel, poti afla daca cineva neautorizat a fost prezent, fara a fi nevoie de conexiune la internet, utilizand o sursa nu foarte costisitoare de curent.

Descriere generala

Proiectul meu dispune de un senzor infrarosu ce comunica cu placa de dezvoltare Arduino UNO pentru a notifica un modul ESP32-CAM pentru a face o fotografie. Imaginea este salvata pe un card SD pentru a fi verificata de client la urmatoarea vizita la locatie. O sursa de curent va alimenta toate componentele. Un ecran LCD afiseaza constant mesaje de notificare. Mesajele sunt insirate mai jos:

  • Device started.
  • The sensor is shut down.
  • Waiting for the sensor…
  • Taking picture…

Imaginile se pot gasi pe cardul SD in format JPG. Astfel, pot fi vizualizate pe orice dispozitiv.

Hardware Design

Lista de componente

  • Sursa de Alimentare USB
  • Arduino UNO
  • Ecran LCD 1602A
  • Modul I2C pentru LCD 1602
  • Card microSD (32 GB)
  • LED Rosu
  • Buton
  • Tranzistor NPN
  • Senzor Infrared
  • Rezistente (1K si 220 Ohm)
  • Cabluri mama-tata, tata-tata
  • Sursa de alimentare

photoconex.jpg

Pentru a optimiza consumul de energie, modulul ESP32-CAM este alimentat doar in momentul capturarii si salvarii unei fotografii, fiind oprit in restul timpului. Acest control al alimentarii a fost realizat prin intermediul unui tranzistor NPN, comandat de pinul digital 8 al placii Arduino UNO. A fost adaugat un LED rosu pentru a semnaliza starea dispozitivului si un buton pentru a o comuta. In starea OFF, Arduino UNO nu va alimenta camera chiar daca senzorul detecteaza un obiect. In schimb, daca dispozitivul se afla in starea ON, detectarea unui obiect va declansa capturarea unei poze. Butonul si LED-ul sunt conectate la pinii digitali 4 si 12. Ecranul LCD este conectat printr-un adaptor I2C si comunica cu Arduino UNO folosind pinii analogici A4 (SDA) si A5 (SCL). Senzorul este citit prin pinul digital 2.

Software Design

Dezvoltarea a fost facuta in Arduino IDE. Sistemul este alcatuit din doua componente software: un firmware pentru ESP32-CAM, responsabil pentru capturarea si salvarea imaginilor pe cardul SD, si un firmware pentru Arduino UNO, care controleaza alimentarea camerei si interactiunea cu utilizatorul prin intermediul unui ecran LCD, unui buton, unui LED si unui senzor infrarosu.

Codul pentru ESP32-CAM a fost scris exclusiv in functia setup(). Mai multe librarii cum ar fi esp_camera.h (pentru camera video), FS.h, SD_MMC.h (pentru lucrul cu cardul SD prin interfata SDMMC) si alte biblioteci interne ESP au fost incluse in cod pentru a usura comunicarea cu componentele de pe placa de dezvoltare ESP32-CAM. In momentul pornirii, se initializeaza camera si cardul SD, se captureaza o imagine in format RGB565, se converteste la format JPEG folosind compresia interna, functia frame2jpg. Salvarea se face pe cardul SD cu nume incremental (ex. picture1.jpg, picture2.jpg, …) bazat pe o valoare citita din EEPROM. La final intra in deep sleep pentru a conserva energia.

Pentru Arduino UNO am folosit bibliotecile LCD-I2C.h si Wire.h (pentru controlul ecranului LCD prin I2C). LED-ul, butonul si senzorul sunt controlate sau citite prin intermediul pinilor digitali. La pornire, se afiseaza mesajul initial pe ecran si initializam toate dispozitivele. In functia loop() se verifica starea dispozitivului care poate fi ON sau OFF. In cazul ON, daca senzorul detecteaza un obiect se va activa tranzistorul ce va porni ESP32-CAM. Se afiseaza o bara de progres pe LCD, 16 segmente a cate 200 ms fiecare (total 3.2 secunde) pentru a lasa timp modului ESP32-CAM sa isi faca treaba. Ulterior, se dezactiveaza tranzistorul ce duce la oprirea modului ESP32-CAM. In starea OFF se ignora semnalele de la senzor.

Rezultate Obţinute

In urma acestora, am reusit sa implementez o versiune minimala a acestui sistem de securitate, care functioneaza dupa specificatiile cerute. Pentru o utilizare mai eficienta, s-ar putea opta pentru o camera de calitate mai inalta si pentru un senzor mai eficient pe distanta mai lunga. Mai jos se poate gasi si un demo al jocului pe Youtube.

Demo Camera de Securitate

Concluzii

In urma realizarii acestui proiect am aplicat multe concepte invatate la laborator si am reusit sa imi aduc la viata ideile. Placa de dezvoltare Arduino UNO dispune de foarte multe functionalitati. Rapiditatea cu care ea executa atatea comenzi fara probleme este impresionanta. In timpul scrierii codului a trebuit sa tin cont de aceste lucruri intrucat trebuie acordat timp modulelor pentru a-si termina treaba inainte de a lasa functia loop sa execute altceva.

Download

Mai jos se gaseste arhiva cu codul pentru Arduino UNO cat si cel pentru ESP32-CAM.

Download

Jurnal

  • 26.05.2025 - Adaugare demo, download si finalizare
  • 25.05.2025 - Adaugarea informatiilor software/hardware + schematic
  • 11.05.2025 - Corectare schema bloc
  • 10.05.2025 - Adaugarea schemei bloc si introducerii
  • 09.05.2025 - Realizarea paginii OCW

Bibliografie/Resurse

pm/prj2025/iotelea/marius_ionut.buzoi.txt · Last modified: 2025/05/26 21:37 by marius_ionut.buzoi
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