Inspiration

As school and work environments around the world have transitioned to online formats due to the pandemic, the average exposure to computer screens has significantly increased. With this comes a greater risk of physical and mental health issues associated to continuous exposure to blue light. Knowing this, we invented Dr. Screen -- a handy device that ensures computer users follow the standard rules for healthy screen usage outlined by health professionals. Whenever a user violates these rules, Dr. Screen displays a message and rings a buzzer to alert the user to correct their setup. Given the digital age we all live in, Dr. Screen will become integral for daily life.

Process

With some intensive research on recommended guidelines for healthy day-to-day screen usage, we arrived at three parameters and corresponding guidelines that we could have Dr. Screen measure and utilize accordingly.

The three parameters and their guidelines were:

  • Distance between a user's eye level and the screen. Recommended to be between 50 and 100 cm.
  • Relative light intensity of the screen and the work environment. Ambient light and screen light should be approximately equal.
  • Time spent using the screen in one stretch. Users are recommended to not use their screens for longer than 20 minutes at a stretch.

To measure these parameters, we incorporated a photoresistor that extended to the user's screen, smartphone light intensity sensor to measure ambient light, and a ping sensor that extended to the computer webcam. These sensors yielded quantitative values with which we could control the alerts based on how they matched prescribed guidelines. We also built a timer variable within our code to measure elapsed time.

Within our code, we set up functions that took measurements of parameters and set the LCD Display and buzzer based on the health guidelines. For the purpose of live demonstration, we adjusted the prescriptions to work on a appropriate scale. That is, we added an error factor of 75 lux for relative light intensity (difference between screen light intensity and ambient light intensity) as light intensity fluctuates quite frequently. We also reduced the maximum time for working in a stretch to 2 minutes. _ (in more detail in image) _ Based on our research, we found that time spent working on the screen in one stretch is most influential on healthy screen usage so we ensured the alerts were set such that work time was in priority compared to distance and relative light intensity. We had our code update measurements of input parameter and production of beeps from the buzzer and messages from the LCD Display every 2 seconds.

In the Blynk App, we added value displays for screen light intensity, ambient light intensity, distance, and elapsed time. We also added a virtual switch for users to indicate when they're working and when they're on a break. When on a break, no reading will be taken from the sensors connected to the NodeMCU. The Blynk setup also featured a virtual LCD Display to display messages to the user of whether they were using the screen healthily and if not, which parameter is outside recommended boundaries. We intended to use a physical LCD Display at first, but then realized it drew too much voltage from the circuit and affected the operation of other sensors.

To summarize,

  • If the user has been active on the computer for far too long, Dr. Screen produces a beep and displays "Worked too long!"
  • If the user is in a suboptimal lighting condition, Dr. Screen produces a beep and displays "Screen too bright" or "Screen too dim" depending on whether the screen is too bright or dim.
  • If the user is at a suboptimal distance from the screen, Dr. Screen produces a beep and displays "Too close" or "Too far" depending on whether the user is too close or far.
  • If all parameters are within their guidelines, Dr. Screen displays "You're all good. Keep working!"
  • If two parameters of the same priority are off, Dr. Screen produces two beeps per interval and displays both error messages
  • If other parameters are off and the user has spent too long, Dr. Screen only produces one deep and displays "Worked too long!", overriding the other conditions.

Challenges and Adjustments

Incorporating the light intensity sensing aspect into Dr. Screen was by far the most challenging part of our project.

  • One challenge we ran into was figuring out how to measure the light intensity from the computer screen without ambient light confounding our measurements. This challenge was solved by deciding to cover the photoresistor with a opaque cap that blocked outside light whilst allowing light from the computer screen to be measured by the photoresistor.
  • Another challenge we ran into was figuring out how to effectively measure both the light intensity emitted from the computer screen and ambient light in a room. Initially we planned on using two photoresistors with one reading light intensity from the computer screen and the other reading light intensity from ambient light in the room. However, because the Node MCU only has one analog pin, only one photoresistor could be connected to the Node MCU. Meaning we could only read light intensity either from the computer screen or either from the ambient light, but not both at the same time using our original plan. Because of this, we had to modify our plan and incorporate the built-in smartphone light sensor to measure ambient light intensity and take its readings through the Blynk App to use in our code, as we had already designated the photoresistor as our light intensity sensor for the computer screen. This was extremely challenging for us to resolve, so challenging that we considered switching to a different project. Hence, we worked on a companion project: a miniature A/C that automatically adjusts room temperature to what the users desires. We worked on this project in parallel with Dr. Screen and actually finished both projects to completion.
  • The third challenge we faced was interpreting the readings from the photoresistor. The photoresistor measures the voltage drop across its companion resistor. To convert this to light intensity, we had to do some intensive research to find an accurate calibration. Eventually, we found a logarithmic relationship between light intensity and photoresistance. So, we convert the voltage drop to resistance using standard physics laws and then used this equation to convert to light intensity.

What's next for Dr. Screen

We hope to expand Dr. Screen to work for mobile smartphones. This would involve using a more compact breadboard, microprocessor unit, and sensors to suit phone screens. We also are looking into implementing CHILD and ELDERLY modes with their respective parameters as the parameters we used were based on adults. Lastly, we would like to add a clip-on feature to enable sensors to easily detach and reattach to screens. These modifications would make Dr. Screen even more user-friendly and applicable than it already is!

Built With

  • arduino
  • blynk
  • buzzer
  • lcd
  • ldr
  • nodemcu
  • ping
Share this project:

Updates