-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBPM_modified_GettingStartedProject.ino
More file actions
54 lines (40 loc) · 2.02 KB
/
BPM_modified_GettingStartedProject.ino
File metadata and controls
54 lines (40 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* PulseSensor Starter Project and Signal Tester
The Best Way to Get Started With, or See the Raw Signal of, your PulseSensor.com™ & Arduino.
Here is a link to the tutorial
https://pulsesensor.com/pages/code-and-guide
WATCH ME (Tutorial Video):
https://www.youtube.com/watch?v=RbB8NSRa5X4
-------------------------------------------------------------
1) This shows a live human Heartbeat Pulse.
2) Live visualization in Arduino's Cool "Serial Plotter".
3) Blink an LED on each Heartbeat.
4) This is the direct Pulse Sensor's Signal.
5) A great first-step in troubleshooting your circuit and connections.
6) "Human-readable" code that is newbie friendly."
*/
// Variables
int PulseSensorPurplePin = 0; // Pulse Sensor PURPLE WIRE connected to ANALOG PIN 0
int LED13 = 13; // The on-board Arduion LED
int Signal; // holds the incoming raw data. Signal value can range from 0-1024
int Threshold = 550; // Determine which Signal to "count as a beat", and which to ingore.
// The SetUp Function:
void setup() {
pinMode(LED13, OUTPUT); // pin that will blink to your heartbeat!
Serial.begin(9600); // Set's up Serial Communication at certain speed.
}
// The Main Loop Function
void loop() {
Signal = analogRead(PulseSensorPurplePin); // Read the PulseSensor's value.
// Assign this value to the "Signal" variable.
unsigned long time = millis(); // Current run time in milliseconds.
Serial.print(time); // Print the time in ms to serial output
Serial.print("\t"); // Print a tab to separate the time from the signal
Serial.println(Signal); // Send the Signal value to Serial Plotter.
if (Signal > Threshold) { // If the signal is above "550",
digitalWrite(LED13, HIGH); // then "turn-on" Arduino's on-Board LED.
} else {
digitalWrite(LED13, LOW); // Else, the sigal must be below "550",
// so "turn-off" this LED.
}
delay(10);
}