graeme22 / adrenaline Goto Github PK
View Code? Open in Web Editor NEWControl your PC's RGB lighting with your Fitbit's heart rate monitor!
License: MIT License
Control your PC's RGB lighting with your Fitbit's heart rate monitor!
License: MIT License
Another thing that needs deciding on is colours. Due to the fact that some computers RGB are not as good as other peoples I am suggesting 7 distinctive colours rather than using a colour gradient. Gradients can always be added later on as it will be an easier change to make as the background calculations will already be done. I have attached a jpeg with suggested colour choices and the different stages for helpful visualisation.
However I am going to write it down as well
The lowest heart rate would naturally be Purple a rather soothing colour. The suggested Hex code is B200FF.
Then as it increases to a dark blue. The suggested Hex code is 0A32FF.
A further heart rate increase moves towards light blue. The suggested Hex code is 03FDFC
By the middle range we would increase towards green. The suggested Hex code is 00FF21.
As it goes past the mid range we would use yellow. The suggested Hex code is FFF324.
Once we are near the high end of heart rates we would use orange. The suggested Hex code is FC6602.
Finally we would utilise the obvious red colour. The suggested Hex code is FF0000.
At this current time I am suggesting that we use the bottom 20% of the heart rate ranges as the Purple. Then each of the middle increases at the 12% difference in heart rate, With the red taking up the high end of the 20% heart rate ranges.
We could also possibly do pulsing red (not too quick though) when the heart rate gets above a certain amount. If we were to do this then the bottom 17% would be purple. With an increase of 11% heart rate with each colour increase up to the red which would take up 17% of the heart rate range and pulsing red taking up the final 11% range.
Heart rates vary largely based on age, gender, health and activity. This can be difference of 50 bpm in a young male athletes resting heart rate to 200 bpm in an unhealthy 20 year old. Due to this the application would need to take into account information regarding the user to ensure every user has a similar experience rather than some users shifting to the high end of the selected colours and causing users to be unsatisfied. Options to solve this:
I am recommending the first one is investigated to at least see if it possible to do as this would give the best experience to the end user. However if this is too difficult it should not be too hard to do the second one without too much trouble. The offset could also be included if the user still feels like there is an issue.
Once we have this solved colour mapping will be very easy.
I wanted to join the discord (as I lurk in a lot of RGB discords) but the invite is expired. If you get it active again or generate a new permanent invite link I can stick it in the OpenRGB discord and maybe get some more people in.
The original plan of using Fitbit may not be viable. The Fitbit communications model REQUIRES that all communication is done first through the phone, adding latency and overhead we probably don't want.
So, we should be looking at alternative ways to monitor heart rate in real time. That means other watch brands:
as well as, potentially, a non-watch solution:
Any suggestions are welcome.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.