This shows you the differences between two versions of the page.
pm:prj2022:arosca:sistem_supraveghere_video [2022/05/03 03:10] mihail.ungureanu00 created |
pm:prj2022:arosca:sistem_supraveghere_video [2022/05/28 00:47] (current) mihail.ungureanu00 [Rezultate Obţinute] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Sound Keyboard ====== | + | ====== Sistem supraveghere video ====== |
===== Introducere ===== | ===== Introducere ===== | ||
- | Aplicatia este un sound keyboard ce primeste la intrare, prin intermediul unui keypad, detalii relevante unei note muzicale: nota - A, B, ..., G; octava - 0, ..., 8; timbrul - jos, ridicat; durata - 1, 2, 4, 8, 16. Urmand ca pe baza intrarii sa produca sunetul corespondent, prin intermediul unui buzzer piezo. De asemenea, nota muzicala este afisata pe un ecran lcd(Ex: A1#). | + | 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. |
<note tip> | <note tip> | ||
Line 13: | Line 13: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Keypad-ul este conectat la un Arduino Uno care va comunica folosind I2C cu un alt Arduino Uno la care e conectat lcd-ul si buzzer-ul. Arduino-ul de intrare este master-ul, iar cel de iesire slave-ul. | + | 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. |
- | {{:pm:prj2022:arosca:schema.png?750x500}} | + | {{:pm:prj2022:arosca:schema_bloc_supraveghere.png|}} |
<note tip> | <note tip> | ||
Line 25: | Line 25: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | Componentele necesare: 2 x Arduino Uno, breadboard mic, keypad 4x4, buzzer piezo small, lcd 16x2, potentiometru 250kohm, 1 rezistor 220 ohmi, fire de legatura. | + | Componentele necesare: Arduino Uno, Breadboard, Senzor Ultrasonic, Senzor de Miscare, Camera Video, Servo motor, Fire, Led-uri RBG, Buton. |
- | + | ||
- | <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 ===== | ||
- | + | 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. | |
- | + | ===== Schema Electrica ===== | |
- | <note tip> | + | {{:pm:prj2022:arosca:schema_electrica.jpeg?800|}} |
- | 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> | + | {{:pm:prj2022:arosca:20220527_185552.jpg?500|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Implementand acest proiect am invatat despre modul in care poate fi exploatat un arduino UNO pentru a crea proiecte interesante, folosindu-ma doar de piese ,, de baza" si de functii implementate in bibliotecile lor. Totodata, am invatat sa ma folosesc de TinkerCad, platforma pe care mi-am inceput implementarea, pe care am testat codul, ca sa ma asigur ca nu imi voi arde anumite componente cand ma apuc de pus totul pe placuta. | ||
===== Download ===== | ===== Download ===== | ||
- | |||
- | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, 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 ===== | ||
- | |||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/|Ultrasonic Sensor]] |
+ | [[https://github.com/PBahner/Serial-Monitor.git|Serial Monitor]] | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||