資料介紹
描述
介紹
以下是一個(gè)基于 Arduino UNO 的項(xiàng)目,假設(shè)計(jì)算 SPO2、心率和監(jiān)測(cè)患者的心電圖。它使用 MAX30100 脈搏血氧儀和 AD8232 ECG 傳感器模塊。SPO2 和心率顯示在 0.91" 英寸 OLED 顯示屏上。心電圖讀數(shù)被分析并發(fā)布在 ThingSpeak 網(wǎng)站上。這個(gè)項(xiàng)目需要 Arduino IDE 和 Matlab 知識(shí)才能更好地理解。
如果您想學(xué)習(xí)如何從 Arduino 獲取數(shù)據(jù),然后使用 Matlab 進(jìn)行數(shù)據(jù)分析,這是一個(gè)很好的入門級(jí)項(xiàng)目。
使用的傳感器
MAX30100脈搏血氧儀
MAX30100 脈搏血氧儀心率傳感器模塊帶有 Maxim 的 MAX30100 集成脈搏血氧儀和心率傳感器。它是一種光學(xué)傳感器,其讀數(shù)來自兩個(gè) LED 發(fā)出的兩種波長(zhǎng)的光——一個(gè)紅色的和一個(gè)紅外線的——然后通過光電探測(cè)器測(cè)量脈動(dòng)血液的吸光度。這種特殊的 LED 顏色組合針對(duì)通過指尖讀取數(shù)據(jù)進(jìn)行了優(yōu)化。
AD8232心電圖傳感器
這款帶有 AD8232 ECG 傳感器模塊的心率監(jiān)測(cè)器套件用于測(cè)量心臟的電活動(dòng)。這種電活動(dòng)可以繪制為心電圖或心電圖,并作為模擬讀數(shù)輸出。
心電圖可能非常嘈雜,帶有 AD8232 心電圖傳感器模塊的心率監(jiān)測(cè)器套件充當(dāng)運(yùn)算放大器,有助于輕松從 PR 和 QT 間隔獲得清晰的信號(hào)。AD8232 是一款集成信號(hào)調(diào)理模塊,適用于 ECG 和其他生物電勢(shì)測(cè)量應(yīng)用。它旨在提取、放大和過濾存在噪聲條件下的小生物電勢(shì)信號(hào),例如由運(yùn)動(dòng)或遠(yuǎn)程電極放置產(chǎn)生的那些。
軟件方面
Arduino IDE(需要庫)
該項(xiàng)目需要用于 OLED 顯示器和 MAX30100 傳感器的庫:
OLED顯示屏:
MAX30100:
代碼的基本工作
setup函數(shù)初始化OLED顯示屏和MAX30100傳感器。MAX30100 傳感器的紅色 LED 電流設(shè)置為 7.6 ma。但是,根據(jù)所需的靈敏度,可以通過更改 RED_LED_CURRENT 的值來更改這些值。更多詳細(xì)信息,請(qǐng)參見 MAX30100_Rawdata 示例。
最初,顯示屏顯示“請(qǐng)放好手指”。現(xiàn)在,為了檢測(cè)手指,使用來自傳感器的 IR 讀數(shù)。irValue 變量存儲(chǔ)來自傳感器的 IR 值,如果該值低于 7000,則意味著它們當(dāng)前沒有手指放在傳感器上。一旦檢測(cè)到手指,顯示屏上就會(huì)顯示相應(yīng)的 SPO2 和 HR 讀數(shù)。函數(shù)pox.getHeartRate()用于獲取心率讀數(shù),pox.getSpO2()用于獲取 SPO2 讀數(shù)。另一個(gè)函數(shù)onBeatDetected()用于顯示讀數(shù)以及在側(cè)面顯示心臟的 bmp 圖形。請(qǐng)參考 MAX30100_Minimal 示例以更好地理解代碼。
Matlab的使用
在運(yùn)行 Matlab 代碼之前,請(qǐng)確保您已經(jīng)安裝了 Signal Processing Toolbox、Wavelet Toolbox 和 Arduino Package for Matlab 。
Matlab 在以下項(xiàng)目中用于演示如何從 Arduino 獲得 ECG 信號(hào)并進(jìn)一步用于任何數(shù)學(xué)分析。作為演示,我編寫了一個(gè)簡(jiǎn)短的程序,該程序可以繪制獲得的原始 ECG 信號(hào)的 R 波,使用它可以輕松計(jì)算心率。然后將這些讀數(shù)發(fā)送到一個(gè)名為ThingSpaeak的網(wǎng)站。ThingSpeak 是一種物聯(lián)網(wǎng)分析平臺(tái)服務(wù),允許用戶聚合、可視化和分析云中的實(shí)時(shí)數(shù)據(jù)流。
Matlab 可以在這個(gè)項(xiàng)目中使用的另一個(gè)有趣的方法是過濾嘈雜的 ECG 信號(hào)。盡管此項(xiàng)目不需要這種方法,因?yàn)槭褂玫膫鞲衅鲙в幸粋€(gè)板載運(yùn)算放大器來幫助過濾噪聲。但是,如果您有興趣了解有關(guān)通過 Matlab 進(jìn)行 ECG 信號(hào)濾波的更多信息,那么我建議您閱讀這篇文章“ Implement Notch Filter to remove 50 Hz on ECG signal - File Exchange - MATLAB Central (mathworks.com) ”。另一種濾波方法可以從這篇文章“ Removing High-Frequency Noise from an ECG Signal - MATLAB & Simulink - MathWorks India ”這篇文章中看到。
收集到的 Matlab 數(shù)據(jù)將發(fā)送到 ThingSpeak 網(wǎng)站,在該網(wǎng)站上可以進(jìn)行進(jìn)一步分析。在這個(gè)項(xiàng)目中,我開發(fā)了 4 個(gè)簡(jiǎn)單的程序,您可以在 ThingSpeak 上運(yùn)行這些程序,以 4 種方式可視化 ECG 數(shù)據(jù)。第一個(gè)程序是簡(jiǎn)單地繪制心電圖信號(hào)。第二個(gè)程序是繪制 RR 區(qū)間。第三個(gè)程序顯示心電圖信號(hào)的頻率響應(yīng),這有助于檢測(cè)信號(hào)中的噪聲。最后一個(gè)程序顯示了信號(hào)的 PSD(功率譜密度),再次有助于驗(yàn)證接收到的信號(hào)的完整性。
注意:下圖是根據(jù)樣本數(shù)據(jù)制作的,不是通過 AD8232傳感器制作的。

