Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:gpatru:doru.cheresdi [2023/05/29 18:39]
doru.cheresdi [Software Design]
pm:prj2023:gpatru:doru.cheresdi [2023/05/29 19:26] (current)
doru.cheresdi [Jurnal]
Line 6: Line 6:
 Munca WFH a devenit din ce in ce mai raspandita in ultimii ani si un astfel de sistem ar fi de folos companiilor care opereaza in acest mod, cat si angajatiilor. Munca WFH a devenit din ce in ce mai raspandita in ultimii ani si un astfel de sistem ar fi de folos companiilor care opereaza in acest mod, cat si angajatiilor.
 ===== Descriere generală ===== ===== Descriere generală =====
-System de monitorizare a angajatilor WFH si asigurare a ergonomiei muncii la birou. Sistemul suporta setarea programului de lucru care este verificat cu un senzor RTC, iar verificarea ca angajatul se afla la birou se face cu un senzor de distanta cu ultrasunete la un anumit interval de timp. Setarea programului se poate face numai dupa introducerea parolei de la PC, microcontrollerul va comunica cu acesta prin interfata seriala.+System de monitorizare a angajatilor WFH si asigurare a ergonomiei muncii la birou. Sistemul suporta setarea programului de lucru care este verificat cu un senzor RTC, iar verificarea ca angajatul se afla la birou se face cu un senzor de distanta cu ultrasunete la un anumit interval de timp.
  
 +Setarea programului se poate face dupa introducerea parolei de la PC, microcontrollerul va comunica cu acesta prin interfata seriala. Parola are rolul de a securiza sistemul astfel incat angajatul sa nu poata schimba programul de lucru fara aprobarea angajatorului. Daca comunicarea cu PC-ul nu este disponibila,​ in modul DEV se poate sari peste introducerea parolei apasand butonul 2.
 Setarea programului de lucru se face prin 2 moduri de configurare:​ Setarea programului de lucru se face prin 2 moduri de configurare:​
   * prin potentionmetru,​ tensiunea fiind tradusa intr-o ora intre 8-20   * prin potentionmetru,​ tensiunea fiind tradusa intr-o ora intre 8-20
   * prin senzorul de distanta si pozitionarea mainii la o distanta care se traduce in ora dorita   * prin senzorul de distanta si pozitionarea mainii la o distanta care se traduce in ora dorita
-Alegerea modului de configurare a programului (potentiometru sau senzor de distanta) se va face in modul urmator: se porneste un timer si daca butonul este apasat pana sa se termine timerul, ​modul de configurare va fi cel bazat pe potentiometru,​ altfel se va folosi cel cu senzorul de distanta.+Alegerea modului de configurare a programului (potentiometru sau senzor de distanta) se va face in modul urmator: se contorizeaza timpul folosind modulul RTC si daca in 10 secunde ​se apasa butonul 2 modul de configurare va fi cel bazat pe potentiometru,​ altfel se va folosi cel cu senzorul de distanta.
  
-Se asigura ergonomia la birou prin verificarea ca angajatul ia pauze la un anumit inteval de timp, iar un senzor de lumina este folosit pentru a atentiona angajatul sa porneasca dark mode pe PC. Se verifica de asemenea si distanta fata de birou la care sta angajatul astfel incat sa se respecte cei minim 60cm fata de ecran fata de care trebuie sa se afle angajatul. Daca angajatul nu se ridica de la birou pentru pauza, sistemul va porni un buzzer care poate fi oprit printr-un buton.+Se asigura ergonomia la birou in modul urmator:
  
-Datele sunt prelucrate si un raport este trimis la PC pentru a fi afisat.+  * Se verifica ca angajatul nu este prea apropriat de birou. Daca distanta fata de birou a angajatului este prea mica, atunci se trimite un warning la PC si se porneste un buzzer pentru a atentiona angajatul. 
 + 
 +  * Se verifica lumina din incapare folosind un senzor de lumina si daca se detecteaza intuneric, angajatul este atentionat sa porneasc dark mode pe pc pentru ergonomie. 
 + 
 +  * Se verifica ca angajatul ia pauze la un anumit interval de timp. Daca trece acel interval si angajatul nu a luat o pauza(s-a ridicat de la birou), atunci se porneste o alarma care poate fi oprita fie daca se ridica de la birou sau daca apasa pe butonul 2 de snooze. Se contorizeaza numarul de snooze-uri pe care angajatul le-a dat. 
 + 
 +  * Se verifica ca angajatul a fost la birou pentru cel putin 1/4 din program. Daca lipseste pentru mai mult de 3/4 din program, atunci sistemul intra in modul WORKER_FAILED. 
 + 
 +Toate avertismentele sunt inregistrate si afisate la sfarsitul programului in raportul de lucru. ​Datele sunt prelucrate si un raport este trimis la PC pentru a fi afisate.
  
 Pentru demo, sistemul va avea modul: DEV. Pentru productie se va implementa modul PROD, diferenta fiind intervalele de timp. In modul DEV aceasta sunt mult mai scurte pentru a se putea testa mai usor proiectul, iar in modul PROD intervalele de timp vor fi cele corespunzatoare unui program de lucru normal. Pentru demo, sistemul va avea modul: DEV. Pentru productie se va implementa modul PROD, diferenta fiind intervalele de timp. In modul DEV aceasta sunt mult mai scurte pentru a se putea testa mai usor proiectul, iar in modul PROD intervalele de timp vor fi cele corespunzatoare unui program de lucru normal.
Line 76: Line 85:
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Am reusit sa realizez ce mi-am propus, un sistem de monitorizare al angajatului in regim WFH si de asigurare a ergonomiei la birou.
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 ===== Concluzii ===== ===== Concluzii =====
 +Proiectul a fost unul interesant de creat mai ales ca are si aplicabiliatate practica. Probleme intampinate au fost mai mult la nivel hardware, dar am gasit solutii software pentru a le mitiga.
 ===== Download ===== ===== Download =====
  
-<note warning>​ +https://github.com/​DoruCheresdi/​Proiect-PM/​blob/​main/​Proiect-PM.ino 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+ 
 +Arhiva cu codul: 
 +{{:​pm:​prj2023:​gpatru:​cheresdidoruproiectpm.zip|}}
  
-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 ===== ===== Jurnal =====
   * 04.05.2023 -> scrierea documentatiei   * 04.05.2023 -> scrierea documentatiei
-<note tip+  * 11.05.2023 -verificarea componentelor 
-Puteți avea și o secțiune ​de jurnal în care să poată urmări asistentul de proiect progresul proiectului+  * 18.05.2023 -> creat montaj si scris schelet cod 
-</note>+  * 19.05.2023 -> continuat ​de scris cod 
 +  * 21.05.2023 -> terminat de scris cod 
 +  * 29.05.2023 -polishing software
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +https://​adafruit.github.io/​RTClib/​html/​class_date_time.html
 +
 +https://​adafruit.github.io/​RTClib/​html/​class_time_span.html
 +
 +https://​github.com/​NorthernWidget/​DS3231
  
 <​note>​ <​note>​
pm/prj2023/gpatru/doru.cheresdi.1685374768.txt.gz · Last modified: 2023/05/29 18:39 by doru.cheresdi
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