Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include "MAX30100_PulseOximeter.h"
- #define REPORTING_PERIOD_MS 1000
- PulseOximeter pox;
- uint32_t tsLastReport = 0;
- int Buzzer =4;
- int LED = 26;
- void onBeatDetected()
- {
- Serial.println("Beat!");
- }
- void setup()
- {
- Serial.begin(115200);
- Wire.begin();
- pinMode(Buzzer, OUTPUT);
- pinMode(LED, OUTPUT);
- Serial.print("Initializing pulse oximeter..");
- if (!pox.begin()) {
- Serial.println("FAILED");
- for (;;);
- } else {
- Serial.println("SUCCESS");
- }
- pox.setOnBeatDetectedCallback(onBeatDetected);
- }
- void loop()
- {
- pox.update();
- if (millis() - tsLastReport > REPORTING_PERIOD_MS)
- {
- Serial.print("Heart rate:");
- Serial.print(pox.getHeartRate());
- Serial.print("bpm / O2:");
- Serial.print(pox.getSpO2());
- Serial.println("%");
- if (pox.getSpO2() == 0)
- {
- digitalWrite(Buzzer, LOW);
- digitalWrite(LED, LOW);
- }
- else if (pox.getSpO2() >= 95)
- {
- digitalWrite(Buzzer, LOW);
- digitalWrite(LED, LOW);
- }
- else if (pox.getSpO2() < 95 && pox.getSpO2() > 0)
- {
- digitalWrite(Buzzer, HIGH);
- digitalWrite(LED, HIGH);
- }
- tsLastReport = millis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement