分析和監(jiān)測(cè)心率的有效方法是通過心電圖(ECG)心臟監(jiān)測(cè)系統(tǒng)。
在本文中,我們將通過向您展示如何將其連接到Arduino UNO以使用Processing創(chuàng)建心跳可視化來(lái)設(shè)置和運(yùn)行AD8232心率監(jiān)視器。
注意:此項(xiàng)目?jī)H用于業(yè)余愛好和學(xué)習(xí)目的;它不能用于代替醫(yī)療級(jí)心電監(jiān)護(hù)儀或作為專業(yè)醫(yī)療診斷的替代品。
什么是AD8232?
AD8232可測(cè)量心臟的電活動(dòng)。該電活動(dòng)可以表示為ECG。心電圖已被廣泛用于幫助診斷各種心臟病。
我們的想法是從AD8232板上獲取ECG信號(hào)。 AD8232的輸出信號(hào)約為1.5伏。該信號(hào)將由Arduino UNO以大約1k樣本/秒進(jìn)行采樣。然后將這些采樣值發(fā)送到PC,以通過USB端口進(jìn)行可視化。
我建議使用兩節(jié)AA電池作為電源,因?yàn)槿绻麖腁rduino UNO的3.3V輸出為AD8232供電,則60Hz會(huì)產(chǎn)生太多噪音。如果需要,AD8232也可以使用3V水銀紐扣電池供電。兩根導(dǎo)線(信號(hào)和地)從AD8232電路板流向Arduino(A0和地)。我還使用了一些熱熔膠來(lái)加強(qiáng)AD8232電路板連接處的導(dǎo)線。
所需的硬件
Arduino UNO
AD8232心電圖模塊
心電圖電極(3)
心電圖電極連接器 - 3.5 mm
數(shù)據(jù)線
跳線
面包板
由Sparkfun提供的AD8232模塊。
心電圖電極
我們心電圖心臟監(jiān)護(hù)儀的硬件。
必備軟件
Arduino IDE
處理(2.2.1)
源代碼
將AD8232模塊連接到Arduino UNO
心率監(jiān)測(cè)器源代碼
下載.ino文件或復(fù)制以下代碼并在Arduino IDE中打開它。將Arduino連接到您的計(jì)算機(jī)。上傳代碼,然后打開串行監(jiān)視器:
void setup() {
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{
Serial.println(analogRead(A0));
}
delay(1);
}
處理代碼
在處理中運(yùn)行下面給出的Javascript,以便可視化數(shù)據(jù)。來(lái)自傳感器的數(shù)據(jù)由Arduino讀取并發(fā)送到串行端口。處理從串行端口讀取此數(shù)據(jù),然后將其繪制出來(lái)。下載下面的代碼,或者只是將其復(fù)制并粘貼到Processing IDE中,然后單擊“運(yùn)行”。
**注意:只有Processing 2.2.1才能使用此代碼。
import processing.serial.*;
Serial myPort;
int xPos = 1;
float height_old = 0;
float height_new = 0;
float inByte = 0;
void setup () {
size(1000, 400);
println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil(‘ ’);
background(0xff);
}
void draw () {
}
void serialEvent (Serial myPort) {
String inString = myPort.readStringUntil(‘ ’);
if (inString != null) {
inString = trim(inString);
if (inString.equals(“!”)) {
stroke(0, 0, 0xff); //Set stroke to blue ( R, G, B)
inByte = 512; // middle of the ADC range (Flat Line)
}
else {
stroke(0xff, 0, 0); //Set stroke to red ( R, G, B)
inByte = float(inString);
}
inByte = map(inByte, 0, 1023, 0, height);
height_new = height - inByte;
line(xPos - 1, height_old, xPos, height_new);
height_old = height_new;
if (xPos 》= width) {
xPos = 0;
background(0xff);
}
else {
xPos++;
}
}
}
確保三個(gè)電極放在你的手或胸部,并正確連接。
現(xiàn)在您將能夠看到心跳的可視化,它將如下所示:
-
Arduino
+關(guān)注
關(guān)注
188文章
6468瀏覽量
186952 -
AD8232
+關(guān)注
關(guān)注
0文章
20瀏覽量
19339
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論