SP-203 Sensor de Pulso / Ritmo Cardiaco para Arduino

[SP-203] SP-203 Sensor de Pulso / Ritmo Cardiaco para Arduino

https://electrofranko.com/web/image/product.template/1142/image_1920?unique=c7e4710

S/ 19.00 19.0 PEN S/ 19.00

S/ 19.00

Not Available For Sale

Esta combinación no existe.

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


Referencia Interna: SP-203

Sensor de Pulso y Ritmo Cardíaco Fotoeléctrico SP-203

Módulo analógico biométrico plug-and-play basado en fotopletismografía (PPG) para Arduino y microcontroladores.

El sensor de pulso cardíaco **SP-203** es un módulo de adquisición biométrica diseñado para detectar la actividad circulatoria periférica de forma no invasiva. Basado en el principio de fotopletismografía (PPG), integra en una misma cara un diodo LED emisor de luz verde y un fotodetector de alta respuesta (APDS-9008); al colocar el dedo o el lóbulo de la oreja en contacto directo, el dispositivo mide los cambios sutiles en la absorción de luz provocados por el flujo volumétrico de sangre arterial durante cada ciclo de bombeo del corazón. La señal resultante es acondicionada mediante un amplificador operacional de bajo ruido (MCP6001) y una etapa de filtrado pasivo que entregan una onda analógica limpia y lista para ser procesada por el convertidor ADC de cualquier microcontrolador.

Especificaciones Técnicas

ParámetroDetalle
Tensión de Operación (VCC)3.0 V a 5.5 V DC (Compatible con 3.3V y 5V)
Consumo de Corriente Promedio~4 mA a 5V (Bajo consumo lógico, máx 20mA)
Amplificador Operacional IntegradoMCP6001 (Microchip) de bajo voltaje y bajo ruido
Fotodetector Óptico a BordoAPDS-9008 de alta selectividad espectral
Tipo de Señal de SalidaAnalógica (Variación continua de voltaje)
ParámetroDetalle
Longitud de Onda del LEDVerde (~525 nm, óptimo para absorción en sangre)
Configuración de Pines3 Pines: VCC (+), GND (-) y Señal Analógica (S)
Indicación Visual LocalLED piloto integrado que titila al ritmo del pulso
Modelo de Referencia PCBMódulo HW-827 / Serie SP-203
Uso RecomendadoProyectos educativos, wearables y robótica lúdica

Ventajas Destacadas del Módulo SP-203

Conexión Plug-and-Play Inmediata: No requiere de circuitos adicionales de instrumentación o puentes de resistencias externas gracias a su etapa operacional interna de ganancia unificada.

Alta Relación Señal/Ruido: El filtro de hardware integrado discrimina de forma eficiente las interferencias de luz ambiental y ruidos electromagnéticos de baja frecuencia.

Compatibilidad de Voltaje Multiplataforma: Trabaja sin problemas tanto a 3.3V (ideal para ESP32, STM32 o Raspberry Pi) como a 5V (nativo para Arduino Uno / Mega).

Mapeo de Pines y Diagrama de Conexión Base con Arduino

Diagrama de Conexión del Sensor SP-203
Detalle del Módulo: El sensor cuenta con un factor de forma circular optimizado para la yema del dedo. Dispone de tres vías de salida rotuladas en su PCB: VCC (alimentación positiva), GND (referencia a tierra) y S / OUT (salida analógica). El LED verde frontal debe estar en contacto directo y firme con la piel, evitando movimientos bruscos para prevenir artefactos de movimiento en el trazado de la señal.
🎓 Guía de Análisis Técnico y Procesamiento de la Señal

Para interpretar correctamente la señal del **SP-203**, el código implementa tres conceptos fundamentales de ingeniería biomédica y programación embebida:

  • Frecuencia de Muestreo Síncrono (500Hz): Tomar lecturas estrictas cada 2ms asegura capturar fielmente los picos de la onda de pulso (onda PPG) sin perder resolución temporal ni saturar la memoria del procesador.
  • Algoritmo de Cruce por Umbral: El pulso se detecta cuando el valor analógico supera la variable umbralDisparoDinamico. Este valor puede ser ajustado entre 0 y 1023 según la presión del dedo o la opacidad de la piel.
  • Filtro de Histéresis y Tiempo Muerto: Se añade una ventana de seguridad de 250ms después de cada latido válido. Esto evita que el ruido mecánico o pequeñas fluctuaciones ópticas generen dobles disparos falsos, limitando matemáticamente la lectura lógica a un máximo realista de 240 BPM.
