Movement Detection System

Nume: DIACONU Arina-Ioana
Grupă: 332CB
Email: arina_ioana.diaconu@stud.acs.upb.ro

Introducere

Proiectul reprezintă un sistem de detectare a mișcării în anumite zone de acțiune, fiind în special destinat locuințelor sau proprietăților în care este interzisă intrarea prin efracție.

Sistemul este activ în permanență în locul în care este montat, iar în cazul în care este identificat un intrus, pornește o alarmă și afișează atât un semnal de urgență, cât și distanța la care se află respectiva prezență nepermisă. Distanța față de sistem este reprezentată și prin culori, întrucât dacă intrusul este departe, clipește un bec verde, dacă acesta este la o distanță medie, clipește un bec galben, iar dacă este foarte aproape, clipește un bec roșu.

Proiectul este util pentru oricine vrea să își protejeze o proprietate sau o cameră în care nu dorește să intre nimeni fără permisiune și poate salva persoane care se află într-o casă în care a intrat cineva prin semnalizarea auditivă și vizuală a acestora.

Descriere generală

Diagrama bloc a sistemului:

Imaginea de mai sus reflectă la nivel conceptual modul de interacțiune dintre elementele sistemului și mediul exterior.

Dacă un intrus intră în aria de detectare a mișcării senzorului PIR, plăcuța Arduino Uno prin modulul I2C, modifică mesajul default al ecranului LCD într-un mesaj de alarmă. În același timp, citește distanța față de intrus de la senzorul ultrasonic de distanță și o afișează și pe aceasta pe ecranul LCD.

De asemenea, odată cu detectarea mișcării, plăcuța acționează buzzer-ul și alarma începe să sune. Totodată, începe să clipească un led în culoarea corespunzătoare distanței față de sistem a intrusului:

  • distanță mare - clipește led-ul verde
  • distanță medie - clipește led-ul galben
  • distanță mică - clipește led-ul roșu

Hardware Design

Listă componente:
  • micro-controller Arduino UNO
  • cablu microHDMI-HDMI pentru conexiunea cu laptop-ul
  • senzor de mișcare PIR
  • senzor ultrasonic de distanță
  • buzzer piezoelectric pasiv
  • ecran LCD 16×2 cu modul I2C integrat
  • 3 led-uri în culorile roșu, galben și verde
  • 3 rezistențe x 1 kOhm
  • un breadboard de dimensiune mică
  • fire de legătură de tip tată-tată
  • fire de legătură de tip mamă-tată
Schema electrică:

Software Design

Biblioteci utilizate:
  • Wire.h
  • LiquidCrystal_I2C.h
Implementare în Arduino:
  • funcția ”change_led_state” - schimbă starea curentă a unui led (daca este HIGH devine LOW si vice versa);
  • funcția ”turn_off_led” - led-ul este stins;
  • funcția ”colour_and_sound” - apelează funcția descrisă anterior și declanșează sunetul de alarmă cu ajutorul buzzer-ului;
  • funcția ”check_distance_for_led” - verifică distanța la care se află ”intrusul” de senzorul ultrasonic de distanță și în funcție de aceasta, apelează funcția anterioară schimbând culoarea led-ului ce trebuie aprins;
  • funcția ”blink_led” - aprinde un led într-o buclă nonblocantă prin apelarea funcțiilor mai sus descrise;
  • funcția ”microsecondsToCentimeters” - primește un număr de microsecunde și le transformă în distanța în centimetri;
  • funcția ”get_input_from_ultrasound_sensor” - declanșează senzorul ultrasonic de detectare a distanței și citește input-ul în microsecunde, pe care le transformă în centimetri până la ”intrus” cu ajutorul funcției descrise mai sus;
  • funcția ”print_distance_on_lcd” - scrie pe ecranul lcd distanța la care se află ”intrusul”;
  • funcția ”print_on_lcd_movement” - scrie pe ecranul lcd mesajul de alarmă pentru detectarea unui ”intrus”;
  • funcția ”print_on_lcd_no_movement” - scrie pe ecranul lcd mesajul default în care nu este detectat nimic;
  • funcția ”loop” - citește input-ul de la senzorul PIR de detectare a mișcării și în cazul în care valoarea senzorului este HIGH, iar durata de timp în care sistemul rămâne în starea HIGH este validă, se apelează funcțiile anterior descrise pentru a declanșa starea de alarmă a sistemului, iar altfel, sistemul este în starea default, în care așteaptă detectarea unui ”intrus”.

Rezultate Obţinute

Circuitul real:

Circuitul fixat într-o cutie de carton:

Circuitul în forma finală:

Concluzii

Dezvoltarea sistemului pe care mi l-am dorit a fost o experiență din care am învățat foarte multe.

Trebuie să recunosc că inițial mi se părea un proiect greu mai mult din perpectiva faptului că îmbină partea software cu cea hardware și este primul meu contact cu elemente fizice pe care a trebuit singură să le achiziționez, să le testez, să le montez și să le lipesc.

După ce am realizat circuitul și am văzut că toate problemele cu care m-am confrutat pe parcursul dezvoltării își găseau soluția căutând pe internet modul de funcționare al diverselor componente hardware sau librării, lucurile au început să prindă contur și sistemul să ajungă la sfârșit să fie perfect funcțional și exact cum mi l-am imaginat încă de la simularea acestuia în Tinkercad.

Cred că cel mai interesant mi s-a părut să mă joc cu piesele hardware, întrucât ieșind din zona de confort a temelor exclusiv software, am dobândit cunoștințe care sunt sigură că mă vor ajuta la dezvoltarea mea în viitor.

Download

Arhiva ce conține fișierul .ino, precum și poze și un video demonstrativ al funcționării sistemului se gasește aici: diaconu_arina-ioana_pm_project.zip

Bibliografie/Resurse

pm/prj2023/alexau/mov_det_sys.txt · Last modified: 2023/05/19 22:24 by arina_ioana.diaconu
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