O AD8232 é um circuito integrado para monitorar a frequência cardíaca. O AD8232 é um bloco de condicionamento de sinal integrado para aplicações de medição de ECG e outros sinais de bioeltericidade. Ele é projetado para extrair, amplificar e filtrar pequenos sinais na presença de condições ruidosas através de 3 eletrodos.
Este projeto permite que um conversor analógico-digital de energia ultrabaixa (ADC) ou um microcontrolador incorporado adquira o sinal de saída com facilidade.
O que é ECG?
Esta onda de ECG tem duas seções como intervalo PR e intervalo QT, usando o AD8232 IC podemos obter menos informações de ruído.
Placa de monitor de
coração AD8232
.
Ligações.
Etiqueta da placa
|
Pino Função
|
Conexão Arduino
|
GND
|
terra
|
GND
|
3.3v
|
Fonte de alimentação 3.3v
|
3.3v
|
OUTPUT
|
Sinal de saída
|
A0
|
LO-
|
Leads-off Detectar -
|
11
|
LO +
|
Leads-off Detect +
|
10
|
SDN
|
Desligar
|
Não usado
|
Eletrodos.
Cor do cabo
|
Sinal
|
Preto
|
RA (braço direito)
|
Azul
|
LA (braço esquerdo)
|
Vermelho
|
RL (perna direita)
|
AD8232 Conexão com
Arduino
Crédito de imagem: theorycircuit.com
Código Arduino
Conecte os eletrodos
correspondentes na pele e forneça a fonte de alimentação 3.3V e GND da placa
Arduino, o pino SDN (shutdown) não está conectado a nenhuma parte. O pino
OUTPUT está ligado ao A0 (entrada analógica 0) do Arduino. Para detectar o
Leads off, os pinos LO -, LO + estão conectados ao pino digital Arduino D11 e
D10, respectivamente.
Código Arduino
/******************************************************************************
Heart_Rate_Display.inoDemo Program for AD8232 Heart Rate sensor.
Casey Kuhns @ SparkFun Electronics 6/27/2014
https://github.com/sparkfun/AD8232_Heart_Rate_Monitor
******************************************************************************/
void setup() {
// initialize the serial communication:
Serial.begin(9600);
pinMode(10, INPUT); // Setup for leads off detection LO +
pinMode(11, INPUT); // Setup for leads off detection LO -
}
void loop() {
if((digitalRead(10) == 1)||(digitalRead(11) == 1)){
Serial.println('!');
}
else{
// send the value of analog input 0:
Serial.println(analogRead(A0));
}
//Wait for a bit to keep serial data from saturating
delay(1);
}
Código de processamento
/******************************************************************************
Heart_Rate_Display.inoDemo Program for AD8232 Heart Rate sensor.
Casey Kuhns @ SparkFun Electronics 6/27/2014
https://github.com/sparkfun/AD8232_Heart_Rate_Monitor
******************************************************************************/
import processing.serial.*;
Serial myPort; // The serial port
int xPos = 1; // horizontal position of the graph
float height_old = 0;
float height_new = 0;
float inByte = 0;
void setup () {
// set the window size:
size(1000, 400);
// List all the available serial ports
println(Serial.list());
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 9600);
// don't generate a serialEvent() unless you get a newline character:
myPort.bufferUntil('\n');
// set inital background:
background(0xff);
}
void draw () {
// everything happens in the serialEvent()
}
void serialEvent (Serial myPort) {
// get the ASCII string:
String inString = myPort.readStringUntil('\n');
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// If leads off detection is true notify with blue line
if (inString.equals("!")) {
stroke(0, 0, 0xff); //Set stroke to blue ( R, G, B)
inByte = 512; // middle of the ADC range (Flat Line)
}
// If the data is good let it through
else {
stroke(0xff, 0, 0); //Set stroke to red ( R, G, B)
inByte = float(inString);
}
//Map and draw the line for new data point
inByte = map(inByte, 0, 1023, 0, height);
height_new = height - inByte;
line(xPos - 1, height_old, xPos, height_new);
height_old = height_new;
// at the edge of the screen, go back to the beginning:
if (xPos >= width) {
xPos = 0;
background(0xff);
}
else {
// increment the horizontal position:
xPos++;
}
}
}
No link abaixo há informações sobre a janela do Processing.
https://www.arduinoecia.com.br/2014/09/tutorial-arduino-processing.html
Nenhum comentário:
Postar um comentário