// Código Completo de Integración para el Sensor de Pulso Fotoeléctrico SP-203 // Desarrollado con muestreo controlado síncrono para trazado gráfico PPG y cálculo de BPM const int PIN_ANALOG_SP203 = A0; // Entrada analógica conectada a la terminal de señal (S) del módulo const int PIN_LED_PULSO = 13; // LED de la placa que parpadeará en sincronía exacta con cada latido verificado // Parámetros de control temporal y análisis de frecuencia de la onda cardíaca unsigned long tiempoUltimaMuestraMs = 0; const unsigned long intervaloMuestreoMs = 2; // Frecuencia de muestreo estricta a 500Hz (Cada 2ms para capturar picos PPG de forma fiel) // Variables lógicas para el algoritmo de detección de picos (Cruce por Umbral) int umbralDisparoDinamico = 550; // Valor base ajustable de comparación analógica (0 - 1023) bool pulsoDetectadoFlanco = false; unsigned long tiempoUltimoLatidoMs = 0; float bpmCalculado = 0.0; void setup() { Serial.begin(115200); Serial.println("--- Inicializando Monitor Clínico de Ritmo Cardíaco SP-203 ---"); // Inicialización de pines pinMode(PIN_ANALOG_SP203, INPUT); pinMode(PIN_LED_PULSO, OUTPUT); digitalWrite(PIN_LED_PULSO, LOW); Serial.println("[ CONFIG ]: Puerto analógico A0 configurado para lectura continua."); Serial.println("[ STATUS ]: Bus calibrado. Coloque la yema de su dedo de manera estable sobre la superficie del sensor."); Serial.println("-----------------------------------------------------------------------------------------"); } void loop() { unsigned long tiempoActualMs = millis(); // Monitoreo no bloqueante basado en la base de tiempo estricta de 2ms if (tiempoActualMs - tiempoUltimaMuestraMs >= intervaloMuestreoMs) { tiempoUltimaMuestraMs = tiempoActualMs; // Adquisición directa del voltaje instantáneo entregado por el amplificador MCP6001 del módulo int lecturaCrudaADC = analogRead(PIN_ANALOG_SP203); // Formato de salida compatible con el Serial Plotter de Arduino IDE para visualización de la onda sinusoidal Serial.print("Onda_PPG:"); Serial.print(lecturaCrudaADC); Serial.print(","); Serial.print("Linea_Umbral:"); Serial.println(umbralDisparoDinamico); // Algoritmo de detección de flanco por sobrepaso de umbral con histéresis temporal preventiva if (lecturaCrudaADC > umbralDisparoDinamico && !pulsoDetectadoFlanco) { // Filtro de exclusión: Se exige un retardo mínimo de 250ms entre latidos (Evita lecturas erróneas por rebotes o arritmias de ruido) if (tiempoActualMs - tiempoUltimoLatidoMs > 250) { pulsoDetectadoFlanco = true; digitalWrite(PIN_LED_PULSO, HIGH); // Encendido físico del LED indicador // Cálculo analítico del período (Intervalo entre latidos consecutivos) unsigned long intervaloEntreLatidosMs = tiempoActualMs - tiempoUltimoLatidoMs; tiempoUltimoLatidoMs = tiempoActualMs; // Conversión matemática fundamental: Período en milisegundos a Pulsaciones por Minuto (BPM) bpmCalculado = 60000.0 / intervaloEntreLatidosMs; } } // Restablecer el flanco lógico una vez la onda sinusoidal desciende por debajo de la zona de histéresis del umbral if (lecturaCrudaADC < (umbralDisparoDinamico - 30) && pulsoDetectadoFlanco) { pulsoDetectadoFlanco = false; digitalWrite(PIN_LED_PULSO, LOW); // Apagado del indicador visual } } }
1. ¿Por qué el monitor serial muestra valores inestables o demasiado ruido en la gráfica?
Esto se debe principalmente a "artefactos de movimiento". Al tratarse de un sensor óptico de alta ganancia, cualquier desplazamiento leve del dedo altera la refracción de luz detectada. Se recomienda usar una banda elástica o sujetar firmemente el sensor sin presionar demasiado, manteniendo la mano en reposo absoluto.
2. ¿El sensor SP-203 mide la saturación de oxígeno en la sangre (SpO2)?
No. Este módulo está diseñado exclusivamente para fotopletismografía analógica simple, lo que permite calcular la frecuencia cardíaca (BPM) y graficar la onda de pulso. Para medir oxígeno en sangre se requiere un oxímetro que use doble longitud de onda (Luz roja e infrarroja combinadas), como el chip MAX30102.
3. ¿Cómo sé cuál es el umbral analógico correcto para mi código Arduino?
El umbral base por defecto en el código es 550, pero varía según la opacidad de la piel y la luz del entorno. Abre el "Serial Plotter" de Arduino para ver las ondas sinusoidales. Identifica el valor intermedio de la onda y modifica la variable umbralDisparoDinamico con ese número para asegurar una detección limpia.
4. ¿Puedo alimentar este sensor directamente con una placa que funcione a 3.3V?
Sí, el amplificador operacional MCP6001 integrado es del tipo Rail-to-Rail y soporta un amplio rango de voltaje desde 3.0V hasta 5.5V DC. Funciona perfectamente conectado al pin de 3.3V de placas como NodeMCU ESP32, STM32 o Raspberry Pi Pico.
5. ¿Por qué el LED piloto de la placa parpadea de forma errática antes de colocar el dedo?
Es un comportamiento completamente normal. Cuando el fotodetector óptico no está cubierto por la piel, capta las frecuencias y parpadeos de la luz ambiental artificial (bombillas domésticas a 50Hz/60Hz), amplificando ese ruido y provocando destellos falsos en el LED testigo.
6. ¿Qué ocurre si presiono el sensor contra mi dedo con mucha fuerza?
Si presionas con excesiva fuerza, ocluirás los vasos capilares de la yema del dedo, deteniendo temporalmente el flujo volumétrico local de sangre arterial. Como consecuencia, el sensor perderá la onda de pulsación y la señal analógica se aplanará por completo. El contacto debe ser suave pero firme.

