- Project Proposal (update link?)
- Project Parts List (update link?)
- Project Status
- Overview
- Developer Documentation
- Results (needs updating)
- Presentation
- Next Steps
This project achieved minimum viable results. Next Steps are listed below.
The UVBuddy is a personal UV broad spectrum sensor designed to give users real-time feedback about the UV light they are being exposed to. The exposure data will be provided through LEDs as well as collected over time into an output file.
The main logic for UVBuddy is located in the uvbuddy/arduinoSketch/main.io
file.
Every 30 seconds, the main loop reads the UV index from the sensor, logs it in an SD card, and lights up the corresponding LEDs.
void loop()
{
float uvIndex = readUVIndex();
if(count % 300 == 0) { logData(count / 300, uvIndex); }
lightUpLEDs(uvIndex);
Serial.println("UV Index: " + String(uvIndex)); // serial debugging
delay(10);
count++;
}
The UV index is calculated by reading the voltage from the ML8511 UV sensor's analog pin. Then, the voltage value is linearly mapped to the correct UV index based off the transfer function in the sensor's datasheet.
The UV index at each 30 second time-step is logged in an SD card using the Espressif ESP 32 library for sd interface.
(needs updating) See Presentation.
- catalogue total UV exposure over a specific time period
- bluetooth integration for recording data
- develop a wearable prototype
- develop an app for easy data access