Sensor de Luz UV Compatible con I2C UART

[LTR390] Sensor de Luz UV Compatible con I2C UART

https://electrofranko.com/web/image/product.template/3887/image_1920?unique=e518308

S/ 55.00 55.0 PEN S/ 55.00

S/ 55.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: LTR390

Sensor Óptico Digital LTR390 de Luz UV Ambientales e Índice Ultravioleta (ALS)

Módulo espectral de alta precisión con interfaz I2C compatible con microcontroladores de 3.3V y 5V.

El sensor digital avanzado LTR390 (LTR-390UV) integra fotodiodos especializados optimizados para la medición cuantitativa de la radiación ultravioleta (UV) ambiental y la intensidad lumínica visible (ALS). Su arquitectura interna incorpora convertidores analógico-digitales de resolución programable que transforman la captación espectral directa en datos digitales limpios, transmitidos bajo el bus estándar de comunicación I2C. Diseñado con una respuesta espectral que emula de cerca la curva de eritema humano, este módulo es capaz de calcular el Índice UV de forma exacta sin requerir complejas calibraciones analógicas secundarias. Su versatilidad estructural lo convierte en el elemento perfecto para el desarrollo de estaciones meteorológicas compactas, dispositivos vestibles (wearables) inteligentes y sistemas autónomos de monitoreo de salud ambiental expuestos a radiación directa.

Especificaciones Técnicas

Parámetro OperativoRango / Valor Oficial
Sistemas CompatiblesArduino, ESP32, Raspberry Pi, STM32
Voltaje de Operación3.3 V a 5.0 V DC (Regulador integrado)
Consumo de Corriente110 µA (Activo) / 1.4 µA (Modo Sleep)
Protocolo de SalidaInterfaz I2C (Dirección fija 0x53)
Espectro UV Sensible280 nm a 430 nm (Pico centrado a 355nm)
Resolución del ADC13, 16, 17, 18, 19 o 20 bits (Ajustable)
Ganancia Configurable1x, 3x, 6x, 9x y 18x por registros
Parámetro Mecánico / SeñalRango / Valor Oficial
Rango de Luxes (ALS)0.015 Lux a 294,000 Lux de lectura
Cálculo de Índice UVRango directo de 0 a 20+ UVI
Pin de InterrupciónINT físico programable por umbrales
Filtro Óptico InternoRechazo integrado a radiación infrarroja
Temperatura de Trabajo-40 °C a +85 °C de tolerancia estable
Dimensiones del Módulo15.3 mm x 15.3 mm x 3.0 mm
Peso Neto Aproximado1.2 gramos (Estructura miniaturizada)

Compatibilidad y Ventajas en Arduino, ESP32 y Raspberry Pi

Lógica Dual Tolerante Nativa: Gracias al convertidor de nivel y al regulador de voltaje incorporados en la PCB del módulo, es posible conectar las líneas SDA y SCL directamente a la lógica de 5V de **Arduino Uno** o a los pines de 3.3V de un **ESP32** sin riesgo de sobretensión.

Arquitectura de Bus de Dos Hilos (I2C): Permite el direccionamiento múltiple compartiendo las mismas líneas de datos con otros sensores en paralelo (como pantallas OLED o barómetros), simplificando drásticamente la distribución física de pistas y cableados en prototipos IoT avanzados.

Bajísimo Consumo para Estaciones Remotas: Con apenas microamperios en estado activo y un modo de suspensión ultra bajo, optimiza los ciclos de energía de placas autónomas como el **ESP32** alimentadas por baterías recargables de litio o celdas solares fotovoltaicas.

La vinculación física del módulo LTR390 se efectúa a través del bus serie síncrono I2C, requiriendo únicamente dos pines de alimentación y dos pines dedicados a señales de reloj y transferencia de tramas de datos. Las resistencias pull-up integradas en la placa base garantizan transiciones lógicas limpias de flanco ascendente en frecuencias operativas de hasta 400 kHz (Fast Mode).

Galería Dinámica de Conexiones de Hardware

Esquema 1: Arduino Uno LTR390
Esquema 3: Raspberry Pi LTR390
Esquema 2: ESP32 LTR390
Esquema 4: Configuración Pinout Módulo
Guía de Cableado Interplataforma: Conecte el pin VIN del módulo a la fuente de alimentación correspondiente (**5V en Arduino** / **3.3V en ESP32 y Raspberry Pi**) y GND al negativo común del sistema. Enlace la línea **SDA** al terminal A4 en Arduino, GPIO 21 en ESP32, o Pin 3 (SDA1) en la regleta de Raspberry Pi. Conecte **SCL** al terminal A5 en Arduino, GPIO 22 en ESP32, o Pin 5 (SCL1) en Raspberry Pi. El terminal **INT** es de drenador abierto y opcional para interrupciones basadas en hardware.
🎓 Gestión de Firmware e Integración en Arduino, ESP32 y Raspberry Pi

Para implementar este firmware de forma exitosa en entornos diversificados, considere las siguientes pautas técnicas clave según el controlador en uso:

  • Librería de Soporte Multiplataforma: El código provisto se basa en la librería de abstracción de hardware Adafruit_LTR390. Esta clase maneja de manera automatizada las llamadas del bus Wire, garantizando portabilidad absoluta entre **Arduino AVR**, **ESP32 Xtensa** y arquitecturas ARM como el Raspberry Pi Pico sin alterar los registros hexadecimales subyacentes.
  • Ajuste de Resolución y Tiempos de Integración: Modificar la resolución del ADC (ej. subir a 20 bits) incrementa la sensibilidad ante condiciones de iluminación extremadamente bajas, pero prolonga el tiempo interno requerido para estabilizar la lectura dentro del integrador del chip.
  • Orientación Óptica Crítica: A diferencia de los sensores térmicos, la ventana del fotodiodo del LTR390 debe estar totalmente libre de obstrucciones y orientada en un plano ortogonal al haz de luz incidente para evitar reflexiones erráticas internas.
