This shows you the differences between two versions of the page.
pm:prj2023:alexau:mov_det_sys [2023/04/28 15:10] arina_ioana.diaconu |
pm:prj2023:alexau:mov_det_sys [2023/05/19 22:24] (current) arina_ioana.diaconu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 16: | Line 16: | ||
== Diagrama bloc a sistemului: == | == Diagrama bloc a sistemului: == | ||
- | {{:pm:prj2023:alexau:screenshot_985_.png?200|}} | + | {{:pm:prj2023:alexau:screenshot_985_.png?750|}} |
Imaginea de mai sus reflectă la nivel conceptual modul de interacțiune dintre elementele sistemului și mediul exterior.\\ \\ | Imaginea de mai sus reflectă la nivel conceptual modul de interacțiune dintre elementele sistemului și mediul exterior.\\ \\ | ||
Line 41: | Line 41: | ||
== Schema electrică: == | == Schema electrică: == | ||
- | {{:pm:prj2023:alexau:screenshot_986_.png?200|}} | + | {{:pm:prj2023:alexau:screenshot_986_.png?750|}} |
===== Software Design ===== | ===== 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 ===== | ===== Rezultate Obţinute ===== | ||
+ | == Circuitul real: == | ||
+ | {{:pm:prj2023:alexau:diaconu_arina-ioana_-_circuit_electric.jpeg?750|}} | ||
+ | == Circuitul fixat într-o cutie de carton: == | ||
+ | {{:pm:prj2023:alexau:diaconu_arina-ioana_-_circuit_-_fixat_in_cutie_de_carton.jpeg?750|}} | ||
+ | == Circuitul în forma finală: == | ||
+ | {{:pm:prj2023:alexau:diaconu_arina-ioana_-_circuit_-_forma_finala.jpeg?750|}} | ||
===== Concluzii ===== | ===== 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. | ||
- | ===== Download ===== | + | 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. | ||
- | ===== Bibliografie/Resurse ===== | + | ===== Download ===== |
+ | Arhiva ce conține fișierul .ino, precum și poze și un video demonstrativ al funcționării sistemului se gasește aici: {{:pm:prj2023:alexau:diaconu_arina-ioana_pm_project.zip|}} | ||
+ | ===== Bibliografie/Resurse ===== | ||
+ | * https://support.arduino.cc/hc/en-us/articles/4403050020114-Troubleshooting-PIR-Sensor-and-sensitivity-adjustment | ||
+ | * https://www.tutorialspoint.com/arduino/arduino_ultrasonic_sensor.htm | ||
+ | * https://www.ardumotive.com/how-to-use-a-buzzer-en.html | ||
+ | * https://learn.adafruit.com/adafruit-arduino-lesson-2-leds/breadboard-layout | ||
+ | * https://www.geeksforgeeks.org/how-to-make-motion-detection-system-using-arduino/ | ||
+ | * https://maker.pro/arduino/tutorial/how-to-build-an-arduino-powered-motion-sensor-alarm | ||
<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> | ||