為了學(xué)習(xí)如何在 Matlab 中使用 ThingSpeak,我強(qiáng)烈推薦這個(gè)網(wǎng)絡(luò)研討會(huì)。
硬件方面
MAX30100問題:
市場(chǎng)上有兩種類型的 MAX30100 脈搏血氧計(jì)傳感器。如果您有如圖所示的紫色(GY-MAX30100),那么您不必?fù)?dān)心任何事情。但是,如果您有此處使用的綠色電阻,則必須卸下板載 472 歐姆電阻器,并在SCL 和 SDA 引腳上使用外部 4.7K 歐姆電阻器,如原理圖所示。

?

此外,如果您希望使用 MAX30102 心率傳感器(黑色),請(qǐng)確保您擁有功能更強(qiáng)大的微控制器,例如 Arduino Mega。該傳感器需要更多空間用于其血氧計(jì)庫,因此在 Arduino UNO 板上同時(shí)使用 OLED 顯示器和傳感器會(huì)導(dǎo)致穩(wěn)定性問題。您仍然可以使用此傳感器來顯示心率,因?yàn)樗璧膸斓拇笮∫〉枚唷?
原型
最終的原型是在面包板上制作的:

?

心電圖

如您所見,AD8232 傳感器并不真正需要濾波器。但是,為了更好地理解,還附上了過濾器程序。
以下視頻顯示了通過 MATLAB 使用示例數(shù)據(jù)進(jìn)行的一些數(shù)據(jù)可視化。
SPO2
還有一件事:這是我第一個(gè)嘗試做一些更復(fù)雜的事情的 Arduino 項(xiàng)目。如果您有任何反饋,那將不勝感激。
- Arduino UNO和帶繼電器的振動(dòng)傳感器
- 如何將Arduino Uno安裝在面包板上來制作DIY Arduino Uno
- 帶RC522 RFID讀取器套件的BUONO UNO R3
- 基于Arduino UNO的帶遙控器環(huán)境燈 0次下載
- 帶Arduino Uno的自動(dòng)化園藝設(shè)備
- 帶Arduino UNO的紅外接收器和遙控器
- 基于Arduino UNO構(gòu)建小型midi解碼器
- 帶Arduino Uno的I2C 16x2 LCD接口(僅4線)
- Arduino Uno國內(nèi)改版電路原理圖下載 0次下載
- Arduino Uno Rev.3開發(fā)板意大利原版電路圖 0次下載
- Arduino Files的Arduino Uno R3電路原理圖免費(fèi)下載 102次下載
- Arduino UNO的電路原理圖免費(fèi)下載 223次下載
- arduino uno電路設(shè)計(jì)原理圖 416次下載
- arduino_Uno_Rev3-02-TH 0次下載
- Arduino_Uno_Rev3-schematic 61次下載
- 小安派-UNO-ET485 Arduino開發(fā)板簡(jiǎn)介 986次閱讀
- 這么漂亮的Arduino開發(fā)板你見過嗎? 1910次閱讀
- DISCO-F746NG探索套件讓擴(kuò)展能力大幅提升 1442次閱讀
- 如何利用Arduino UNO和SD卡制作音樂播放器 8107次閱讀
- 如何使用Arduino Uno和HC-06實(shí)現(xiàn)智能手機(jī)對(duì)電燈的控制 5044次閱讀
- 基于Arduino UNO和HC-05藍(lán)牙模塊控制伺服電機(jī) 5094次閱讀
- 微雪電子Arduino開發(fā)板UNO PLUS簡(jiǎn)介 5785次閱讀
- 微雪電子BB Black擴(kuò)展板|Arduino功能擴(kuò)展簡(jiǎn)介 1688次閱讀
- dfrobot 編程積木入門版學(xué)習(xí)套件簡(jiǎn)介 2391次閱讀
- dfrobot Arduino套件介紹 2260次閱讀
- dfrobotArduino官方配套套件 1403次閱讀
- 源創(chuàng)通信BPI-UNO32 arduino 開發(fā)板簡(jiǎn)介 1773次閱讀
- dfrobotArduino UNO R3 介紹 6779次閱讀
- 詳解Arduino Uno控制直流電機(jī)之應(yīng)用 2.1w次閱讀
- 用Arduino Uno開發(fā)板和一塊面包板就能輕松搞定這一切 2.4w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論