¿Alguna vez has soñado con medir tu ritmo cardíaco y visualizarlo en tiempo real usando un dispositivo hecho por ti? 🧠💡 Este proyecto educativo te guiará para crear un monitor de ritmo cardíaco usando un Arduino Nano, un sensor de pulso, un LED y una pantalla OLED. Es perfecto para aprender electrónica de forma práctica y divertida. Eso sí, recuerda que este dispositivo no sustituye equipos médicos.

Materiales Necesarios

  • Arduino Nano (o cualquier microcontrolador compatible).
  • Sensor de ritmo cardíaco (por ejemplo, KY-039 o Pulse Sensor).
  • LED (para indicar pulsos visualmente).
  • Pantalla OLED (modelo SSD1306 con interfaz I2C).
  • Resistencia de 220 ohm (para el LED).
  • Cables de conexión y protoboard.
  • Fuente de alimentación (puede ser una batería o el cable USB del Arduino).

Paso 1: Conexiones del Circuito

Sensor de Ritmo Cardíaco

  1. Conecta el pin VCC del sensor al pin 5V del Arduino.
  2. Conecta el pin GND del sensor al GND del Arduino.
  3. Conecta el pin OUT del sensor al pin analógico A0 del Arduino.

LED Indicador

  1. Conecta el cátodo (el lado corto) del LED al pin GND del Arduino.
  2. Conecta el ánodo (el lado largo) al pin digital 13 del Arduino mediante una resistencia de 220 ohm.

Pantalla OLED

  1. Conecta el pin VCC de la pantalla al pin 5V del Arduino.
  2. Conecta el pin GND de la pantalla al GND del Arduino.
  3. Conecta el pin SCL al pin A5 del Arduino (línea de reloj de I2C).
  4. Conecta el pin SDA al pin A4 del Arduino (línea de datos de I2C).

Paso 2: Carga del Código al Arduino

El siguiente código permite leer las señales del sensor, encender el LED al ritmo del corazón y mostrar una gráfica en la pantalla OLED.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Configuración de la pantalla OLED
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

const int sensorPin = A0;  // Pin del sensor
const int ledPin = 13;     // Pin del LED
int sensorValue = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);

  if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) {
    Serial.println("Error al inicializar la pantalla OLED");
    for (;;);
  }

  display.clearDisplay();
}

void loop() {
  // Leer el valor del sensor
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);

  // Encender el LED si el pulso supera un umbral
  if (sensorValue > 512) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

  // Actualizar la pantalla OLED
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Ritmo Card\u00edaco");
  display.drawRect(0, 16, SCREEN_WIDTH, 32, SSD1306_WHITE);
  int barHeight = map(sensorValue, 0, 1023, 0, 32);
  display.fillRect(2, 48 - barHeight, 124, barHeight, SSD1306_WHITE);
  display.display();

  delay(50); // Intervalo para evitar lecturas continuas
}

Paso 3: Prueba y Ajustes

  1. Conecta el Arduino a tu computadora mediante un cable USB y carga el código usando el IDE de Arduino.
  2. Abre el monitor serie para ver los valores en crudo del sensor.
  3. Observa el LED parpadeando al ritmo de tu corazón.
  4. Mira la pantalla OLED mostrando la gráfica en tiempo real.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *