{"id":7594,"date":"2022-06-14T06:10:17","date_gmt":"2022-06-14T05:10:17","guid":{"rendered":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/2022\/06\/14\/uv-sensor-logger-self-made\/"},"modified":"2022-06-14T06:10:17","modified_gmt":"2022-06-14T05:10:17","slug":"uv-sensor-logger-self-made","status":"publish","type":"post","link":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/2022\/06\/14\/uv-sensor-logger-self-made\/?lang=en","title":{"rendered":"UV sensor logger self-made"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_7594\" class=\"pvc_stats all  \" data-element-id=\"7594\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p style=\"text-align: justify\">When summer comes, new ideas come. In the summer months, as is well known, the duration of sunshine is longer and the intensity of the sun&#8217;s rays is higher. Many use this property of the sun to boost their body&#8217;s vitamin D production, while others lie under the source of radiation to darken their skin color due to the high UV component. This, in turn, supposedly increases their attractiveness and stimulates hormone production and the willingness to mate&#8230; Unfortunately, the non-visible UV range in the spectrum of sunlight is known to have negative effects on the human body. Sunlight can also be used technically. On average, the power of the sun per unit area is assumed to be 1000W per m\u00b2. Large-area P-N junctions in semiconductor materials are now able to generate electrical energy with an efficiency of up to aprox. 22%.<\/p>\n<p style=\"text-align: justify\">But the energy can also be used in other ways, or the UV component. Many retro collectors are certainly aware of the problem with yellowed old plastic cases. In order to get this under control, or to get it back to its original state from 30 or 40 years ago, you use H2O2, i.e. hydrogen peroxide and UV light, to get a bleaching process going. And so I came up with the idea for the following project.<\/p>\n<p style=\"text-align: justify\">At an online electronics store I found a UV sensor board from the manufacturer Waveshare in the sale. On it is a LITEON OPTOELECTRONICS LTR390 chip including a level shifter circuit. An I\u00b2C bus is available as an interface. A look at the data sheet revealed to me that the sensor records two wavelength ranges and outputs them separately. The ALS (Ambient Light Sensor from 500-600nm) and the UV (Ultra Violet range from 300-350nm). You can quickly make a simple logging board with this &#8211; I thought to myself. So I figured the board should be able to do the following:<\/p>\n<ul>\n<li>Powered by a 18650 cell or USB<\/li>\n<li>USB should also be able to charge the battery<\/li>\n<li>a micro SD slot for recording the sensor data<\/li>\n<li>an RS-232 port for direct logging on the PC<\/li>\n<li>a cool OLED display<\/li>\n<li>two buttons to operate the logger (interval, start\/stop etc.)<\/li>\n<\/ul>\n<p style=\"text-align: justify\">The control should of course once again take over a chip from Atmega &#8211; the 328er. There are just enough of these in my assortment of boxes. To give you a quicker overview of the structure, I drew the following block diagram:<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-7530 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic-1024x576.jpg\" alt=\"\" width=\"474\" height=\"267\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic-1024x576.jpg 1024w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic-300x169.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic-768x432.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/blockschematic.jpg 1280w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p style=\"text-align: justify\">In the next step I created a circuit diagram from the block diagram in order to be able to create a layout out of\u00a0 it. Parallel to the creation of the circuit diagram, I also connected the single components\u00a0 together as a test using &#8222;air cabling&#8220; and tested whether everything worked as I imagined. And above all, everything should have space in the flash memory of the microcontroller.<a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-7536 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-849x1024.jpg\" alt=\"\" width=\"474\" height=\"572\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-849x1024.jpg 849w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-249x300.jpg 249w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-768x927.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-1273x1536.jpg 1273w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220315_121651-1698x2048.jpg 1698w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p style=\"text-align: justify\">The &#8222;airy wired&#8220; structure consisting of finished components can be seen in the picture above. An Arduino was sufficient for the first tests with the sensor and the OLED display. This enabled me to test the desired functions. So nothing stood in the way of creating the circuit diagram. An 18650 lithium cell will serve as the primary power source. Alternatively, there will also be a USB port that can charge the cell or operate the sensor. Because I&#8217;m lazy and component delivery bottlenecks are also a big problem at the moment, I use a ready-made Wemos D1 mini board to charge the battery. Like the OLED display board and the sensor board, this will find its place as a finished component on the circuit board design. As already mentioned, an Atmega328 in a TQFP housing is used as the controller. This will communicate with the OLED display (SBC-OLED01 with SSD1306 controller) and the LTR390 UV sensor board via the I\u00b2C interface. OLED and sensor are 5V compatible. However, the SD card is operated with 3.3V. For this, the circuit requires a voltage converter from 5V to 3.3V for the supply and a level shifter for the SPI data bus, via which the SD card exchanges data with the Atmega. Since the Atmega then also wants to be programmed with its firmware, I have provided a 2&#215;4 pin header for connecting a programmer. The programmer needs six of these pins (GND,5V, MOSI, MISO, SCK and RESET) and the two remaining pins are intended for the serial interface. The two interrupt inputs of the Atmega are each wired with a button, which then makes the software operable. The battery voltage is measured and logged via a divider at one of the ADC inputs. The result of these thoughts is the following schematic:<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7548 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-1024x700.jpg\" alt=\"\" width=\"474\" height=\"324\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-1024x700.jpg 1024w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-300x205.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-768x525.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-1536x1050.jpg 1536w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/schaltplan_uv_0.2-2048x1401.jpg 2048w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p style=\"text-align: justify\">A layout is then the next step. With a size of 12 x 4.5 cm, the circuit board is reasonably &#8222;handy&#8220;. The printed conductors are routed on both sides and the modules (charging circuit, display and UV sensor) are designed to be pluggable via pin headers.<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv_detector_v0.2t-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7554 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv_detector_v0.2t-1024x683.jpg\" alt=\"\" width=\"474\" height=\"176\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv_detector_v0.2b-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7552 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv_detector_v0.2b-1024x683.jpg\" alt=\"\" width=\"474\" height=\"176\" \/><\/a><\/p>\n<p style=\"text-align: justify\">The two images above show the preview of the &#8222;Top&#8220; and &#8222;Bottom&#8220; side of the layout. A circuit board could be created from the production data created in this way.<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220329_144226-scaled-e1653481094320.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7556 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220329_144226-461x1024.jpg\" alt=\"\" width=\"474\" height=\"578\" \/><\/a><\/p>\n<p style=\"text-align: justify\">After some soldering work the hardware was ready. In order to breathe life into this &#8222;soldering&#8220;\u00a0, software was required to do its work on the microcontroller.<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7562 size-large\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-461x1024.jpg\" alt=\"\" width=\"461\" height=\"1024\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-461x1024.jpg 461w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-135x300.jpg 135w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-768x1707.jpg 768w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-691x1536.jpg 691w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-922x2048.jpg 922w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/IMG_20220330_104841-scaled.jpg 1152w\" sizes=\"(max-width: 461px) 100vw, 461px\" \/><\/a><\/p>\n<p style=\"text-align: justify\">When tinkering with the software, I used the free &#8222;Arduino IDE&#8220; development environment. The LTR390 documentation describes exactly which registers are used to operate which sensor functions. But there is also a ready-made library for those who are very comfortable &#8211; just like for almost all sensors and actuators that are to be connected to microcontrollers. In the Arduino IDE you can find the &#8222;Adafruit LTR390 Library&#8220; via the board manager, which you can use to communicate easily with the sensor. In my case, the OLED display is controlled by the SSD1306Ascii library. The &#8222;Wire&#8220; and &#8222;SPI&#8220; library take over the bus communication and the &#8222;SD&#8220; talks to the SD card. The includes then look like this:<\/p>\n<p>#include &lt;LTR390.h&gt;<br \/>\n#include &lt;SD.h&gt;<br \/>\n#include &lt;SPI.h&gt;<br \/>\n#include &lt;Wire.h&gt;<br \/>\n#include &#8222;SSD1306Ascii.h&#8220;<br \/>\n#include &#8222;SSD1306AsciiWire.h&#8220;<\/p>\n<p style=\"text-align: justify\">I&#8217;m happy to post the entire code here if needed. However, it is not rocket science, but simple and certainly not optimized lines of code writing \ud83d\ude42 In the current code (firmware) version 1.3d there is a small selection menu that makes it possible to set the log interval of the SD card recording and of course the start or stop recording. It is logged in a text file. The data recorded are UV index, ambient brightness and battery voltage.<\/p>\n<p>I&#8217;ve included an excerpt from the datalog below:<\/p>\n<p>&nbsp;<\/p>\n<pre style=\"font-family: arial;font-size: 12px;border: 1px dashed #CCCCCC;width: 99%;height: auto;overflow: auto;background: #f0f0f0;;background-image: url('http:\/\/2.bp.blogspot.com\/_z5ltvMQPaa8\/SjJXr_U2YBI\/AAAAAAAAAAM\/46OqEP32CJ8\/s320\/codebg.gif');padding: 0px;color: #000000;text-align: left;line-height: 20px\"><code style=\"color: #000000\"> Ambient[lx], UV-indx, Batt[V], Loggingintervall[s]  \r\n 691.60,0.01,3.77,20  \r\n 691.60,0.03,3.76,20  \r\n 1184.00,0.03,3.77,20  \r\n 1184.00,0.03,3.75,20  \r\n 1191.00,0.03,3.77,20  \r\n 1191.00,0.03,3.75,20  \r\n 1198.60,0.03,3.76,20  \r\n 1198.60,0.03,3.73,20  \r\n 1211.60,0.03,3.76,20  \r\n 1211.60,0.04,3.75,20  \r\n 1223.00,0.04,3.75,20  \r\n 1223.00,0.04,3.76,20  \r\n 1234.20,0.04,3.76,20  \r\n 1234.20,0.04,3.74,20  \r\n 1243.60,0.04,3.76,20  \r\n 1243.60,0.04,3.76,20  \r\n 1252.00,0.04,3.75,20  \r\n 1252.00,0.04,3.73,20  \r\n 1261.20,0.04,3.74,20  \r\n 1261.20,0.04,3.72,20  \r\n 1269.60,0.04,3.76,20  \r\n 1269.60,0.04,3.76,20  \r\n 1278.40,0.04,3.76,20  \r\n 1278.40,0.04,3.75,20  \r\n 1288.40,0.04,3.76,20  \r\n 1288.40,0.04,3.75,20  \r\n 1298.20,0.04,3.76,20  \r\n 1298.20,0.04,3.74,20  \r\n 1305.80,0.04,3.73,20  \r\n 1305.80,0.04,3.73,20  \r\n 1313.20,0.04,3.73,20  \r\n 1313.20,0.04,3.75,20  \r\n 1321.60,0.04,3.74,20  \r\n 1321.60,0.04,3.75,20  \r\n 1331.80,0.04,3.75,20  \r\n 1331.80,0.04,3.75,20  \r\n 1341.60,0.04,3.74,20  \r\n 1341.60,0.04,3.76,20  \r\n 1349.40,0.04,3.76,20  \r\n 1349.40,0.04,3.76,20  \r\n 1358.20,0.04,3.72,20  \r\n 1358.20,0.04,3.76,20  \r\n 1365.60,0.04,3.74,20  \r\n 1365.60,0.04,3.73,20  \r\n 1374.20,0.04,3.72,20  \r\n 1374.20,0.04,3.75,20  \r\n 1380.60,0.04,3.75,20  \r\n 1380.60,0.04,3.76,20  \r\n 1386.60,0.04,3.75,20  \r\n 1386.60,0.04,3.76,20  \r\n 1394.80,0.04,3.75,20  \r\n 1394.80,0.04,3.75,20  \r\n 1401.40,0.04,3.73,20  \r\n 1401.40,0.04,3.74,20  \r\n 1408.60,0.04,3.75,20  \r\n 1408.60,0.04,3.74,20  \r\n 1414.20,0.04,3.73,20  \r\n<\/code><\/pre>\n<p style=\"text-align: justify\">This data can now be processed very easily and displayed graphically. As an Office user, you can use Excel, for example, and import the data there and display them as graphs. But it is even easier and also very fast with tools like Matlab. With a script like the one below you can visualize the log file.<\/p>\n<pre style=\"font-family: arial;font-size: 12px;border: 1px dashed #CCCCCC;width: 99%;height: auto;overflow: auto;background: #f0f0f0;;background-image: url('http:\/\/2.bp.blogspot.com\/_z5ltvMQPaa8\/SjJXr_U2YBI\/AAAAAAAAAAM\/46OqEP32CJ8\/s320\/codebg.gif');padding: 0px;color: #000000;text-align: left;line-height: 20px\"><code style=\"color: #000000\"> %% Setup the Import Options and import the data  \r\n opts = delimitedTextImportOptions(\"NumVariables\", 4);  \r\n opts.DataLines = [3, inf];  \r\n opts.Delimiter = \",\";  \r\n opts.VariableNames = [\"Ambientlx\", \"UVindx\", \"BattV\", \"Loggingintervalls\"];  \r\n opts.VariableTypes = [\"double\", \"double\", \"double\", \"double\"];  \r\n opts.ExtraColumnsRule = \"ignore\";  \r\n opts.EmptyLineRule = \"read\";  \r\n opts = setvaropts(opts, [\"Ambientlx\", \"UVindx\", \"BattV\"], \"TrimNonNumeric\", true);  \r\n opts = setvaropts(opts, [\"Ambientlx\", \"UVindx\", \"BattV\", \"Loggingintervalls\"], \"DecimalSeparator\", \",\");  \r\n opts = setvaropts(opts, [\"Ambientlx\", \"UVindx\", \"BattV\"], \"ThousandsSeparator\", \".\");  \r\n datalog = readtable(\"F:\\ingmarsretro\\datalog.txt\", opts);  \r\n clear opts  \r\n x=size(datalog); % groesse der tabelle  \r\n measurement=x(1); % anzahl messungen   \r\n uvi=datalog{1:measurement,2};  \r\n ambient=datalog{1:measurement,1};  \r\n messzeit = linspace(0,(measurement*datalog{1,4}),measurement); %zeitvektor von 0 bis zeitintervall aus datalog spalte4 * messungen  \r\n figure(1);  \r\n title('UV - Index');  \r\n subplot(2,1,1);  \r\n plot(messzeit,uvi);  \r\n title('UV - Index');  \r\n xlabel('Zeit [s]');ylabel('UV - Index');  \r\n subplot(2,1,2);  \r\n plot(messzeit,ambient);  \r\n title('Beleuchtungsst\u00e4rke');  \r\n xlabel('Zeit [s]');ylabel('Beleuchtungsst\u00e4rke [lux]');  \r\n<\/code><\/pre>\n<p style=\"text-align: justify\">If the script is executed, you get a plot that visualizes the measurement data.<\/p>\n<p><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv-log_graph.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7575 size-full\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv-log_graph.jpg\" alt=\"\" width=\"816\" height=\"702\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv-log_graph.jpg 816w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv-log_graph-300x258.jpg 300w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/uv-log_graph-768x661.jpg 768w\" sizes=\"(max-width: 816px) 100vw, 816px\" \/><\/a><\/p>\n<div class='embed-container'><iframe title=\"UV-Logger\" width=\"608\" height=\"1080\" src=\"about:blank\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\" class=\"lazyload\" data-src=\"https:\/\/www.youtube.com\/embed\/jcb-dDGVaPE?feature=oembed\"><\/iframe><\/div>\n<p style=\"text-align: justify\">The technical information on the sensor can be found in the manufacturer&#8217;s data sheet. Here are a few key points:<\/p>\n<p style=\"text-align: justify\"><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/sensor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7580 alignleft\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/sensor.jpg\" alt=\"\" width=\"217\" height=\"209\" \/><\/a>The LTR390 consists of two photodiodes, one for the visible spectrum of light and one that is sensitive in the UV range. The photodiode current is digitized in internal ADCs. An internal logic controls the ADCs and the connection to the outside world is established via an I\u00b2C interface. The resolution of ALS and also UVS can be configured in 13, 16, 17, 18, 19 and 20 bits. The sensor chip is housed in a 2x2mm 6pin package. The detector opening has an edge length of 280&#215;280 \u00b5m.<\/p>\n<div id=\"attachment_7585\" style=\"width: 429px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7585\" class=\"wp-image-7585 size-full\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response.jpg\" alt=\"\" width=\"419\" height=\"372\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response.jpg 419w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response-300x266.jpg 300w\" sizes=\"(max-width: 419px) 100vw, 419px\" \/><\/a><p id=\"caption-attachment-7585\" class=\"wp-caption-text\">Source: LTR-390UV data sheet https:\/\/optoelectronics.liteon.com\/en-global\/Led\/LED-Component\/Detail\/926<\/p><\/div>\n<div id=\"attachment_7587\" style=\"width: 433px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response_UV.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7587\" class=\"wp-image-7587 size-full\" src=\"http:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response_UV.jpg\" alt=\"\" width=\"423\" height=\"369\" srcset=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response_UV.jpg 423w, https:\/\/blog.fh-kaernten.at\/ingmarsretro\/files\/2022\/05\/spectral_response_UV-300x262.jpg 300w\" sizes=\"(max-width: 423px) 100vw, 423px\" \/><\/a><p id=\"caption-attachment-7587\" class=\"wp-caption-text\">Source: LTR-390UV data sheet https:\/\/optoelectronics.liteon.com\/en-global\/Led\/LED-Component\/Detail\/926<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_7594\" class=\"pvc_stats all  \" data-element-id=\"7594\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>When summer comes, new ideas come. In the summer months, as is well known, the duration of sunshine is longer and the intensity of the sun&#8217;s rays is higher. Many use this property of the sun to boost their body&#8217;s vitamin D production, while others lie under the source of radiation to darken their skin&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/2022\/06\/14\/uv-sensor-logger-self-made\/?lang=en\">Weiterlesen<\/a><\/p>\n","protected":false},"author":86,"featured_media":7558,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[1592,1506,1499],"tags":[1914,1913,2080,2323,2092,2339,2341,2338,2340,2334,2333,2335,2336,2337],"class_list":["post-7594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-en","category-electronics-hobbyist","category-miscellaneous","tag-arduino-en","tag-atmega-en","tag-atmega328-en","tag-avrisp-en","tag-avrispmkii-en","tag-crafts-with-atmega","tag-liteon-optoelectronics-en","tag-ltr390-en","tag-sun-logger","tag-ultraviolett-en","tag-uv-en","tag-uv-logger-en","tag-uv-sensor-en","tag-waveshare-en"],"a3_pvc":{"activated":true,"total_views":104,"today_views":0},"_links":{"self":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts\/7594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/comments?post=7594"}],"version-history":[{"count":0,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/posts\/7594\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/media\/7558"}],"wp:attachment":[{"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/media?parent=7594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/categories?post=7594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.fh-kaernten.at\/ingmarsretro\/wp-json\/wp\/v2\/tags?post=7594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}