Construa um Sensor de Batimento Cardíaco Infravermelho Confiável com Arduino: Guia Passo a Passo
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| Emissor IR (genérico) | 1 |
| Receptor IR (genérico) | 1 |
| Cabo USB-A para Mini-USB | 1 |
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Sensor de batimento cardíaco DIY de baixo custo (< $15) usando LED IR e fototransistor. Coloque o dedo entre emissor e receptor; a variação de opacidade do sangue nos vasos modula a luz transmitida, gerando onda de pulso em tempo real no Serial Plotter.
Princípio de Funcionamento
O sangue bombeado torna o dedo mais opaco (mais absorção); quando recua, fica mais transparente. Emissor IR ilumina o dedo continuamente; receptor do outro lado detecta luz transmitida. A intensidade varia com volume sanguíneo → plotando valores obtém-se o batimento cardíaco.


Precisão: Filtragem de Ruído Ambiente
Radiação IR ambiente (até do corpo humano) adiciona ruído. Solução: Arduino calcula média de 5 leituras iniciais (sem dedo) como "lixo" e subtrai das leituras posteriores.
// Calcular soma de 5 leituras de ruído ambiente
int reading = 0;
for(int i=0; i<5; i++) {
reading += analogRead(A0);
}
int reading_final = reading / 5; // Média do ruído
delay(100);
int Heart_rate = analogRead(A0) - reading_final; // Leitura corrigida
Serial.println(Heart_rate); // Plotar no Serial Plotter
Montagem do Hardware
Esquemático: Emissor IR no pino digital (ex: D2) com resistor limitador; Receptor IR no pino analógico A0 (coletor) e GND (emissor), com resistor pull-up no coletor. Alimentação 5V do Arduino.


Saída
Vídeo demonstrando funcionamento: Link do Google Drive. Gráfico em tempo real no Serial Plotter da Arduino IDE.
Dica Alternativa (Gambiarra)
Sem emissor/receptor dedicados: use controle remoto IR (botão pressionado) como emissor e LDR (resistor dependente de luz) como receptor, ajustando limiar via datasheet.
Código
heart_Beat_sensor_101/code (Arduino)
// code by YaSh - Heart_Rate_Sensor
int reading = 0;
int reading_final;
int Heart_rate;
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
}
void loop() {
for(int i=0; i<5; i++) {
reading += analogRead(A0);
}
reading_final = reading / 5;
delay(100);
Heart_rate = analogRead(A0) - reading_final;
Serial.println(Heart_rate);
}
Esquemático

Processo de manufatura
- Coração Artificial: Tecnologia, História e Perspectivas Futuras
- Construa um Sensor de Movimento Infravermelho DIY para Raspberry Pi – Guia Passo a Passo
- Controle um LED com Sensor de Movimento PIR no Raspberry Pi
- Transferência de Dados de Temperatura e Umidade entre Dois Arduinos via Firebase
- Console de Controle DIY para Photoshop com Arduino Nano RP2040
- Robô de Detecção Humana Baseado em Arduino Uno: Integração de Sensores Passo a Passo
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Monitor de Frequência Cardíaca IoT em Tempo Real com Arduino e MAX30100
- Construa um Pote Inteligente IoT com ESP8266, Arduino e Sensor Ultrassônico – Monitoramento em Tempo Real
- Construa uma Torre de Sensores com Arduino Cloud: Monitoramento de Temperatura, Movimento e Gás