MAX30102-P Modulo Sensor de Pulso de Ritmo Cardiaco Pulsioxímetro

[MAX30102-P] MAX30102-P Modulo Sensor de Pulso de Ritmo Cardiaco Pulsioxímetro

https://electrofranko.com/web/image/product.template/2456/image_1920?unique=12a5631

S/ 22.00 22.0 PEN S/ 22.00

S/ 22.00

Not Available For Sale

Esta combinación no existe.

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


Referencia Interna: MAX30102-P

Sensor Biométrico de Pulso y Oxigenación Profesional (MAX30102)

Módulo óptico de alta sensibilidad para oximetría de pulso y frecuencia cardíaca con búfer FIFO de 32 muestras e interfaz I2C.

El módulo biométrico MAX30102 es un biosensor óptico de última generación diseñado para el monitoreo no invasivo de la saturación de oxígeno en sangre (SpO2) y el pulso cardíaco. Superando las especificaciones de sus predecesores, esta versión implementa un convertidor analógico-digital (ADC) de hasta 18 bits y un potente búfer de datos interno FIFO con capacidad para almacenar hasta 32 muestras continuas, descargando significativamente el procesamiento del microcontrolador principal. El circuito integra dos diodos emisores de luz (un LED rojo de 660 nm y un LED infrarrojo de 880 nm) junto con un fotodetector de bajo ruido y un blindaje de vidrio óptico integrado de fábrica que optimiza la relación señal/ruido, rechaza la luz ambiental y protege al silicio contra artefactos de movimiento físicos.

Especificaciones Técnicas

Parámetro Detalle
Tensión de AlimentaciónDC 3.3 V a 5 V (Módulo con regulador integrado)
Corriente de Operación1.5 mA a 5.0 mA (Según ancho de pulso LED)
Resolución del ADC InternoConfigurable por software (15, 16, 17 u 18 bits)
Búfer de Datos de HardwareFIFO interno de 32 niveles (Muestras de almacenamiento)
Longitud de Onda LED Rojo660 nm (Detección de oxihemoglobina)
Longitud de Onda LED IR880 nm (Detección de hemoglobina reducida)
Parámetro Detalle
Dirección de Bus I2C0x57 (Direccionamiento de fábrica de 7 bits)
Frecuencia de MuestreoProgramable desde 50 Hz hasta 400 Hz
Ancho de Pulso de LEDConfigurable (69 µs, 118 µs, 215 µs, 411 µs)
Rango Térmico IntegradoSensor de temperatura interno ±1 °C para calibración
Encapsulado FísicoVidrio protector integrado contra grasa cutánea
Asignación de PinesVIN, GND, SCL, SDA, INT (Interrupción)

Diagrama de Conexiones y Mapeo de Pines

Diagrama de Conexión MAX30102

Ventajas del MAX30102

Mayor Resolución de Digitalización (18 bits): Permite detectar variaciones volumétricas de flujo sanguíneo extremadamente sutiles en capilares delgados, ofreciendo mayor precisión diagnóstica frente al MAX30100.

Búfer FIFO Avanzado (32 Muestras): Evita la pérdida de tramas críticas si el microcontrolador principal está ocupado renderizando pantallas o procesando cálculos de control, reduciendo los requerimientos de polling del bus.

Vidrio Óptico Protector Integrado: Previene la acumulación de sudor, suciedad o grasa en los componentes ópticos internos del sensor, manteniendo constante la refracción lumínica en operaciones prolongadas de laboratorio.

Código Arduino Completo y Optimizado

