¿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
- Conecta el pin VCC del sensor al pin 5V del Arduino.
- Conecta el pin GND del sensor al GND del Arduino.
- Conecta el pin OUT del sensor al pin analógico A0 del Arduino.
LED Indicador
- Conecta el cátodo (el lado corto) del LED al pin GND del Arduino.
- Conecta el ánodo (el lado largo) al pin digital 13 del Arduino mediante una resistencia de 220 ohm.
Pantalla OLED
- Conecta el pin VCC de la pantalla al pin 5V del Arduino.
- Conecta el pin GND de la pantalla al GND del Arduino.
- Conecta el pin SCL al pin A5 del Arduino (línea de reloj de I2C).
- 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
- Conecta el Arduino a tu computadora mediante un cable USB y carga el código usando el IDE de Arduino.
- Abre el monitor serie para ver los valores en crudo del sensor.
- Observa el LED parpadeando al ritmo de tu corazón.
- Mira la pantalla OLED mostrando la gráfica en tiempo real.
Deja una respuesta