Manual
do
Maker
.
com
É bem fácil achar tutorial sobre esse sensor de batimento cardíaco, tem até vídeos (com kibada) sobre o princípio. Mas vamos pular a parte chata e tentar fazer bom uso dele em mais um ou dois artigos. Nesse, farei a apresentação e discorrerei superficialmente sobre a interpreta ção dos valores de um ECG (EletroCardioGrama). Parafraseando o anúncio do produto, esse sensor não foi criado para fins diagnósticos, não tente fazer um produto para vender em consultórios. Dito isso, sigamos.
Um eletrocardiograma faz vários diagnósticos e tem grande importância, mas ele também gera falsos positivos. Para um eletro, o paciente deve ficar deitado e relaxado, não tendo fumado nos últimos 30 minutos. As áreas de aplicação do eletrodo são previamente limpas com álcool (provavelmente para remoção da gordura da pele, para melhor resultado da fita adesiva do eletrodo) e uma gota de gel condutor é utilizada. Nem sempre é utilizado o gel condutor, e acredito que qualquer líquido condutivo sirva (água destilada não serve, por exemplo).
A área de medicina é restrita, os protocolos de validação são complexos, mas ainda assim é necessário calibrar o equipamento. Devem ser considerados:
Se houver inconsistências, o exame deverá ser repetido. Logo, nota-se que não é possível tirar um aparelho "do bolso" e montar um "consultório não-oficial" de medicina diagnóstica.
Para fazer a interpretação, algumas variáveis devem ser consideradas e calculadas.
Sabendo os passos a seguir, podemos iniciar o processo na ordem descrita anteriormente. A imagem abaixo representa cada uma das fases em seu respectivo segmento, da imagem anterior:
Nesse primeiro passo determina-se o número de batimentos por minuto. No papel do eletrocardiograma há uma equivalência de 300 quadrados por minuto, por isso o papel é todo quadriculado. A frequência é calculada no número de picos da onda R dentro do intervalo de 1 minuto. Havendo 2 quadrados entre cada onda, o resultado será de 150bpm. Para facilitar, a regra é 300, 150, 100, 75, 60, 50, 30, 20 e 10. Mas isso é para leitura no papel. Podemos resolver facilmente por software, considerando:
BPM = 300/i onde i é o número de intervalos entre cada onda.
Quando o batimento for irregular, cada 30 quadros grandes equivalem a 6 segundos. Conta-se então os picos das ondas R e faz-se a média.
Esse resultado é percentual, baseado na proporcionalidade das ondas dentro dos complexos QRS e no casamento da onda P no nó sinusal. Calma, ficará mais claro. O QRS tem um intervalo de 0,12s, ocupando 3 quadrados pequenos.
Para analisar os intervalos PR e QT, mede-se os intervalos a partir do desenho. Um intervalo normal PR varia entre 0,12 e 0,20s. Já o intervalo QT fica entre 350 e 450ms.
Mesmo que o sensor seja apenas para brincar, ele não tem serventia nenhuma se não fizer considerações mínimas com os valores coletados, certo?
Cada derivação do ECG é um ponto de vista diferente sobre o estímulo elétrico que passa pelo coração (que é um músculo). O eixo elétrico dará um ângulo diferente para cada condição de saúde. Usando como base um plano cartesiano, teremos:
A análise adequada do segmento ST (veja a segunda imagem para se orientar) pode indicar cardiopatia isquêmica, dependendo das alterações. Um programa errado, um sensor descalibrado e a imperícia de um maker fazendo avaliações da área de medicina pode provocar um infarto (de susto). Lembre-se que tudo isso é informativo, e não para ser aplicado ao projeto caseiro para fins diagnósticos.
O segmento ST deve ser isoelétrico, isto é, não deve possuir carga elétrica. Não vamos entrar em detalhes científicos, mas para fim de curiosidade, isso ocorre quando um aminoácido ou proteína apresenta carga elétrica líquida igual a zero. Para ter uma ideia da complexidade de uma leitura, sugiro essa aula.
A medição do segmento ST vai do fim do complexo QRS até a onda T. Para fins diagnósticos, deve-se comparar aos segmentos PR ou ST.
Os pontos mais importantes em um ECG são arritmias, bloqueios, infarto prévio ou isquemias. Não sou da área médica, claro, por isso dei uma estudada básica nos princípios para fazer o que realmente dá pra fazer de projeto, e que tenha alguma aplicação não-diagnóstica. Mas como descrevi todas as leituras, vou aproveitar e deixar o formato de um laudo que peguei em um dos artigos sobre ECG que li:
eletrocardiograma com ritmo sinusal;
frequência cardíaca de 70 bpm;
onda P positiva em todas as derivações, exceto aVR;
QRS largo, com eixo elétrico do QRS normal, cerca de 45°;
intervalo PR considerado normal, em 0,15 s;
QT corrigido normal em 400 ms;
segmento ST é isoelétrico e sem alterações relevantes;
onda T é positiva em todas as derivações, excetuando aVR;
não há onda Q patológica;
conclusão do eletrocardiograma: exame dentro dos limites da normalidade.
Se for fazer um brinquedo, pode aproveitar pra gerar um laudo para imprimir. Crianças adoram brincar de médico, imagine tendo um equipamento desse?
As chamadas "derivações periféricas" são as da imagem a seguir:
Agora que já sabemos que não basta oscilar com picos, vamos ver o que conseguimos obter de amostragem, e a qualidade dela. Será que tem muito ruído? Será que um Arduino dá conta? Ou seria melhor um ESP32? Para ver os testes e resultados, sugiro que veja o vídeo relacionado a esse artigo em nosso canal DobitaobyteBrasil no Youtube.
O wiring não tem segredo. Fiz com Arduino e fiz com ESP32. Escolha 2 pinos para a condicional do código disposto abaixo e, se usar Arduino, pino A0 para a leitura; se usar ESP32, pino 4 para a leitura.
O código abaixo está pronto para ESP32, programado no VS Code. Se for compilar na IDE do Arduino, remova o include da primeira linha.
#include <Arduino.h>
int value = 0;
void setup() {
Serial.begin(9600);
pinMode(18,INPUT);
pinMode(19,INPUT);
}
void loop() {
if (digitalRead(18) || digitalRead(19)){
Serial.println("!");
}
else{
value = analogRead(GPIO_NUM_4);
Serial.println(value);
}
delay(1);
}
/*
3v3
*/
Esse dispositivo de eletrocardiograma você encontra na CurtoCircuito.
Revisão: Ricardo Amaral de Andrade
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.