Table of Contents

CCTV

Autor

Josan-Gulica Stela, 336CC

Introducere

Ce face proiectul

Proiectul consta din înregistrarea video a ceea ce se întâmpla în camera. Camera video va fi mișcata cu ajutorul unui servo-motor, care va fi controlat de arduino. Senzorii, PIR și ultrasonic, vor transmite date către arduino, care, în dependenta de datele primite, va poziționa camera la unghiul potrivit.

Scopul proiectului

Scopul proiectului consta în construirea unui CCTV, ce poate fi folosit de oricine și poate înregistra dacă a intrat cineva în camera și unde s-a mișcat.

Ideea de la care am pornit

Mereu am considerat o extravaganta de a avea CCTV în camera, dar poate fi de folos atunci când lași calculatorul deschis sau sa vezi dacă cineva a intrat în camera fără permisiune.

Descriere generala

Senzorul ultrasonic va detecta cel mai apropiat obiect și va direcționa camera spre el, dacă senzorul de mișcare va detecta o mișcare, senzorul ultrasonic își va actualiza căutarea. Camera Video va comunica cu calculatorul, este conectata la calculator, unde vor fi stocate toate înregistrările. Este posibilă înregistrarea doar dacă va fi apăsat butonul de start, în urma se va aprinde led-ul de înregistrare.

Schema bloc

Hardware

Schema electrica

Software Design

Implementarea se începe prin așteptarea apăsării butonului de start, după aceea se va aprinde led-ul, astfel se identifica începutul înregistrării, se folosește un script python ce executa comanda de înregistrare când este apăsat butonul de start. Cu ajutorul bibliotecii “Servo.h”, în funcția servoMove(), se mișca servo motorul, de la 0 la 180 de grade, cate 30 de grade și într-un vector se înregistrează distanța până la cel mai apropiat obiect la fiecare unghi, apelând funcția distanceFind(). După aceea, în funcția findMinPosition() se identifica la care unghi a fost cel mai apropiat obiect. Apoi, camera este îndreptat către acel unghi. După aceea, se repeta aceleași comenzi doar dacă senzorul de mișcare a detectat o mișcare în camera, deci se încearcă sa se găsească un obiect mai apropiat. Folosesc variabila app pentru a determina dacă a fost apăsat butonul de pornire, iar pentru identificare stării curente a butonului folosesc variabilele currentState și prevState. In variabila distance se memorează distanta pana la cel mai apropiat obiect în cm. Funcția setColorRGB() setează culorile pentru led.

Cod-ul software se poate gasi la acest link: https://github.com/stelajg/pm_project.git

Rezultate Obținute

Am obtinut o camera CCTV functionala.

Concluzii

În urma acestui proiect am învățat cat de ușor este de folosit un arduino Uno, senzorii și faptul ca poți face un proiect destul de complex cu ajutorul IDE-ul arduino și a tuturor informațiilor /tutorialelor ample de pe internet. Pana sa fac acest proiect, toate obiectele care erau construite pe baza de microprocesoare îmi păreau foarte complicate, dar acum, consider ca pot face acasă orice obiect de genul dat, doar cumpărând câțiva senzori/ motoare în plus.

Jurnal

Download

Documentația în format PDF

Demo

Bibliografie/Resurse