// Código de Adquisición Avanzada de Datos Fotoplestimográficos para el Sensor MAX30102 // Utiliza la librería oficial SparkFun MAX3010x para gestionar el búfer FIFO e interrupciones del bus I2C #include <Wire.h> #include "MAX30105.h" // Creación del objeto de instrumentación biométrica MAX30105 biosensor; // VARIABLES GLOBALES DE TELEMETRÍA Y CONTROL unsigned long cuentaMuestras = 0; unsigned long tiempoAnteriorReporte = 0; const unsigned long intervaloReporte = 1000; // Refresco serial en milisegundos void setup() { Serial.begin(115200); // Velocidad crítica de transmisión para flujos biométricos a tiempo real Serial.println("--- Sistema de Instrumentación Fotométrica Digital MAX30102 ---"); // Inicialización física del esclavo I2C en la dirección base 0x57 if (!biosensor.begin(Wire, I2C_SPEED_FAST)) { Serial.println("[ ERROR ]: Módulo MAX30102 no responde en la dirección 0x57."); Serial.println("Verifique líneas de voltaje (VCC/GND), continuidad en SDA/SCL y resistencias pull-up."); while (1); // Bloqueo preventivo de seguridad por falla de hardware } Serial.println("[ OK ]: Communication establecida exitosamente con el MAX30102."); // CONFIGURACIÓN AVANZADA DEL ARREGLO ÓPTICO DEL BIOSENSOR // Parámetros sin simplificaciones para asegurar la máxima estabilidad en la lectura de capilares byte brilloLED = 0x1F; // Configuración de corriente intermedia (~6.2mA) para evitar saturación del fotodiodo byte promedioMuestras = 4; // Filtro de promedio móvil interno por hardware (Opciones: 1, 2, 4, 8, 16, 32) byte modoLED = 2; // Modo de operación: 1 = Solo Rojo (Pulso), 2 = Rojo + Infrarrojo (SpO2) int tasaMuestreo = 100; // Frecuencia de muestreo en Hz (Opciones: 50, 100, 200, 400, 800, 1000) int anchoPulso = 411; // Ancho de pulso del LED en microsegundos (Afecta directamente la resolución ADC de 18 bits) int rangoADC = 4096; // Rango dinámico total del ADC interno (4096, 8192, 16384) // Carga estructural de los registros de configuración en el circuito integrado biosensor.setup(brilloLED, promedioMuestras, modoLED, tasaMuestreo, anchoPulso, rangoADC); // Habilitación y lectura del sensor térmico interno (Utilizado para compensación por deriva de temperatura) biosensor.enableDIETEMPRDY(); Serial.println("Inicialización de registros completada de manera exitosa."); Serial.println("Coloque el dedo sobre el encapsulado óptico para iniciar telemetría..."); Serial.println("-------------------------------------------------------------------------"); } void loop() { // Función crítica: El sensor MAX30102 almacena los datos de los fotodiodos en su búfer FIFO interno // La función .check() lee la cola de datos por bus I2C y actualiza los punteros de la librería biosensor.check(); // Verificación de disponibilidad de tramas dentro del búfer localizado en el microcontrolador while (biosensor.available()) { cuentaMuestras++; // Extracción de lecturas crudas del convertidor de 18 bits sin manipulación matemática uint32_t lecturaRed = biosensor.getFIFORed(); uint32_t lecturaIR = biosensor.getFIFOIR(); // Avance secuencial seguro al siguiente slot de memoria del búfer FIFO biosensor.nextSample(); unsigned long tiempoActual = millis(); // Bloque temporizado no bloqueante para impresión periódica de datos consolidados if (tiempoActual - tiempoAnteriorReporte >= intervaloReporte) { tiempoAnteriorReporte = tiempoActual; // Ejecución de la lectura del termistor interno para monitoreo de la temperatura del die float temperaturaSilicio = biosensor.readTemperature(); // Salida formateada de laboratorio para el diagnóstico de componentes ópticos Serial.print("Muestra No: "); Serial.print(cuentaMuestras); Serial.print(" | Canal RED (Crudo): "); Serial.print(lecturaRed); Serial.print(" | Canal IR (Crudo): "); Serial.print(lecturaIR); Serial.print(" | Temp Interna: "); Serial.print(temperaturaSilicio, 1); Serial.println(" °C"); // Diagnóstico dinámico de acoplamiento de señal óptica if (lecturaRed < 20000 || lecturaIR < 20000) { Serial.println(" [ ALERTA ]: Presencia tisular no detectada o presión insuficiente sobre el vidrio."); } else { Serial.println(" [ STATUS ]: Flujo fotométrico estable. Datos aptos para procesamiento de SpO2."); } Serial.println("-------------------------------------------------------------------------"); } } }