Módulo reductor DC-DC ajustable LM2596

Convertidor Step-Down Buck regulable de hasta 3 A

El LM2596-PCB es un módulo convertidor DC-DC Step-Down o Buck diseñado para reducir una tensión continua de entrada y entregar una salida regulada de menor valor. Incorpora el regulador conmutado LM2596S-ADJ, inductor, diodo Schottky, capacitores de filtrado y potenciómetro multivuelta. Resulta apropiado para fuentes, baterías, iluminación y equipos electrónicos. Su corriente práctica continua depende de ventilación, diferencia de voltaje y temperatura.

Especificaciones técnicas

Características principales Valor
Topología Convertidor DC-DC Step-Down o Buck no aislado
Circuito regulador LM2596S-ADJ
Tensión de entrada 4–40 V CC
Tensión de salida 1,25–37 V CC ajustable
Margen de regulación La entrada debe superar la salida aproximadamente 1,5–2 V
Corriente máxima 3 A
Corriente continua práctica Aproximadamente 2 A sin refrigeración adicional
Frecuencia de conmutación 150 kHz típica
Eficiencia orientativa Hasta aproximadamente 90–92 %, según entrada, salida y carga
Compatibilidad Fuentes DC, baterías, iluminación LED y equipos electrónicos
Características adicionales Valor
Ajuste de salida Potenciómetro multivuelta
Terminales de entrada IN+ e IN−
Terminales de salida OUT+ y OUT−
Protección térmica Integrada en el LM2596
Limitación de corriente Integrada en el regulador
Aislamiento galvánico No incluido
Protección de polaridad No garantizada en módulos comerciales comunes
Rizado de salida Depende de carga, cableado, filtrado y estado de los capacitores
Disipación Puede requerir disipador o ventilación por encima de 2 A
Aplicaciones habituales Reducción de 12 V a 5 V, 24 V a 12 V y otras salidas inferiores
Información técnica: El LM2596 solamente reduce tensión. La salida siempre debe configurarse por debajo de la entrada. Ajusta y verifica el voltaje con un multímetro antes de conectar la carga.

