An Arduino library for interpreting biological signals, BioData makes it easier to collect data relative to heart rate, respiration and electrodermal activity. The sensors used for monitoring these signals are a photoplethysmograph for heart rate, a thermistor for respiration and electrodes for electrodermal activity. This library depends on Plaquette, an object-oriented library for signal processing.
This code is tested on my own respiration and EDA circuitry (image included above) as well as with a Pulse Sensor connected to 3.3V power source. Be aware that your results may vary with a 5V signal.
Copy the BioData folder to your Arduino or Wiring libraries folder or download it with the Arduino library manager.
Code verified on Arduino 2.0.3 on a Teensy 3.2 microcontroller.
To gather heart beat data I use the Pulse Sensor connected to a 3.3V power source. Be aware that your results may vary when using this library with a 5V signal.
#include <Heart.h>
// Create instance for sensor on analog input pin.
Heart heart(A8);
void setup() {
Serial.begin(9600);
// Initialize sensor.
heart.reset();
}
void loop() {
// Update sensor.
heart.update();
// Print-out different informations.
Serial.print(heart.beatDetected());
Serial.print(" ");
Serial.print(heart.getBPM());
Serial.print(" ");
Serial.print(heart.getNormalized());
Serial.print(" ");
Serial.print(heart.getRaw());
Serial.println();
}Refer to the assembly listing for the parts.
Main Developer: Erin Gee
Contributors:
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Released under GNU GPL 3.0 License. Copyright Erin Gee 2018.