Autorul poate fi contactat la adresa: Login pentru adresa
Dispozitiv folosit pentru masurarea pulsului si afisarea valorii acestuia pe un LCD.
Verificarea valorii pulsului este importanta atat pentru persoanele cu diverse afectiuni cardiace, cat si pentru persoanele sanatoase in timpul efortului fizic.
Schema bloc:
Lista de piese:
Schema electrica:
Mediu de dezvoltare:
Software Design:
- Programul verifica modificari in informatia primita de la senzorul de puls. Pentru a lua informatia de la senzor, se foloseste ADC pe pinul PA0.
- Pentru a creste acuratetea masuratorilor, folosesc un buffer circular al valorilor masurate anterior. Iar diferenta absoluta dintre valorile noi si media masuratorilor anterioare trebuie sa fie mai mare decat o anumita limita.
- Deoarece in functie de lumina din mediu variaza mult valorile masurate, nu poate fi folosita o limita constanta. Astfel, pentru a obtine o limita de comparatie valida, creez un alt buffer circular in care tin minte diferentele absolute de tip <valoare noua, medie masuratori anterioare>. Limita de comparatie va fi media acestui buffer.
- Pana in acest punct am obtinut un contor ce numara bataile inimii. Pentru a transforma aceasta informatie in valoarea pulsului, este nevoie de un timer. Deoarece nu am putut seta un timer la 10 secunde, am setat un timer la 2 secunde, si folosesc din nou un alt buffer pentru a tine ultimele 5 valori ale numarului batailor inimii pe care le adun pentru a obtine numarul de batai ale inimii pe 10 secunde. Folosesc acest buffer pentru a face un sliding-window ce se updateaza la fiecare 2 secunde.
Desi are momente cand variaza, pulsul obtinut se afla intr-un range normal, de 70-80 batai pe minut.
Din punct de vedere al lucrului cu componente hardware, am invatat cum sa lipesc componente si sa folosesc scheme electrice. Din punct de vedere al software-ului, am aprofundat mai bine notiunile invatate la laborator. Deasemenea, am invatat si cum sa folosesc o biblioteca de LCD Nokia 5110.
Arhiva: pulso_meter.rar