Ventajas principales

Reducción eficiente: Convierte una tensión continua mayor en otra menor con pérdidas reducidas frente a reguladores lineales tradicionales de potencia equivalente.

Salida regulable: El potenciómetro multivuelta permite seleccionar con precisión la tensión requerida, siempre por debajo de la entrada y dentro del rango operativo.

Capacidad práctica: Puede alimentar numerosas cargas electrónicas; para corrientes elevadas necesita ventilación, conexiones firmes y verificación cuidadosa de temperatura.

Protecciones integradas: El LM2596 incorpora limitación de corriente y apagado térmico, aportando protección básica frente a condiciones anormales de funcionamiento.

Instalación sencilla: Los terminales IN y OUT claramente identificados facilitan su integración en diferentes sistemas de alimentación de corriente continua.

Aplicaciones recomendadas

Fuentes regulables: Permite obtener diferentes tensiones inferiores desde una sola fuente continua, facilitando pruebas, mantenimiento y alimentación de equipos electrónicos.

Sistemas con baterías: Reduce 12 V o 24 V hacia niveles adecuados para iluminación, receptores, controladores y otros dispositivos de menor tensión.

Iluminación LED: Alimenta tiras y módulos LED de tensión constante, siempre que la corriente y potencia permanezcan dentro de los límites térmicos.

Equipos automotrices: Puede adaptar la alimentación del vehículo para accesorios electrónicos, incorporando fusible y protección contra transitorios cuando la instalación lo requiera.

Proyectos electrónicos: Proporciona una salida ajustable para etapas de control, comunicaciones, audio y cargas DC que necesiten una tensión inferior estable.

Las imágenes presentan la distribución de componentes y la identificación de los terminales de entrada y salida del módulo LM2596-PCB.

Galería de esquemas y conexiones

Guía de conexión: IN+ → positivo de la fuente · IN− → negativo de la fuente · OUT+ → positivo de la carga · OUT− → negativo de la carga

Pulsa una pregunta para desplegar su respuesta. Cuatro preguntas incluyen comparaciones con productos relacionados.

1. ¿El LM2596 puede elevar el voltaje de entrada?

No. Es un convertidor Buck reductor: la salida siempre debe ser inferior a la entrada, conservando además un margen aproximado de 1,5–2 V.

2. ¿Qué diferencia existe frente a un regulador lineal LM317?

El LM2596 conmuta a 150 kHz y desperdicia menos energía; el LM317 regula linealmente, admite menor corriente y disipa más calor con grandes caídas.

3. ¿Cómo se compara con el LM2576?

Ambos son reductores de 3 A, pero el LM2596 trabaja a 150 kHz frente a 52 kHz del LM2576, permitiendo componentes magnéticos más pequeños.

4. ¿Cuándo conviene utilizar un módulo XL4015?

El XL4015 se anuncia para 5 A y 180 kHz; conviene en cargas mayores, siempre considerando refrigeración, calidad de placa y corriente continua real.

5. ¿Puede reemplazar un elevador MT3608?

No. El LM2596 reduce tensión, mientras el MT3608 es Boost y eleva una entrada menor; la elección depende de la relación entrada-salida requerida.

6. ¿Entrega realmente 3 A de forma continua?

Tres amperios corresponden a la capacidad nominal del regulador. En módulos compactos se recomienda aproximadamente 2 A continuos sin refrigeración adicional y con buena ventilación.

7. ¿Cómo se ajusta correctamente la salida?

Conecta únicamente la entrada, mide OUT+ y OUT− con multímetro y gira lentamente el potenciómetro hasta obtener el voltaje requerido antes de instalar la carga.

8. ¿Qué margen necesita entre entrada y salida?

Para conservar regulación estable, la entrada debe superar normalmente la salida entre 1,5 y 2 V; el margen necesario aumenta según carga y temperatura.

9. ¿Puede utilizarse directamente con baterías?

Sí, siempre que su tensión permanezca dentro del rango de entrada y supere la salida configurada; también deben respetarse polaridad, corriente y temperatura.

10. ¿Incluye protección contra polaridad invertida?

Los módulos LM2596 comunes normalmente no garantizan esa protección. Invertir IN+ e IN− puede dañarlos, por lo que debe comprobarse la polaridad antes de energizar.