Authors: Arda Dolanay, Thomas Wood, Zack Graham and Conrad Belaire
HeartWave is a Qt-based application designed to monitor and analyze heart rate variability (HRV) to provide insight into a user's coherence levels. The application processes heart rate data collected by a sensor to calculate a coherence score and display it on the screen. The coherence score ranges from 0 to 16 and reflects the user's internal order or harmony, enabling better balance, greater health, and improved creativity, resilience, and productivity.
https://www.youtube.com/watch?v=GyaLtza7teg
- Real-time heart rate monitoring and HRV analysis
- Coherence score calculation
- Coherence level visualization: low (red), medium (blue), and high (green)
- Challenge levels (1 to 4) to encourage user progress
- Battery monitoring and low battery alerts
- Interruption handling due to sensor disconnect or battery issues
To set up and use the HeartWave application, follow these steps:
- Install Qt: Download and install the Qt framework, making sure the version is Qt 4. Ensure that you have the appropriate version of Qt for your platform and the necessary development tools (such as Qt Creator) installed.
- Clone Repository: Clone the HeartWave application repository to your local machine. If you are using Git, you can use the following command:
git clone https://github.com/ConradBelaire/HRV
. - Open Project: Launch Qt Creator and open the HeartWave project by selecting "Open Project" from the "File" menu and navigating to the directory where you cloned the repository. Choose the .pro file to open the project.
- Configure Build: Configure the project build settings according to your platform and development environment. This may include selecting the appropriate compiler and setting up the necessary libraries.
- Build and Run: Build the HeartWave application by selecting "Build" from the "Build" menu or by pressing the appropriate keyboard shortcut (e.g., Ctrl+B). Once the build is successful, run the application by selecting "Run" from the "Build" menu or by pressing the appropriate keyboard shortcut (e.g., Ctrl+R).
- Monitor: The sensor will continuously send heart rate data to the HeartWave device, which will then process the data, calculate the coherence score, and update the screen.
- Challenge Levels: Users can select from four challenge levels (1 to 4) to increase the coherence score threshold for low, medium, and high coherence levels. As the user's coherence score improves, they can advance to higher challenge levels.
- Battery Management: The device will monitor the battery level and send a low battery warning to the HeartWave device. Users should recharge or replace the battery as needed.
- Session Interruptions: The application is designed to handle interruptions due to sensor disconnects or battery issues.
Arda Dolanay, Zack Graham, Thomas Wood, and Conrad Belaire
- Arda Dolanay: Heart Rate & Coherence Data, Algorithm to calculate Coherence, Team Project Timeline, and Team Design Implementation Plan
- Zack Graham: DBManager, MainWindow, Log, Session, Menu, Profile, Debugging
- Thomas Wood: MainWindow, Log, Session, User Interface Graph Functionality, Debugging, Code Comments, Program Design, Use Cases, Use Case Diagram, UML Class Diagram, Activity Diagrams, Sequence Diagrams
- Conrad Belaire: User Interface Design & Functionality, MainWindow, Debugging, Traceability Matrix, Demonstration Video
The submission is organized into 2 folders:
- HRV: This folder includes the following:
- Documentation: Contains all the diagrams and related documentation.
- Activity_Diagrams: Activity Diagrams
- Sequence_Diagrams: Sequence Diagrams
- src: PlantUML Sequence Diagram Raw Code.