Johan Posted July 31, 2015 Share Posted July 31, 2015 I have tinkered a bit with Arduino, and was wondering if anyone has any experience with Mikroe-1677, a UV module. A friend of mine from the macro world is tinkering with it and is very happy with it, maybe this is a cheap UV detection solution? Anyone played with something like this? Link to comment
JCDowdy Posted July 31, 2015 Share Posted July 31, 2015 If you are looking for a handy little UV meter check out Solartech (www.SolarMeter.com) Link to comment
Alaun Posted July 31, 2015 Share Posted July 31, 2015 here is a further solution with an arduino https://www.dfrobot.com/wiki/index.php?title=UV_sensor_SKU:_SEN0162 Link to comment
JCDowdy Posted August 1, 2015 Share Posted August 1, 2015 Werner,I am getting "This webpage is not available" on your link. Link to comment
Alaun Posted August 1, 2015 Share Posted August 1, 2015 Strange, here it works just fine. It is a board for arduino (DFROBOT DFRduino UNO)using as UV Sensor the chip GUVA-S12SD, which works from 200 to 370nm and which gives an output of 0 to 1V according to some kind of UV Index from 0 to 10 Link to comment
JCDowdy Posted August 2, 2015 Share Posted August 2, 2015 My Chrome did not like your link "A secure connection cannot be established because this site uses an unsupported protocol." Here is another link Link to comment
Alaun Posted August 20, 2015 Share Posted August 20, 2015 Took some time, but now I got both versions, this is how my self programmed "UV-meter" looks: These are the two sensors, they work slightly different: And this is my instrument at work: The less are programmed as half and full bright, so with 5 leds I can get a reading scale from about 1 to 10 First finding: Some UV flash lights start with a high output and as the leds get warm the UV output drops rather quickly The V1 sensor with ML8511 has some sensitivity into the visual spectrumThe V2 cuts visual light better offThe output ranges are also slightly different. With the Arduino I get a zero reading at about 200 and the signal can get up to about 640 (from a scale of 1024 of the digitised analog input of the arduino) with the V1 sensorand the V2 starts at 1 and goes up to ?700 plus something Unfortunately, up to now, I had no chance to measure the sun (lack of sun light) Link to comment
Alaun Posted August 20, 2015 Share Posted August 20, 2015 If somebody wants to know how the programming looks like (the read values can be monitored via the USB port on a terminal): /* UV_Meter_Aduino and ML8511 V1 UV Sensor Indicates the range (205 to 672 read out on A0) multplied by 0.5 in 10 steps of 23 to 24 with leds on pins 5,6,9,10,11 as these pins allow pulse code output so every led shows two/three steps as off, low light, high bright Steps are also printed on usb output (COM0:9600 baud) as UV 0 ,,, UV 10 plus "Sensor level" and original anlog Value This example code is in the public domain. */ int led1 = 5; // the pin that the LED is attached toint led2 = 6;int led3 = 9;int led4 = 10;int led5 = 11; int l0=0;int l1=3;int l2=30; int s1=0;int s2=0;int s3=0;int s4=0;int s5=0; int sensor=A0; // the setup routine runs once when you press reset:void setup() { // declare pin 9 to be an output: pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); Serial.begin (9600);} // the loop routine runs over and over again forever:void loop() { // set the brightness leds: int sensorValue; int analogValue = analogRead(0); analogWrite(led1, s1); analogWrite(led2, s2); analogWrite(led3, s3); analogWrite(led4, s4); analogWrite(led5, s5); if (analogValue < 20) { sensorValue=0; }else { sensorValue= 0.5*(analogValue-194);}Serial.println("");Serial.print(sensorValue);Serial.print(" ");Serial.print(analogValue);Serial.print(" "); if (sensorValue<=5) { s1=0; s2=0; s3=0; s4=0; s5=0; Serial.print("UV 0 ");}if (sensorValue >5 && sensorValue<=28) { s1=l1; s2=0; s3=0; s4=0; s5=0; Serial.print("UV 1 ");}if (sensorValue >28 && sensorValue<=52) { s1=l2; s2=0; s3=0; s4=0; s5=0; Serial.print("UV 2 ");}if (sensorValue >52 && sensorValue<=75) { s1=l2; s2=l1; s3=0; s4=0; s5=0; Serial.print("UV 3 ");}if (sensorValue >75 && sensorValue<=99) { s1=l2; s2=l2; s3=0; s4=0; s5=0; Serial.print("UV 4 ");}if (sensorValue >99 && sensorValue<=122) { s1=l2; s2=l2; s3=l1; s4=0; s5=0; Serial.print("UV 5 ");}if (sensorValue >122 && sensorValue<=146) { s1=l2; s2=l2; s3=l2; s4=0; s5=0; Serial.print("UV 6 ");}if (sensorValue >146 && sensorValue<=169) { s1=l2; s2=l2; s3=l2; s4=l1; s5=0; Serial.print("UV 7 ");}if (sensorValue >169 && sensorValue<=193) { s1=l2; s2=l2; s3=l2; s4=l2; s5=0; Serial.print("UV 8 ");}if (sensorValue >193 && sensorValue<=216) { s1=l2; s2=l2; s3=l2; s4=l2; s5=l1; Serial.print("UV 9 ");}if (sensorValue >216) { s1=l2; s2=l2; s3=l2; s4=l2; s5=l2; Serial.print("UV10 ");} // wait for 100 milliseconds delay(100);} Link to comment
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now