anni14899:
Das bekomme ich auf dem seriellen Monitor angezeigt, ich weiß aber nicht, wie ich diese Werte deuten soll.
Irgendwie ist dort ja kein Schema, wie bei einem Herzschlag.
Nein?
Ich sehe in der Zahlenreihe steigende und fallende Werte.
Das ist ein "schwaches Signal"
Und diese Werte steigen und fallen bei Dir NICHT im Rhythmus des Herzschlags?
Sondern sie folgen "keinem Schema?
Hast Du vielleicht diesen Sensor und hast Du die LED so ausgerichtet, dass sie direkt von der LED auf die Fotodiode leuchtet, so dass Du Deinen Finger dazwischenlegen kannst, und die LED leuchtet durch den Fingernagel, durch den Finger, und am Ende kommt das Licht an der Fotodiode an?
Sind Deine Fingernägel lackiert, wenn Du das Signal testest?
Lackierte Fingernägel können das Signal abschwächen.
Aber in Deiner Zahlenreihe sehe ich durchaus ein "Signal", also dass sich an den Messwerten etwas ändert. Aber um aus einem sich so schwach ändernden Signal etwas herauszulesen, z.B. eine Herzschlagfrequenz, muß Dein Sketch sicher schon einiges an Signalverarbeitung ausführen.
Aber solange sich das Signal bei Dir NICHT rhythmisch mit dem Herzschlag ändert, sondern mehr einem Rauschsignal mit stochastisch-zufälligen Änderungen folgt, brauchst Du Dir überhaupt keine Gedanken machen, ob Du damit eine LED im Herzschlagrhythmus schalten kannst.
Darüber brauchst Du erst dann ndachdenken, wenn Du vom Sensor ein sich mit dem Herzschlag rhythmisch änderndes Signal bekommst.
Aus einem Zufallsrauschen von Werten kannst Du keinen Herzschlag erkennen.
Vielleicht mal den Nagellack entfernen, wenn welcher drauf ist, und auf die korrekte Ausrichtung von LED und Fotodiode achten!
Siehe rote Linie im gezeigten Bild: Die Mittelachse der LED direkt auf die Fotodiode ausgerichtet, und den Finger dazwischen platzieren.
Der von mir oben gepostete Beispielcode macht alle 20 Millisekunden ein Sample, also 50 Werte pro Sekunde. Bei einer Herzfrequenz von 60 BPM (beats per minute) sollten die Werte also circa alle 50 Zeilen ungefähr wiederholen (50 Werte mal 20ms Pause zwischen den Werten = 1s).