This shows you the differences between two versions of the page.
pm:prj2023:avaduva:anxietydetector [2023/05/21 22:27] maria_diana.cotelin [Hardware Design] |
pm:prj2023:avaduva:anxietydetector [2023/05/30 14:37] (current) maria_diana.cotelin [Hardware Design] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* Grupa: 336CA | * Grupa: 336CA | ||
</note> | </note> | ||
- | Ideea principala a acestui proiect este de a crea un aparat care monitorizeza pulsul si temperatura (parametri fiziologici) oferind informatii despre nivelul de stres/anxietate al unei persoane. | + | Ideea principala a acestui proiect este de a crea un aparat care monitorizeza nivelul de stres/anxietate al unei persoane. Acesta utilizeaza un senzor de temperatura pentru a detecta schimbarile de temperatura corporala asociate cu stresul, un senzor de puls pentru a masura ritmul cardiac si fire care masoara rezistenta corpului pentru a evalua nivelul de transpiratie. |
- | ===== Descriere generală ===== | + | |
- | Se va folosi un senzor de masurarea a pulsului si unul pentru temperatura pentru a obtine informatii referitoare la starea persoanei. Valoriile vor fi analizate si pe baza acestora se va aprinde un bec. | + | |
- | Good -> LED-ul verde se aprinde, pe ecranul LCD se va afisa mesajul: //“You are fine!”// | + | Senzorul de temperatura este amplasat pe suprafata pielii pentru a detecta variațiile subtile ale temperaturii corpului. Când o persoană se confruntă cu stres, corpul poate experimenta modificări ale temperaturii, cel mai des intalnite fiind temperaturile scazute la nivelul articulatiilor. |
- | Not Good → LED-ul albastru se aprinde, pe ecranul LCD se va afisa mesajul: //“Calm down!”// si buzzerul va canta o melodie pentru a linisti persoana | + | |
+ | Senzorul de puls măsoară ritmul cardiac al unei persoane prin detectarea pulsului sanguin. | ||
+ | |||
+ | Firele masoara răspunsul galvanic al pielii (GSR) sau răspunsul electrodermic, o măsură a conductivității electrice a pielii, care este influențată de nivelul de transpirație și de activitatea sistemului nervos autonom. | ||
+ | ===== Descriere generală ===== | ||
+ | Initial utilizatorul isi introduce varsta iar apoi este masurata temperatura corpului. Se masoara si pulsul pentru un interval de 10 secunde, timp in care buzzerul reda sunete pentru a simula bataile inimii, iar un led se aprinde si se stinge in acelasi ritm. Dupa ce cele 10 secunde au trecut, este masurata rezistenta corpului. Cand toate cele 3 date au fost colectate se analizeaza si se determina daca persoana respectiva este stresata sau nu, aprinzandu-se unul dintre cele doua leduri (galben - stresat, verde - ok). | ||
{{:pm:prj2023:avaduva:schema_anxiety.png?400|}} | {{:pm:prj2023:avaduva:schema_anxiety.png?400|}} | ||
Line 17: | Line 20: | ||
^ Componenta ^ Cantitate ^ | ^ Componenta ^ Cantitate ^ | ||
| Arduino | 1 | | | Arduino | 1 | | ||
- | | LED | 2 | | + | | LED | 3 | |
| Buzzer | 1 | | | Buzzer | 1 | | ||
| Senzor puls | 1 | | | Senzor puls | 1 | | ||
+ | | Senzor temperatura| 1 | | ||
| Rezistente | 4 | | | Rezistente | 4 | | ||
| Fire mama-tata si tata-tata | multe | | | Fire mama-tata si tata-tata | multe | | ||
Line 36: | Line 40: | ||
{{:pm:prj2023:avaduva:s3.jpeg?300|}} | {{:pm:prj2023:avaduva:s3.jpeg?300|}} | ||
+ | Aspect final: | ||
+ | |||
+ | {{:pm:prj2023:avaduva:whatsapp_image_2023-05-29_at_23.30.02.jpeg?300|}} | ||
+ | |||
+ | {{:pm:prj2023:avaduva:whatsapp_image_2023-05-30_at_14.34.47.jpeg?300|}} | ||
+ | {{:pm:prj2023:avaduva:whatsapp_image_2023-05-29_at_23.30.02_1_.jpeg?300|}} | ||
+ | {{:pm:prj2023:avaduva:whatsapp_image_2023-05-30_at_14.34.52.jpeg?300|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Modul de functionare este urmatorul: | ||
+ | 1. Utilizatorul introduce varsta | ||
+ | 2. Utilizatorul atinge senzorul de temperatura | ||
+ | float voltage = sensorValue * (5.0 / 1023.0);{{:pm:prj2023:avaduva:stressdetector.zip|}} | ||
+ | temperatureC = (voltage - 0.5) * 100; | ||
+ | 3. Senzorul de puls analizeaza datele pentru un interval de 10 secunde | ||
+ | 4. Cele doua fire masoara rezistenta si o calculeaza, selectand valoarea cea mai ridicata | ||
+ | voltage = sensorValue * (5.0 / 1023.0); | ||
+ | resistance = (5.0 - voltage) / voltage; | ||
+ | |||
+ | 5. Se analizeaza datele si se determina daca persoana care foloseste dispozitivul este stresata. | ||
+ | |||
+ | Sursa cod: {{:pm:prj2023:avaduva:stressdetector.zip|}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Cea mai mare provocare a fost la masurarea rezistentei corpului, desi in mod normal ar fi trebuit sa obtin rezultate asemanatoare pozei: | ||
+ | {{:pm:prj2023:avaduva:bodyres.jpg?300|}} | ||
+ | |||
+ | Rezultatele mele nu au fost chiar consistente. O singura data am reusit sa obtin valori apropiate de cele care ar trebui sa fie, dar acest lucru a depins foarte mult de modul in care tineam firele si cum se realiza contactul cu pielea. Am incercat diverse metode, de la folii de aluminiu la monede sau fire de legatura, dar nu am avut foarte mult succes. | ||
+ | |||
+ | In mod ideal s-ar folosi un senzor GSR, reproducerea doar cu fire de legatura nu a parut foarte utila. | ||
+ | {{:pm:prj2023:avaduva:gsr.png?300|}} | ||
+ | |||
+ | Alt motiv pentru care proiectul meu nu a obtinut rezultatele dorite a fost lipsa resurselor pentru partea de analiza a rezultatelor. Indicii pe care i-am ales au fost vag determinati din documentele pe care am reusit sa le gasesc referitoare la efectele stresului asupra corpului uman. | ||
+ | |||
+ | if (age < 30) { | ||
+ | if ((resistance > 30) && (temperatureC < 35) && (count * 6 > 80)) { | ||
+ | digitalWrite(ledYes, HIGH); | ||
+ | digitalWrite(ledNo, LOW); | ||
+ | } else { | ||
+ | digitalWrite(ledYes, LOW); | ||
+ | digitalWrite(ledNo, HIGH); | ||
+ | } | ||
+ | } else { | ||
+ | if ((resistance > 30) && (temperatureC < 35) && (count * 6 > 70)) { | ||
+ | digitalWrite(ledYes, HIGH); | ||
+ | digitalWrite(ledNo, LOW); | ||
+ | } else { | ||
+ | digitalWrite(ledYes, LOW); | ||
+ | digitalWrite(ledNo, HIGH); | ||
+ | } | ||
+ | } | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Cel mai probabil rezultatele ar fi fost mult mai bune daca as fi folosit senzori mai calitativi si performanti, in special cel GSR. In ansamblu proiectul face o treaba destul de ok in a simula cum ar trebui sa functioneze un device care chiar ar putea determina nivelul de stres al unei persoane. | ||
===== Download ===== | ===== Download ===== | ||
+ | https://youtube.com/shorts/1VCJbCX8oxM?feature=share | ||
+ | |||
+ | |||
+ | {{:pm:prj2023:avaduva:proiect_pm_anx.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | https://thomaskosch.com/index.php/2017/12/17/galvanic-skin-response-powered-by-arduino/ | ||
+ | |||
+ | https://imotions.com/blog/learning/research-fundamentals/gsr/ | ||
+ | |||
+ | https://www.youtube.com/watch?v=Ier0U_JHj-s&ab_channel=AHFProject | ||
+ | |||
+ | https://pulsesensor.com/pages/pulse-sensor-speaker-tutorial | ||
+ | |||
+ | https://www.anxietycentre.com/anxiety-disorders/symptoms/change-in-body-temperature/ | ||
+ | |||
<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> |