Простой люксметр на Arduino

В качестве датчика будем использовать фоторезистор R2 - GL5528, вот такая схема, резистор R1 - 10kOm.

На вход Arduino AREF нужно подать 3.3В. Т.к. расчетная таблица была получина именно при этом опорном напряжении.

Скетч для ардуино:

const PROGMEM  unsigned int ltable[]  =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10,
  10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
  13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19,
  19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24,
  24, 24, 24, 24, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
  29, 29, 29, 29, 29, 29, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36,
  36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 44, 44, 44, 44, 44,
  44, 44, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 52, 52, 52, 54, 54,
  54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59, 62, 62, 62, 62, 62, 62, 62, 63, 63,
  63, 64, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 67, 67, 67, 69, 69, 69, 69, 69, 69, 69, 71, 71, 71, 72, 72, 73, 73, 73, 73, 74, 74, 75, 75,
  75, 75, 77, 77, 77, 79, 79, 79, 79, 80, 80, 80, 80, 81, 81, 82, 82, 82, 82, 83, 83, 83, 85, 85, 85, 86, 86, 86, 86, 88, 88, 89, 89, 102, 90,
  92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 97, 97, 98, 98, 100, 100, 101, 101, 101, 102, 102, 102, 103, 103, 105, 105, 106,
  106, 108, 108, 109, 109, 110, 110, 110, 110, 111, 111, 112, 112, 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 119, 120, 120,
  121, 121, 124, 125, 125, 126, 126, 127, 127, 127, 128, 128, 129, 129, 132, 133, 133, 134, 135, 135, 135, 136, 136, 138, 139, 141,
  142, 143, 144, 146, 146, 147, 147, 148, 148, 150, 150, 151, 152, 154, 154, 155, 156, 158, 158, 159, 159, 161, 162, 163, 164, 164,
  165, 167, 169, 169, 170, 170, 171, 171, 172, 173, 174, 177, 177, 178, 179, 180, 181, 171, 185, 186, 187, 188, 188, 189, 190, 190,
  190, 194, 195, 196, 197, 198, 200, 200, 201, 203, 204, 205, 207, 208, 211, 212, 213, 215, 216, 217, 224, 231, 238, 250, 253, 253,
  254, 256, 257, 258, 259, 261, 262, 262, 264, 266, 267, 270, 271, 273, 274, 276, 277, 278, 279, 280, 282, 284, 285, 287, 290, 293,
  295, 297, 300, 301, 302, 303, 305, 312, 315, 317, 318, 320, 322, 323, 324, 327, 328, 330, 332, 333, 339, 341, 343, 343, 345, 346,
  349, 353, 355, 358, 362, 363, 366, 370, 373, 374, 376, 379, 381, 384, 388, 391, 393, 394, 397, 399, 401, 402, 408, 411, 420, 424,
  426, 428, 433, 434, 439, 442, 446, 449, 453, 455, 456, 476, 469, 470, 472, 477, 483, 491, 500, 504, 507, 511, 515, 518, 523, 524,
  541, 555, 565, 570, 577, 581, 588, 594, 601, 603, 608, 610, 614, 618, 621, 630, 638, 647, 650, 655, 661, 667, 676, 684, 687, 696,
  703, 701, 711, 714, 719, 726, 740, 755, 762, 767, 769, 779, 793, 799, 816, 825, 832, 836, 841, 852, 856, 859, 865, 872, 885, 899,
  911, 946, 957, 964, 967, 978, 991, 1005, 1017, 1031, 1058, 1084, 1123, 1150, 1163, 1176, 1190, 1229, 1255, 1269, 1282, 1296,
  1308, 1322, 1348, 1414, 1543, 1546, 1587, 1606, 1633, 1639, 1666, 1713, 1719, 1781, 1798, 1814, 1825, 1837, 1851, 1857, 1864,
  1877, 1890, 1904, 1917, 1983, 2049, 2116, 2313, 2380, 2393, 2446, 2525, 2551, 2565, 2592, 2618, 2645, 2697, 2750, 2777, 2842,
  2869, 2909, 2962, 3027, 3160, 3174, 3213, 3292, 3306, 3530, 3623, 3689, 3703, 3755, 3835, 4020, 4099, 4232, 4337, 4496, 4667,
  4813, 4946, 5249, 5290, 5448, 5554, 5766, 6030, 6387, 6903, 6916, 7141, 7273, 7445, 7815, 8106, 8199, 8596, 9164, 9534, 10024,
  10275, 10580, 11294, 11638, 12391, 12840, 12881, 13542, 14309, 14547, 15644, 16531, 16689, 18515, 19837, 21146, 21424,
  22124, 22614, 23805, 25127, 26450, 30417, 31740, 33062, 35972, 38352, 39675, 41658, 42320, 44039, 44965, 45097, 45229,
  45626, 46287, 47610, 48932, 50255, 51577, 52900, 54222, 55545, 56867, 58190, 59512, 60835, 62157, 63480, 64802, 65000
};
const int LightSensor = 14;       //A0
void setup() {
  analogReference(EXTERNAL); //на вход AREF необходимо подать 3.3V.
  Serial.begin(115200);
}
void loop() {
  unsigned int lightRaw =  analogRead(LightSensor);
  unsigned int light = pgm_read_word_near(ltable + lightRaw);
  Serial.println(light);
  delay (500);
}