時(shí)心電監(jiān)護(hù):從面包板接線到滾動(dòng)心率波形)
用AD8232搭建實(shí)時(shí)心電監(jiān)護(hù)從面包板接線到滾動(dòng)心率波形【免費(fèi)下載鏈接】AD8232_Heart_Rate_MonitorAD8232 Heart Rate Monitor項(xiàng)目地址: https://gitcode.com/gh_mirrors/ad/AD8232_Heart_Rate_Monitor心臟的電信號(hào)只有 0.5–5 mV比面包板上任何一根線里的噪聲都小幾個(gè)數(shù)量級(jí)。AD8232 芯片把信號(hào)放大 100 倍并濾除干擾得到可讀的心電ECG心電圖波形。開源項(xiàng)目 AD8232_Heart_Rate_Monitor 提供了完整的接線、固件與顯示代碼一塊 AD8232 模塊加一塊 Arduino、一個(gè)面包板就能得到實(shí)時(shí)滾動(dòng)的心電波形和數(shù)字心率讀數(shù)。能力全景放大、報(bào)警、數(shù)心跳的文件分別在哪能力對(duì)應(yīng)文件說明心電前端放大與濾波AD8232 模塊SparkFun SEN-12650增益 100 倍內(nèi)置濾波器抑制工頻噪聲和基線漂移脫落檢測判斷電極是否貼好Heart_Rate_Display_Arduino.ino讀引腳 10/11導(dǎo)聯(lián)脫落時(shí)改為發(fā)送警告字符實(shí)時(shí)波形與平均心跳Heart_Rate_Display.pdeProcessing 程序取最近 500 次心跳間隔求平均得到 BPM每分鐘心跳次數(shù)原理圖與 PCB 布局AD8232_Heart_Rate_Monitor.sch、AD8232_Heart_Rate_Monitor.brd自畫板或直接送 PCB 廠拼板生產(chǎn)文件Production Files 目錄v10 拼板文件可直接投產(chǎn)硬件側(cè)只有三樣AD8232 模塊、Arduino Pro Mini 3.3V、FTDI 串口轉(zhuǎn)換模塊讓電腦通過 USB 與 Arduino 通信的芯片板全部插在面包板上不用焊接。最小上手路徑接線、燒錄與運(yùn)行顯示接線共 5 步模塊 3.3V 引腳接板子 3.3V兩邊 GND 相連模塊是 3.3V 電平接 5V 會(huì)燒模塊 OUTPUT 引腳接 A0模擬輸入讀取放大后的波形LO 與 LO- 接數(shù)字引腳 10 和 11脫落檢測用FTDI 模塊 TX、RX 接板子 RX、TXGND 接 GND建立與電腦的串口鏈路貼三個(gè)電極RA 右鎖骨下、LA 左鎖骨下、RL 右下腹這是三電極單導(dǎo)聯(lián)放置法皮膚先用酒精擦一遍保證接觸軟件兩步用 Arduino IDE 打開上面的 .ino 文件板子選 Arduino Pro 3.3V/8MHz 并選對(duì)端口上傳9600 波特率已寫死在代碼里用 Processing 打開 .pde 文件選擇同一個(gè)串口運(yùn)行輸出結(jié)果怎么讀紅色波形、藍(lán)線與數(shù)字窗口內(nèi)容分三部分分別對(duì)應(yīng)不同狀態(tài)紅色滾動(dòng)波形正常數(shù)據(jù)。波形應(yīng)每秒出現(xiàn)一個(gè)尖銳的 R 波尖峰其余時(shí)間是小幅抖動(dòng)藍(lán)色水平線導(dǎo)聯(lián)脫落報(bào)警波形固定在 512即 1024 檔 ADC模數(shù)轉(zhuǎn)換器把電壓變成 0–1023 的數(shù)字量程的中點(diǎn)左上角數(shù)字演示版實(shí)際顯示的是當(dāng)前 ADC 采樣值而非平均心率真正的均值存在 BPM 變量里想顯示均值把draw()里text(BPM: inByte, ...)的inByte改成BPM判斷標(biāo)準(zhǔn)靜息時(shí)尖峰大約每 0.8–1 秒出現(xiàn)一次波形平直或尖峰模糊時(shí)先查電極接觸關(guān)鍵參數(shù)怎么解讀9600、620 與 500Processing 程序里的心跳判定依賴一個(gè)閾值參數(shù)摘錄如下float threshold 620.0; // Threshold at which BPM calculation occurs if (inByte threshold belowThreshold true) { calculateBPM(); belowThreshold false; }9600兩端串口波特率一端不匹配波形就會(huì)亂碼或不出數(shù)據(jù)620超過該 ADC 值判定為一次心跳波形幅度偏低時(shí)調(diào)小更容易計(jì)數(shù)但噪聲可能被誤判500參與平均的心跳間隔個(gè)數(shù)均值平滑但有延遲delay(1).ino 中把采樣限制在約每秒 1000 點(diǎn)防止串口數(shù)據(jù)溢出邊界與注意事項(xiàng)做不了什么、容易錯(cuò)在哪不是醫(yī)療器械數(shù)據(jù)只用于學(xué)習(xí)和日常參考不能用于診斷5V 引腳FTDI 模塊的 5V 輸出不要接到板子的 3.3V 電源引腳5V 會(huì)損傷 3.3V 板運(yùn)動(dòng)偽影手臂一動(dòng)基線就跳測量時(shí)保持靜止或用膠布固定電極工頻干擾50Hz 交流聲在遠(yuǎn)離調(diào)光開關(guān)、電動(dòng)工具后明顯減小接觸不良單導(dǎo)聯(lián)放置對(duì)皮膚接觸很敏感電極沒貼好會(huì)直接出藍(lán)線資源入口目錄索引與 clone 地址目錄索引/Fritzing接線示意圖與 Fritzing 工程文件/HardwareEagle 原理圖.sch與 PCB 布局.brd/Production Filesv10 拼板生產(chǎn)文件/SoftwareArduino 與 Processing 演示程序獲取項(xiàng)目git clone https://gitcode.com/gh_mirrors/ad/AD8232_Heart_Rate_Monitor硬件設(shè)計(jì)基于 Creative Commons Share-alike 3.0 許可軟件代碼采用 Beerware 許可均可自由修改與再使用商用采用硬件設(shè)計(jì)時(shí)需署名。【免費(fèi)下載鏈接】AD8232_Heart_Rate_MonitorAD8232 Heart Rate Monitor項(xiàng)目地址: https://gitcode.com/gh_mirrors/ad/AD8232_Heart_Rate_Monitor創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考