How does it work?
Sun exposure time is a factor of 3 things;
Skin type. Lighter complexions burn more quickly
Sunscreen. Suncreen extends exposure time
Ultraviolet Radiation. UVA (315-400nm) is the main culprit, and it can vary widely throughout the day, geography, time of year, etc.
Skin type and sunscreen are easy - Mr. Burns just asks you to provide that information. Measuring Ultraviolet radiation is complex;
Initially, I went to the usual sources to get a UV sensor, but I found out they were very expensive ($20 - $30). If you take a regular LED and invert it (so the anode is connected to ground), it will generate a very weak voltage in response to light, but you need an op-amp circuit to amplify the voltage & I wanted something simpler.
Finally, I came across this whitepaper
from Mitsubishi - they had the problem of sensing when to turn on the light in your remote control; a capacitive sensor would turn it on when it's not needed and waste power. They figured out a way to sense light using the backlight LED itself - and that's what Mr. Burns is based on.
When you use an LED as a photodiode, it's sensitive to wavelengths equal to it's output color and shorter. By using a blue LED that generates light at 415nm, it's a perfect fit for sensing UVA, and it's cheap (<$1)
Once Mr. Burns has skin tone, UV level, and sunscreen info, it uses WHO data (pdf
) to determine how long until you get a sunburn.
Here's a walkthrough of how it works. Note that I'm using a Propeller Platform SD
and LCD UI
module, but this instructable will also show you how to do it on a breadboard.
How Accurate is it?
The sensor picks up the UVA and measures it correctly. Exposure calculations are based on WHO research, too. It's pretty accurate, the most likely cause of error is sunscreen;
Most people don't put on enough sunscreen - you're supposed to put on 1mg/cm2
, which means about an ounce to cover an adult male. You're also supposed to re-apply every 2 hours. If you do this correctly, you're fine, but otherwise, you should under-estimate the SPF of your sunscreen.
Also, Mr. Burns measures incident UVA at the beginning of the exposure, but it doesn't re-adjust if UV changes. The literature isn't clear as to whether your skin is equally sensitive throughout the exposure. It's easy to implement, though - and if I find evidence that it is, I'll update the code.
What are the Technical Details?
It's a Parallax Propeller running at 80Mhz connected to an HD44780 8x2 character LCD (4-bit interface). The Propeller stores the exposure table in RAM and measures incident UV through an R/C decay circuit.