Paso 4: Configurar el código final.
El código que estoy usando se basa en el código de ejemplo.
En primer lugar a las definiciones y variables globales. La línea " TSL2561 tsl(TSL2561_ADDR_LOW);" significa que mi pin ADDR en el sensor está en tierra.
<p>#include <wire.h><br>#include "TSL2561.h" #include "rgb_lcd.h"</wire.h></p><p>TSL2561 tsl(TSL2561_ADDR_LOW); </p><p>rgb_lcd lcd;</p><p>const int colorR = 255; const int colorG = 0; const int colorB = 0;</p>
Luego hacer la instalación.
<p>void setup(void) {<br> Serial.begin(9600); if (tsl.begin()) { Serial.println("Found sensor"); } else { Serial.println("No sensor?"); while (1); } </p><p> tsl.setGain(TSL2561_GAIN_0X); // set no gain (for bright situtations) //tsl.setGain(TSL2561_GAIN_16X); // set 16x gain (for dim situations) tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS);</p><p> lcd.begin(16, 2); lcd.home(); lcd.clear(); lcd.setRGB(colorR, colorG, colorB); lcd.setRGB(255,255,255); }</p>
Y por último el programa principal en bucle. Las tres líneas debajo del bucle void definen qué tipo de luz que desea medir. Establecer medidas toda la luz visible se puede ver. Bruja es una pequeña zona del espectro electromagnético, que es aproximadamente entre 380nm-700nm, de longitud de onda en el espectro.
Entonces hay fullspectrum bruja significa que usted puede medir la luz visible y la infrarroja luz al mismo tiempo. En el espectro, esto significa en la longitud de onda entre 380nm y 1mm (1000nm)
Y la configuración de infrarrojos ve la luz infrarroja de longitud de onda entre 1mm - 700nm.
<p>void loop(void) {<br> //uint16_t x = tsl.getLuminosity(TSL2561_VISIBLE); uint16_t x = tsl.getLuminosity(TSL2561_FULLSPECTRUM); //uint16_t x = tsl.getLuminosity(TSL2561_INFRARED); Serial.println(x, DEC);</p><p> uint32_t lum = tsl.getFullLuminosity(); uint16_t ir, full; ir = lum >> 16; full = lum & 0xFFFF;</p><p> lcd.setCursor(0,0); lcd.print("Vis:"); lcd.setCursor(4,0); lcd.print(full-ir); lcd.setCursor(9,0); lcd.print("IR:"); lcd.setCursor(12,0); lcd.print(ir); lcd.setCursor(0,1); lcd.print("Lux:"); lcd.setCursor(4,1); lcd.print(tsl.calculateLux(full, ir)); delay(500); lcd.clear(); }</p>