Comments (5)
- When using the hardware timer, you are sure to get a very regular sample rate, which is important for doing DSP on analog signals. That ensures that our derivation of BPM values is accurate. Using a software timer means that the main loop in the program has to check the time to see if it's time to read the sensor. This can cause jitter in the timing of the analog readings, which will effect accuracy of the BPM values. Both our hardware and software timers are set up to read at 500Hz (2mS sample rate). That, according to some science that I read, is good enough to get accurate heart rate data. If you're using the software timer, you have to be mindful in your code not to get too caught up in some activity for more than 2mS to ensure that you don't miss a sample reading.
We do have some statistical analysis code in the Playground to get a baseline of your sample accuracy when running either timer. A tutorial on that is forthcoming.
- Right now, I'm wrapping up a tutorial on how to connect Pulse Sensor to Raspberry Pi. When I'm done with that, I will jump on the Teensy family.
from pulsesensorplayground.
@dsiah Well, the Teensy does have interrupts that would work with Pulse Sensor, but they're not implemented yet. We plan to, and we're working toward this eventual hardware support.
For now, please use the PulseSensor_BPM_Alternative code example to start with. It uses a software timer interrupt, and it can be implemented with very little jitter.
from pulsesensorplayground.
Lovely, I was able to compile that, as a follow up:
- What is the key difference between using the software timer interrupt and the hardware support?
- Is there a timeline for the hardware support?
Thank you!
from pulsesensorplayground.
@dsiah
I'm jumping into this and noticing some things about your original issue.
First, it looks like you're compiling an unsupported code base.
The PulseSensorAmped_Arduino_1.5.0.ino has been superseded by the PulseSensor Playground Library. Right now, the best example sketch to use is the PulseSensor_BPM_Alternative.ino sketch.
This will compile and run on Teensy boards, but we don't have the timer interrupt worked out yet.
Please use the new library.
from pulsesensorplayground.
Thanks @biomurph I've been using this and hope the issue directs others in my situation to use that sketch.
from pulsesensorplayground.
Related Issues (20)
- GETTING STARTED WORKING BUT NOT GETTING BPM TO MONITOR HOT 5
- Quick question, my smart meter has a pulse HOT 1
- Getting_BPM_to_monitor sketch displaying random values at 11250 baud HOT 8
- Node MCU V1 - Plotter is working but no BPM in Monitor HOT 3
- I'm getting high BPM HOT 1
- Code error for sp32 pulse sensor data to thinspeak HOT 19
- Compatibility issue Nano BLE ABX00034 HOT 6
- PulseSensr_BPM_Alternative Compilation Errors HOT 7
- turning off/on the bright light when needed HOT 2
- Can't compile even when including "USE_ARDUINO_INTERRUPTS true" HOT 14
- GETTING STARTED WORKING BUT NOT GETTING BPM TO MONITOR , ALTERNATIVE HOT 1
- No BPM readings HOT 3
- Problem about sensor when connecting with Arduino NANO 33 loT HOT 3
- Pulse sensor BPM_to_Monitor script does not work on Arduino Nano Every HOT 5
- example for esp8266 HOT 3
- sampleTimer.stop() and sampleTimer.start issues HOT 6
- `multiple definition of __vector_11` when including `<Servo.h>` HOT 14
- When using the duration parameter of tone, the sound will be distorted HOT 12
- Heart rate is abnormally high HOT 5
- Pulse Sensor cpp library obsolete with Espressif ESP32 core update from versions 2.x to 3.x HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pulsesensorplayground.