Skip to content
/ UVBuddy Public

personal UV sensor to log UV index data 🕶️🌞

Notifications You must be signed in to change notification settings

Naitry/UVBuddy

Repository files navigation

UVBuddy, Embedded Final - Jeepers Creepers

Table of Contents

Project Status

This project achieved minimum viable results. Next Steps are listed below.

Overview

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.

Developer Documentation

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.

image

The UV index at each 30 second time-step is logged in an SD card using the Espressif ESP 32 library for sd interface.

Results

(needs updating) See Presentation.

Presentation

Picture1

Next Steps

  • 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

About

personal UV sensor to log UV index data 🕶️🌞

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published