#include #include "Adafruit_VEML6070.h" Adafruit_VEML6070 uv = Adafruit_VEML6070(); void setup() { Serial.begin(9600); Serial.println("VEML6070 Test"); uv.begin(VEML6070_2_T); // pass in the integration time constant /* possible integration times: -> adapt the convert_to_risk_level-function accordingly! VEML6070_HALF_T ~62.5ms VEML6070_1_T ~125ms VEML6070_2_T ~250ms VEML6070_4_T ~500ms */ } //Source: https://github.com/adafruit/Adafruit_CircuitPython_VEML6070/blob/main/adafruit_veml6070.py String convert_to_risk_level(int reading) { int integration_time = 4; //available for Integration-Time 1, 2, 4 // MUST be adjusted according to the set integration time reading = reading / integration_time; String risk_level; if(reading <= 560) risk_level = "LOW (UV 0-2)"; else if(reading > 560 && reading <= 1120) risk_level = "Moderate (UV 3-5)"; else if(reading > 1120 && reading <= 1494) risk_level = "High (UV 6-7)"; else if(reading > 1494 && reading <= 2054) risk_level = "Very High (UV 8-10)"; else if(reading > 2054 && reading <= 9999) risk_level = "Extreme (UV >10)"; else risk_level = "ERROR"; return risk_level; } /* // German equivalent String convert_to_risk_level(int reading) { int integration_time = 4; //available for Integration-Time 1, 2, 4 // MUST be adjusted according to the set integration time reading = reading / integration_time; String risk_level; if(reading <= 560) risk_level = "Niedrig (UV 0-2)"; else if(reading > 560 && reading <= 1120) risk_level = "Mittel (UV 3-5)"; else if(reading > 1120 && reading <= 1494) risk_level = "Hoch (UV 6-7)"; else if(reading > 1494 && reading <= 2054) risk_level = "Sehr Hoch (UV 8-10)"; else if(reading > 2054 && reading <= 9999) risk_level = "Extrem (UV >10)"; else risk_level = "ERROR"; return risk_level; } */ void loop() { int reading = uv.readUV(); Serial.print("UV light level: "); Serial.print(reading); Serial.print(" Risk level is: "); Serial.println(convert_to_risk_level(reading)); delay(1000); }