There were a couple of realizations that were made when implementing our sensors and running them through our microcontroller. We noticed right away that our pressure sensor was way to sensitive and was reading in changes in measurement with small, small changes. Hence, we had to decrease its sensitivity and we scheduled it so that we would be taking measurements after longer intervals, so we would not have a buffer of noisy data points.
Another issue we ran into was just how we would measure the water intake. We knew we had to calculate the decrease in weight, but with the pressure sensor having unsteady measurements from time to time, we found it was easier to take the first few points, averaging and waiting for a major decrease or increase of water until we had to update our starting point for the weight in order to calculate the amount the user drank.
For the color sensors, the hex codes that we get from the color sensors were not the right hex codes for the exact hex code colors for the actual colors we are testing with. The work around is that we are going to use the hex that the color sensors are given to us from our color sensors and just label the actual color with it based on the consistency of our own test. We also decided to just save the hex of water and search for that so that we will know if it is water or not.
A major challenge we had to go through is the Bluetooth connection between microcontroller and the app. I think it was a hard part figuring out how to get Bluetooth connection on both the board and the app. It was mostly trial and error and a lot of Googling.
After the connection working, the issue comes with actually reading the data that is coming from the microcontroller because it is in bytes.
A couple of App features that we had to work with is input values. Since no one on the team has had prior knowledge about Android Studios, we mainly have been self-teaching ourselves about how to make UI, manipulate variables, and connecting our variables to firebase so we can access the data from anywhere in the app.
Firebase was a hard part to get to work, mainly because we wanted to make sure we can organize and access the different part of data we will be getting in a easy way over the course of working on the project.