Hi,
ich weiss jetzt nicht, wie man die Spannung auf den Analogeingang
wandelt, aber wenn die einmal darauf liegt, würde ich das so machen
(Pseudo-Code)
Timer setzen, alle 20 Millisekunden (50*pro sekunde, wert evtl
anpassen)
counterlow = 0
counterhigh = 0
Do
endlosschleife, der Timer wird angesprungen
Loop
Timerroutine:
speichere Analogwert in Variable aktuell
wenn aktuell größer als maximalwert
> ersetze maximalwert durch aktuell
wenn aktuell größer als 85% maximalwert
> increase counterhigh
sonst
> increase counterlow
bpm = counterhigh / (counterlow + counterhigh) 50 60
wenn (counterhigh + counterlow) > 600
> counterhigh = counterhigh / 600
> counterlow = counterlow / 600
Return
Dann sollte eigentlich in der Variablen BPM der Wert stehen. Ich bitte
um Berichtung meiner Denkfehler ;-)
Gruß
sebezahn