Grupa: 335CA
Motivația din spatele proiectului a fost dorința de a crea o soluție de supraveghere discretă, care să nu invadeze intimitatea locuinței, așa cum o pot face camerele video. Ideea a apărut din nevoia de a avea un mecanism de protecție activ în perioadele în care utilizatorul nu se află acasă, fără a transforma spațiul într-unul supravegheat permanent. Proiectul oferă astfel o alternativă practică, accesibilă și adaptată realității actuale, în care prezența online poate indica absența fizică din locuință.
Sistemul de securitate este construit în jurul unui microcontroller ESP32 și are ca scop detectarea mișcării în condiții de iluminare scăzută. Acesta integrează un senzor PIR pentru detecția prezenței și un fotorezistor conectat la un pin ADC pentru a evalua nivelul de lumină ambientală. În momentul în care este detectată mișcare pe întuneric, se activează o alarmă sonoră folosind un buzzer controlat prin semnal PWM. Funcționarea alarmei este gestionată de un sistem pe bază de timere, care determină perioadele de activare și pauză, repetate ciclic până la intervenția utilizatorului printr-un buton dedicat. Evenimentele sunt transmise prin Bluetooth sau UART către o interfață de monitorizare externă și sunt logate local pe un card SD prin interfața SPI, fiecare înregistrare fiind marcată cu data și ora obținută de la un modul RTC. Sistemul dispune de un ecran LCD conectat prin I2C pentru afișarea stării curente și a ultimelor alarme, iar întreruperile sunt utilizate atât pentru declanșarea alarmei în baza senzorului PIR, cât și pentru interacțiunea utilizatorului prin butonul fizic.
Componente
Am consultat pinout-ul plăcii mele ESP32 pentru a înțelege ce funcționalități oferă fiecare pin și am realizat conexiunile în funcție de protocoalele suportate de aceștia (ADC, PWM, I2C, SPI, UART). Astfel, fiecare componentă a fost legată la un pin corespunzător, asigurând compatibilitatea cu cerințele de comunicație sau control. Pentru difuzor am realizat un mic circuit de amplificare, descris în schema de mai jos, utilizând un tranzistor NPN, un condensator și câteva rezistențe, pentru a putea reda sunetul cu o intensitate adecvată. La butoane am adăugat rezistențe de tip pull-up pentru a evita fluctuațiile de semnal și pentru a asigura o detecție stabilă a apăsării. De asemenea, am inclus un comutator de tensiune de la 9V la 5V, astfel încât să pot alimenta componentele sensibile la supratensiune într-un mod sigur și eficient.
Circuitul înainte de mutare pe placa de prototipare:
Se observa in a 2 a poza ca functioneaza modulul RTC si ultrasonicul.
Mediul de dezvoltare utilizat este Arduino IDE, împreună cu o placă ESP32 și un display Waveshare e-Paper de 7.5” (versiunea V2). Proiectul include următoarele biblioteci și fișiere:
Funcționalități principale Proiectul se bazează pe un sistem interactiv de detectare și notificare, folosind un e-paper display, un senzor ultrasonic, un fotorezistor, un buzzer și două butoane fizice. Interacțiunea dintre componente este realizată prin intermediul întreruperilor și a unor timere software.
1. Afișare oră și dată actualizată Display-ul e-paper afișează în mod implicit ora și data curente, preluate de la modulul RTC (DS3231). Informațiile se actualizează la fiecare minut nou, fără a rescrie constant ecranul, pentru a prelungi durata de viață a afișajului și pentru a preveni ghosting-ul.
2. Jurnal de evenimente (mișcare detectată) Cu ajutorul senzorului ultrasonic (HC-SR04), proiectul detectează obiecte aflate la mai puțin de 50 cm. Fiecare detecție este înregistrată cu timestamp complet (data și ora) în jurnalul de evenimente (până la 20 de intrări). Evenimentele sunt afișate pe e-paper la apăsarea butonului 1.
Pentru a preveni detecții excesive, o detecție este considerată validă doar dacă au trecut cel puțin 10 secunde de la ultima înregistrare (folosind millis()).
3. Afișare mesaj ambiental și melodie Dacă fotorezistorul detectează o luminozitate ridicată (valoare ADC > 1000), sistemul consideră că este „zi” și va:
4. Control cu butoane fizice
5. Trimitere jurnal prin Bluetooth către aplicația mobilă Aceasta permite trimiterea evenimentelor înregistrate către o aplicație Android.
Funcția setup() În această funcție se realizează:
Funcția loop() Fluxul principal este:
Interfața serială Pentru debugging s-au folosit mesaje Serial.println() pentru urmărirea:
Videoclip proiect