// Código Universal de Monitoreo Espectral LTR390 para Arduino y ESP32 // Desarrollado sobre Bus I2C. Requiere la librería de Adafruit: "Adafruit LTR390 Library" #include #include "Adafruit_LTR390.h" // Creación de la instancia del sensor óptico mediante la interfaz I2C integrada Adafruit_LTR390 ltr = Adafruit_LTR390(); void setup() { // Inicialización del canal de transmisión de datos serial de alta velocidad Serial.begin(115200); Serial.println("--- Inicializando Estacion Multiplataforma LTR390 (I2C) ---"); // Comprobación física de presencia del dispositivo en la dirección fija de fábrica (0x53) if (!ltr.begin()) { Serial.println("[ ERROR ]: No se encontro un sensor LTR390 valido en el bus I2C."); Serial.println("[ REVISAR ]: Verifique las soldaduras en los pines SDA/SCL y la alimentacion."); while (1) { delay(10); } // Detención preventiva del flujo del programa } Serial.println("[ CONFIG ]: Sensor LTR390 detectado exitosamente."); // CONFIGURACIÓN DE PARÁMETROS INTERNOS DE CAPTACIÓN ÓPTICA // Seteo del Modo Inicial: Luz Ambiental (ALS) o Ultravioleta (UV) ltr.setMode(LTR390_MODE_UVS); // Configuración de la ganancia del amplificador interno (Adecuado para radiación directa del sol) ltr.setGain(LTR390_GAIN_3); // Configuración de la resolución del convertidor analógico-digital interno ltr.setResolution(LTR390_RESOLUTION_18BIT); Serial.println("[ STATUS ]: Ajustes aplicados: Ganancia 3x | Resolucion 18 bits."); Serial.println("-----------------------------------------------------------------------------------------"); delay(1000); // Pausa de estabilización electrónica mandatoria } void loop() { // Validación interna para verificar si el integrador óptico ha completado la conversión if (ltr.newDataAvailable()) { // Lectura del canal de datos ultravioleta sin procesar (Cuentas del ADC) uint32_t datosCrudosUV = ltr.readUVS(); // Conversión matemática directa del conteo al Índice UV estandarizado float indiceUV = ltr.getUVIndex(); // DESPLIEGUE DE PARÁMETROS EN CONSOLA SERIAL UNIVERSAL Serial.print("[ REGISTRO ÓPTICO ]: "); Serial.print("Cuentas Raw UV: "); Serial.print(datosCrudosUV); Serial.print(" | "); Serial.print("INDICE ULTRAVIOLETA (UVI): "); Serial.print(indiceUV, 2); // Muestra el índice calculado con dos decimales precisos // Evaluación cualitativa según estándares internacionales de la OMS if (indiceUV < 3.0) { Serial.println(" -> Nivel: [ BAJO ]"); } else if (indiceUV >= 3.0 && indiceUV < 6.0) { Serial.println(" -> Nivel: [ MODERADO ]"); } else if (indiceUV >= 6.0 && indiceUV < 8.0) { Serial.println(" -> Nivel: [ ALTO ]"); } else { Serial.println(" -> Nivel: [ MUY ALTO / EXTREMO ]"); } Serial.println("-----------------------------------------------------------------------------------------"); } // TIEMPO DE ESPERA ENTRE MUESTREOS: Indispensable para permitir la recarga del integrador del fotodiodo delay(2000); }
1. ¿El LTR390 mide luz visible y radiación UV al mismo tiempo?
El integrado posee fotodiodos separados, pero comparte el mismo canal de lectura interno. El cambio de modo entre medición de luz ambiental (ALS) y radiación ultravioleta (UVS) debe realizarse alternando el registro de configuración a través del bus I2C en el código.
2. ¿Se puede alterar la dirección I2C fija del LTR390 en caso de conflicto de bus?
No, la dirección del hardware interno está configurada permanentemente de fábrica en el valor de 7 bits 0x53. Si requiere integrar dos sensores idénticos en la misma placa, es indispensable intercalar un multiplexor de bus digital I2C como el TCA9548A.
3. ¿Qué ocurre si coloco un cristal ordinario o acrílico transparente sobre el sensor LTR390?
Los plásticos comunes y cristales comerciales bloquean parcial o totalmente las longitudes de onda del espectro UV corta y media (UVB/UVA). Para proteger mecánicamente al sensor en exteriores sin falsear la lectura del Índice UV, se debe emplear cuarzo óptico o ventanas de silicio fundido especializado.
4. ¿Cómo interpreta el pin INT de interrupción física los umbrales de radiación del LTR390?
A través del firmware se programan límites máximos o mínimos en los registros del chip. Cuando el nivel de radiación cuzna ese umbral, el pin INT pasa a nivel bajo lógico, notificando instantáneamente al procesador del ESP32 o Arduino sin necesidad de interrogar continuamente al bus I2C.
5. ¿Qué factor influye más en el error de lectura del Índice Ultravioleta en el LTR390?
El error más crítico se debe a la acumulación de suciedad u opacidad sobre el encapsulado transparente y la variación en el ángulo de incidencia lumínica. Las lecturas más exactas se obtienen al mediodía solar con el plano del sensor perfectamente nivelado.
6. ¿Es compatible este sensor con MicroPython en entornos industriales con Raspberry Pi?
Es totalmente compatible. Existen controladores de código abierto específicos para el LTR390 escritos en MicroPython y CircuitPython que le permiten operar fluidamente leyendo los datos crudos del registro serial en tan solo un par de líneas.
7. ¿Por qué las lecturas de luxes del LTR390 difieren de otros sensores como el BH1750?
Cada sensor implementa un diseño de matriz de fotodiodos y filtros ópticos de silicio distintos. Aunque ambos calculan luxes mediante algoritmos, el LTR390 balancea su ganancia en función de un espectro más amplio que roza las fronteras ultravioletas, requiriendo coeficientes de conversión específicos según la fuente de luz monitorizada.
8. ¿Es necesario soldar componentes de soporte adicionales en las líneas SCL y SDA?
No es necesario. La placa breakout del módulo LTR390 incluye resistencias de pull-up físicas de montaje superficial acopladas directamente a la línea VIN regulada, ofreciendo de fábrica la impedancia necesaria para una comunicación limpia de alta velocidad.
9. ¿Este módulo puede sumergirse o usarse en sensores subacuáticos de piscinas?
No de forma directa. El LTR390 es un componente electrónico expuesto de grado de montaje superficial (SMD). Para aplicaciones acuáticas, requiere de un encapsulado estanco sellado herméticamente con una ventana óptica de alta transmitancia UV para evitar cortocircuitos.