Group 11 Final Project: An Adruino "Fitbit"
Our project was creating a “Fitbit”-like apparatus that measured heartrate and movement. We wanted to work with a pulse sensor because both of us have backgrounds in biology and health, so we thought measuring data from a human would be interesting. Neither of us are engineers, so we wanted to incorporate our interests and backgrounds into this project. Also, having no engineering background, we wanted to take on something that would be manageable with our skillset. We both had no experience with coding or circuits, so we wanted to do a project that could expand upon code and circuits that we had learned about before in this semester’s labs. The project specifically included two sensors, a pulse sensor and accelerometer, from which data would be transmitted over wifi to the Thingspeak website. We initially wanted to have four data fields on the website, showing movement in three directions (X, Y, and Z) as well as heartrate (from the pulse sensor).
For the first demo day, we started with building the accelerometer and getting it working with wifi. We attached an accelerometer to our breadboard and wired each motion wires to three analog pins on the Arduino. The code for accelerometer was based on the code from previous labs. We verified that the accelerometer was working by printing the data to the serial monitor and observing the recorded values. Once the accelerometer was working, we then focused on setting up wifi. The code for wifi was also based previous labs from class. We set up a channel on Thingspeak for the final project and created three visual data fields to plot X, Y, and Z motion. By the first demo day, we had a working accelerometer with movement data sent over wifi to our Thingspeak channel.
We then focused on adding the pulse sensor. The circuit itself was very simple. The pulse sensor had three wires: one to the analog input on the Arduino, one to ground, and one to power. The code, however, was more challenging. We started by looking at examples of pulse sensor code from other projects and decided to proceed with a code that would allow us to calculate the beats per minute (BPM) for heartrate. After working for a while, we finally had a code for the pulse sensor that would display the BPM data on the serial monitor and plotter. However, we ran into trouble when trying to send this pulse sensor data over wifi to our website and putting the two codes together. We suspected that there could be an issue with the Thingspeak delay, which was 30 seconds, and the collection of data from the pulse sensor. So, we tried to debug using different approaches to separate the data being sent over wifi, but ultimately couldn’t put all the elements into one functional project. However, we were still excited to have the basic elements to detect movement and heartrate working separately.
In real life, this project does exist in fitness watches and monitors like the Apple watch and Fitbit. We were hoping to replicate this basic concept using Arduino and the tools learned in the class.