This shows you the differences between two versions of the page.
|
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 ===== | ||