資料介紹
描述
介紹
以下是一個(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ù)來(lái)自兩個(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(需要庫(kù))
該項(xiàng)目需要用于 OLED 顯示器和 MAX30100 傳感器的庫(kù):
OLED顯示屏:
Adafruit GFX 庫(kù) - Arduino 參考
MAX30100:
代碼的基本工作
setup函數(shù)初始化OLED顯示屏和MAX30100傳感器。MAX30100 傳感器的紅色 LED 電流設(shè)置為 7.6 ma。但是,根據(jù)所需的靈敏度,可以通過更改 RED_LED_CURRENT 的值來(lái)更改這些值。更多詳細(xì)信息,請(qǐng)參見 MAX30100_Rawdata 示例。
最初,顯示屏顯示“請(qǐng)放好手指”。現(xiàn)在,為了檢測(cè)手指,使用來(lái)自傳感器的 IR 讀數(shù)。irValue 變量存儲(chǔ)來(lái)自傳感器的 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)算放大器來(lái)幫助過濾噪聲。但是,如果您有興趣了解有關(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ì)庫(kù),因此在 Arduino UNO 板上同時(shí)使用 OLED 顯示器和傳感器會(huì)導(dǎo)致穩(wěn)定性問題。您仍然可以使用此傳感器來(lái)顯示心率,因?yàn)樗璧膸?kù)的大小要小得多。
原型
最終的原型是在面包板上制作的:
?
心電圖
如您所見,AD8232 傳感器并不真正需要濾波器。但是,為了更好地理解,還附上了過濾器程序。
以下視頻顯示了通過 MATLAB 使用示例數(shù)據(jù)進(jìn)行的一些數(shù)據(jù)可視化。
SPO2
還有一件事:這是我第一個(gè)嘗試做一些更復(fù)雜的事情的 Arduino 項(xiàng)目。如果您有任何反饋,那將不勝感激。
- Arduino UNO和帶繼電器的振動(dòng)傳感器
- 如何將Arduino Uno安裝在面包板上來(lái)制作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國(guó)內(nèi)改版電路原理圖下載 0次下載
- Arduino Uno Rev.3開發(fā)板意大利原版電路圖 0次下載
- Arduino Files的Arduino Uno R3電路原理圖免費(fèi)下載 100次下載
- Arduino UNO的電路原理圖免費(fèi)下載 221次下載
- arduino uno電路設(shè)計(jì)原理圖 413次下載
- arduino_Uno_Rev3-02-TH 0次下載
- Arduino_Uno_Rev3-schematic 60次下載
- 小安派-UNO-ET485 Arduino開發(fā)板簡(jiǎn)介 751次閱讀
- 這么漂亮的Arduino開發(fā)板你見過嗎? 1605次閱讀
- DISCO-F746NG探索套件讓擴(kuò)展能力大幅提升 1202次閱讀
- 如何利用Arduino UNO和SD卡制作音樂播放器 7319次閱讀
- 如何使用Arduino Uno和HC-06實(shí)現(xiàn)智能手機(jī)對(duì)電燈的控制 4600次閱讀
- 基于Arduino UNO和HC-05藍(lán)牙模塊控制伺服電機(jī) 4824次閱讀
- 微雪電子Arduino開發(fā)板UNO PLUS簡(jiǎn)介 5411次閱讀
- 微雪電子BB Black擴(kuò)展板|Arduino功能擴(kuò)展簡(jiǎn)介 1502次閱讀
- dfrobot 編程積木入門版學(xué)習(xí)套件簡(jiǎn)介 2178次閱讀
- dfrobot Arduino套件介紹 2056次閱讀
- dfrobotArduino官方配套套件 1267次閱讀
- 源創(chuàng)通信BPI-UNO32 arduino 開發(fā)板簡(jiǎn)介 1590次閱讀
- dfrobotArduino UNO R3 介紹 6247次閱讀
- 詳解Arduino Uno控制直流電機(jī)之應(yīng)用 2w次閱讀
- 用Arduino Uno開發(fā)板和一塊面包板就能輕松搞定這一切 2.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多