Differences

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

Link to this comparison view

pm:prj2022:avaduva:alexandru.necula01 [2022/04/30 17:44]
alexandru.necula01
pm:prj2022:avaduva:alexandru.necula01 [2022/04/30 19:02] (current)
alexandru.necula01 [Jurnal]
Line 48: Line 48:
 ==== Schema electrica ==== ==== Schema electrica ====
  
-TODO here insert schema Eagle +{{:​pm:​prj2022:​avaduva:​schematic_heartmonitor.png?​700|}}
 <​note>​ <​note>​
 Placuta comandata care include senzorul are o problema de design, respectiv Placuta comandata care include senzorul are o problema de design, respectiv
Line 63: Line 62:
 ((https://​simple-circuit.com/​arduino-st7789-ips-tft-display-example/​)) ((https://​simple-circuit.com/​arduino-st7789-ips-tft-display-example/​))
 </​note>​ </​note>​
- 
  
 ===== Software Design ===== ===== Software Design =====
Line 90: Line 88:
  
 **Initializari** - inainte de orice functie, initializam urmatoarele variabile: **Initializari** - inainte de orice functie, initializam urmatoarele variabile:
-  * pox → clasa care defineste senzorul de puls-oximetru +  * //pox// → clasa care defineste senzorul de puls-oximetru 
-  * tft → clasa care defineste display-ul tft +  * //tft// → clasa care defineste display-ul tft 
-  * lastState → initializat cu WAITING, folosita pentru a tine cont cand actualizam display-ul +  * //lastState// → initializat cu WAITING, folosita pentru a tine cont cand actualizam display-ul 
-  * prevHeartRate → initializat cu 0, folosita pentru a determina daca calculul pulsului este stabil +  * //prevHeartRate// → initializat cu 0, folosita pentru a determina daca calculul pulsului este stabil 
-  * tsLastReport → initializat cu 0, folosita pentru a actualiza display-ul la intervale determinate+  * //tsLastReport// → initializat cu 0, folosita pentru a actualiza display-ul la intervale determinate
  
 <​note>​ <​note>​
Line 103: Line 101:
  
 **Functii** **Functii**
-  * setup() → initializarea pinilor pentru buzzer si LED-uri, initializarea display-ului TFT, initializarea senzorului de puls, inregistrarea functie de callback pentru fiecare puls +  * //setup()// → initializarea pinilor pentru buzzer si LED-uri, initializarea display-ului TFT, initializarea senzorului de puls, inregistrarea functie de callback pentru fiecare puls 
-  * loop() → logica principala a programului:​ apeleaza //​pox.update()//;​ la fiecare 2 secunde calculeaza pulsul si SpO2 si afiseaza informatii relevante pe display in functie de aceste valori +  * //loop()// → logica principala a programului:​ apeleaza //​pox.update()//;​ la fiecare 2 secunde calculeaza pulsul si SpO2 si afiseaza informatii relevante pe display in functie de aceste valori 
-  * RGB_color(red,​ green, blue) → seteaza pinii LED-ului RGB cu valorile date ca parametri +  * //RGB_color(red,​ green, blue)// → seteaza pinii LED-ului RGB cu valorile date ca parametri 
-  * setRGBColor(spO2,​ heartRate) → apeleaza //​RGB_color//​ cu valori in functie de puls si SpO2 +  * //setRGBColor(spO2,​ heartRate)// → apeleaza //​RGB_color//​ cu valori in functie de puls si SpO2 
-  * onBeatDetected() → functie callBack; porneste buzzer-ul si LED-ul rosu de fiecare data cand detectam un puls +  * //onBeatDetected()// → functie callBack; porneste buzzer-ul si LED-ul rosu de fiecare data cand detectam un puls 
-  * printOnDisplay(x,​ y, whatToPrint) -> afiseaza pe display mesajul/​valoarea dorita; deoarece aceasta operatie dureaza mai mult timp, apeleaza //​pox.update()//​ +  * //printOnDisplay(x,​ y, whatToPrint)// -> afiseaza pe display mesajul/​valoarea dorita; deoarece aceasta operatie dureaza mai mult timp, apeleaza //​pox.update()//​ 
-  * clearDisplay() → diferit de implementarea din biblioteca Adafruit, pentru a permite interogarea senzorului de puls; printeaza cate un spatiu pe ecran pentru a sterge continutul anterior+  * //clearDisplay()// → diferit de implementarea din biblioteca Adafruit, pentru a permite interogarea senzorului de puls; printeaza cate un spatiu pe ecran pentru a sterge continutul anterior
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 143: Line 141:
   * **15.04.2022**:​ comanda piese   * **15.04.2022**:​ comanda piese
   * **21.04.2022**:​ publicare descriere wiki   * **21.04.2022**:​ publicare descriere wiki
-  * **30.04.2022**: finalizare software si asamblare hardware +  * **29.04.2022**: finalizare software si asamblare hardware 
-  * **01.05.2022**: finalizare wiki, publicare documentatie completa+  * **30.04.2022**: finalizare wiki, publicare documentatie completa
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2022/avaduva/alexandru.necula01.1651329865.txt.gz · Last modified: 2022/04/30 17:44 by alexandru.necula01
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