電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帶涂鴉智能的物聯(lián)網(wǎng)心率(BPM)監(jiān)測(cè)和追蹤器

帶涂鴉智能的物聯(lián)網(wǎng)心率(BPM)監(jiān)測(cè)和追蹤器

2022-07-21 | zip | 0.69 MB | 次下載 | 2積分

資料介紹

PCB圖如下:

poYBAGLM1BuAbnxzAAI1zYDcky0455.png

成分

PCBWay定制PCB
?
× 1
阿杜諾納米
?
× 1
NodeMCU V3 LoLin ESP8266
?
× 1
MAX30102 脈搏血氧儀和心率傳感器
?
× 1
MAX30100 脈搏血氧儀和心率傳感器(可選)
?
× 1
SSD1306 OLED 128x64
?
× 1
5mm共陽(yáng)極RGB LED
?
× 1
按鈕 (6x6)
?
× 1
220Ω電阻
?
× 3
電源插座
?
× 1
外接電池
?
× 1

描述

帶涂鴉智能物聯(lián)網(wǎng)心率 (BPM) 監(jiān)測(cè)和追蹤器

?

心率或脈搏是您每分鐘心跳的次數(shù) (BPM)。雖然心臟在全身循環(huán)氧氣和富含營(yíng)養(yǎng)的血液,但心率是這一過(guò)程的基礎(chǔ),因?yàn)樾呐K的功能(稱為“心輸出量”)與心率和每搏輸出量(泵出的血液量)直接相關(guān)每拍)。因此,心率或節(jié)律的快速激增或耗竭可能表明患有心臟病、肺部疾病或其他問題。因此,跟蹤我們的心率可以讓我們深入了解我們的整體健康狀況。

?

雖然監(jiān)測(cè)和跟蹤心率(BPM)的方法和系統(tǒng)非常豐富,但在這個(gè)項(xiàng)目中,我專注于開發(fā)一種新設(shè)備,該設(shè)備具有易于理解的移動(dòng)應(yīng)用程序界面,兼容AndroidiOs,用于觀察心率產(chǎn)生的數(shù)據(jù)。脈搏血氧計(jì)傳感器。

?

我決定在這個(gè)項(xiàng)目中使用涂鴉 IoT 平臺(tái),因?yàn)樗梢宰屛议_發(fā)一個(gè)兼容各種操作系統(tǒng)的移動(dòng)應(yīng)用程序接口,并將信息保存到涂鴉云,以跟蹤脈搏血氧儀傳感器產(chǎn)生的數(shù)據(jù)。在接下來(lái)的步驟中,我將詳細(xì)解釋我是如何利用涂鴉 IoT 平臺(tái)來(lái)改進(jìn)這個(gè)項(xiàng)目的。

當(dāng)我從頭開始開發(fā)此設(shè)備以監(jiān)測(cè)和跟蹤心率 (BPM) 時(shí),我不想讓該設(shè)備僅與一種類型的脈搏血氧計(jì)傳感器一起工作。因此,該設(shè)備支持連接到 Arduino Nano 的兩種不同傳感器類型:

?

  • MAX30102
  • MAX30100

?

我可以使用上面提到的兩個(gè)傳感器,但我決定使用 MAX30102。然后,我連接了一塊 SSD1306 OLED(128x64)屏幕顯示心率(BPM),然后將數(shù)據(jù)發(fā)送到涂鴉云。

?

最后,我添加了一個(gè) 5mm 共陽(yáng)極 RGB LED 來(lái)顯示設(shè)備與涂鴉云的連接狀態(tài)。

?

在涂鴉云支持的移動(dòng)應(yīng)用界面上,設(shè)備可以讓用戶展示三個(gè)不同的數(shù)據(jù)點(diǎn),并帶有相關(guān)圖表:

?

  • Finger_In - 手指定位
  • Respiratory_Rate - BPM
  • Blood_Oxygen - SpO2(可選)
  • Blood_Oxygen - 紅光測(cè)量(可選)

?

在面包板上完成接線并測(cè)試代碼后,我設(shè)計(jì)了受呼吸系統(tǒng)啟發(fā)的 PCB,作為心率顯著性的指標(biāo)。因此,該設(shè)備成為監(jiān)測(cè)和跟蹤心率的時(shí)尚且實(shí)用的設(shè)備:)

?

pYYBAGLM1CuAT-OEAAaAMPYubmc796.jpg

?

poYBAGLM1C6ANDaQAAMu9odWVKE122.jpg

poYBAGLM1MSAHcvzAOQJpaXZiqs411.gif

?

第 1 步:設(shè)計(jì)和焊接 IoT 心率監(jiān)測(cè)器 PCB

?

在對(duì)我的 PCB 設(shè)計(jì)進(jìn)行原型設(shè)計(jì)之前,我在面包板上使用 Arduino Nano 和 ESP8266 測(cè)試了所有連接和布線。

?

poYBAGLM1MmAXSfYAAjzxS8JLrg201.jpg

?

然后,我使用 KiCad 設(shè)計(jì)了 ??IoT 心率監(jiān)測(cè)器 PCB - 靈感來(lái)自珍貴的呼吸系統(tǒng) :) 我在下面附上了 PCB 的 Gerber 文件,所以如果您愿意,您可以從 PCBWay 訂購(gòu)此 PCB,以創(chuàng)建合適且有效的使用涂鴉智能監(jiān)測(cè)和跟蹤脈搏血氧儀傳感器生成的數(shù)據(jù)的設(shè)備。

?

poYBAGLM1MyAFNewAAj89x0gZRg940.jpg

?

pYYBAGLM1NWAZntGAAemPrKkIlo256.jpg

?

首先,通過(guò)使用烙鐵,我連接了接頭(母頭)、MAX30102 脈搏血氧計(jì)傳感器、按鈕(6x6)、5mm 共陽(yáng)極 RGB LED、220Ω 電阻和電源插孔。

?

PCB上的元件清單:

?

A1(Arduino Nano 接頭)

ESP_1(NodeMCU V3 LoLin ESP8266 的標(biāo)頭)

S1(SSD1306 OLED 屏幕接頭)

M_X1 (MAX30102)

M_X2 (MAX30100)

K1(6x6 按鈕)

D1 (5mm 共陽(yáng)極 RGB LED)

R1、R2、R3(220Ω電阻)

J1(電源插孔)

J2(外部電池接頭)

?

pYYBAGLM1NmAVcNXAAjypAp7lbE869.jpg

?

poYBAGLM1OGAOJTWAAiagUrC6sE384.jpg

?

pYYBAGLM1OaAA-n2AAlgFrh_5LQ627.jpg

?

第二步:在涂鴉IoT平臺(tái)上創(chuàng)建新產(chǎn)品

?

涂鴉智能是一個(gè)全球物聯(lián)網(wǎng)平臺(tái),為品牌、OEM、制造商和零售連鎖店提供智能家居產(chǎn)品。但是,涂鴉并非只為公司提供服務(wù)和 API。涂鴉已經(jīng)建立了一個(gè)物聯(lián)網(wǎng)云平臺(tái),為開發(fā)者提供一整套產(chǎn)品,包括平臺(tái)即服務(wù)(PaaS)、軟件即服務(wù)(SaaS)和其他基于云的服務(wù)。涂鴉云平臺(tái)構(gòu)建了蓬勃發(fā)展的生態(tài)系統(tǒng),提供超過(guò) 1100 個(gè)品類、410,000 多個(gè)產(chǎn)品 SKU,覆蓋 220 多個(gè)國(guó)家和地區(qū)。

?

涂鴉物聯(lián)網(wǎng)平臺(tái)?讓用戶從零開始開發(fā)智能產(chǎn)品,并提供針對(duì)不同產(chǎn)品類型的內(nèi)置功能。此外,涂鴉 SDK 允許通過(guò)串行通信控制帶有開發(fā)板的注冊(cè)和授權(quán)產(chǎn)品。您可以從涂鴉開發(fā)者平臺(tái)獲取更多關(guān)于涂鴉 SDK 的信息?。

?

pYYBAGDYDjyAdOX6AADBg1dx8Qs196.png

?

在使用涂鴉 IoT 平臺(tái)為該項(xiàng)目創(chuàng)建定制產(chǎn)品時(shí),我決定將 NodeMCU V3 LoLin ESP8266 轉(zhuǎn)換為注冊(cè)和授權(quán)的涂鴉產(chǎn)品。然后,我使用 Arduino Nano 與授權(quán)產(chǎn)品(ESP8266)進(jìn)行通信。借助涂鴉官方 Arduino 庫(kù),Arduino Nano 可以通過(guò)串口通訊方式與授權(quán)產(chǎn)品進(jìn)行通信,在連接涂鴉智能 App 后,向涂鴉云發(fā)送數(shù)據(jù)并接收來(lái)自涂鴉云的指令。

?

poYBAGLM1OqACO1HAAA0pmF_m8c789.png

?

? 首先,進(jìn)入?涂鴉賬號(hào)注冊(cè)頁(yè)面?,創(chuàng)建一個(gè)開發(fā)者賬號(hào)。

?

? 然后,進(jìn)入涂鴉IoT平臺(tái),點(diǎn)擊:

?

創(chuàng)造 ?找不到類別?

?

? 輸入所需的產(chǎn)品信息:

?

  • 協(xié)議 ?無(wú)線上網(wǎng)
  • 電源類型 ? 標(biāo)準(zhǔn)功耗

?

pYYBAGLM1O2AHCwxAACkPwWnZDk048.png

?

poYBAGLM1O-AGx6_AAEM_qwCiEI963.png

?

? 創(chuàng)建產(chǎn)品后,從標(biāo)準(zhǔn)功能中選擇要添加到產(chǎn)品的功能,如果標(biāo)準(zhǔn)功能不支持,則創(chuàng)建新功能(自定義)。

?

標(biāo)準(zhǔn)功能是指涂鴉為其產(chǎn)品類別提供的功能。由于有很多內(nèi)置產(chǎn)品,很容易找到您需要的功能。此外,您可以?根據(jù)您的項(xiàng)目創(chuàng)建名為Custom functions的專用函數(shù)。

?

數(shù)據(jù)點(diǎn)(DP)是一個(gè)函數(shù)的抽象表示,每個(gè)函數(shù)都有一個(gè)ID和數(shù)據(jù)類型。

?

數(shù)據(jù)點(diǎn)ID(DP ID):表示數(shù)據(jù)點(diǎn)(功能)的代碼。涂鴉云通過(guò)數(shù)據(jù)點(diǎn) ID 發(fā)送或接收數(shù)據(jù)。

?

數(shù)據(jù)類型:布爾值、值(整數(shù))、枚舉、故障、字符和 RAW。

?

由于涂鴉提供了一些內(nèi)置的血氧儀功能,我不必為我的產(chǎn)品創(chuàng)建新功能:

?

  • Finger_In - 104 - 布爾
  • Respiratory_Rate - 102 - 值
  • Blood_Oxygen(或紅燈) - 103 - 值
  • Blood_Oxygen 數(shù)據(jù) - 101 - 原始(可選)

?

pYYBAGLM1PGAQIL4AAJW9F7eRhE306.png

?

pYYBAGLM1PSACoiTAAEuz9rTXms342.png

?

poYBAGLM1PaAeBWMAAEtujfXSLM300.png

?

? 然后,進(jìn)入?硬件開發(fā)?,選擇?涂鴉標(biāo)準(zhǔn)模塊 SDK?下?的TYWE3S Wi-Fi 模塊。它與 ESP-12E (ESP8266) 模塊有一個(gè)無(wú)法區(qū)分的引腳排列。

?

pYYBAGLM1PmAU5m2AAELXw9s0Hs591.png

?

pYYBAGLM1PuAViY9AAA3ueh1pNg834.png

?

步驟 2.1:開發(fā)移動(dòng)應(yīng)用程序界面(面板)

?

? 成功創(chuàng)建產(chǎn)品后,進(jìn)入設(shè)備面板。然后,單擊 Visualized DIY Panel 下的 Create Blank Panel。

?

poYBAGLM1P2ASpp9AAFF78OB-Ms203.png

?

? 現(xiàn)在,使用拖放組件設(shè)計(jì)面板(移動(dòng)應(yīng)用程序界面)。它類似于 MIT App Inventor。

?

pYYBAGLM1P-AAHG_AADdma3qjfw920.png

?

? 設(shè)計(jì)面板后,單擊“?釋放”?按鈕并輸入所需信息。

?

pYYBAGLM1QKAIuH_AAC_BBZus_4724.png

?

? 最后,??在 Android 或 iOS 上下載涂鴉智能應(yīng)用并注冊(cè)。

?

我將通過(guò)以下步驟向您展示如何使用涂鴉智能應(yīng)用程序連接產(chǎn)品(ESP8266)。

?

poYBAGLM1QWAVK_CAAF_uOIWYEU927.png

?

第三步:注冊(cè)并授權(quán) ESP8266 為涂鴉產(chǎn)品

?

為了能夠使用 NodeMCU V3 LoLin ESP8266 作為本項(xiàng)目的涂鴉產(chǎn)品,您需要使用所需的固件對(duì)其進(jìn)行刷寫和授權(quán)。

?

要授權(quán) ESP8266,您必須將產(chǎn)品 ID(PID)和您的涂鴉 IoT 帳戶名(電子郵件)發(fā)送到 dev@tuya.com。一段時(shí)間后,他們會(huì)向您發(fā)送一個(gè)令牌 ID。然后,按照以下步驟操作:

?

? 首先,進(jìn)入?涂鴉智能 PMS 系統(tǒng)?,創(chuàng)建一個(gè)開發(fā)者賬號(hào)。

?

poYBAGLM1QiACE-MAAByYkF1pXI635.png

?

poYBAGLM1QqAK0W9AAK1Abm60K8471.png

?

? 然后,進(jìn)入?生產(chǎn)管理?工單管理 ? 激活碼驗(yàn)證。要激活產(chǎn)品的生產(chǎn)證書,請(qǐng)輸入令牌 ID。確認(rèn) Token ID 后,ESP8266 就可以刷機(jī)和授權(quán)了。

?

pYYBAGLM1Q2AHTNOAABvDS7YF2Y951.png

?

poYBAGLM1RGAdKNeAACyhne1b9A658.png

?

? ?確認(rèn)后,從?知識(shí)庫(kù)管理下載最新版本的?云模塊測(cè)試平臺(tái)?軟件下載您可以在下載中找到副本。

?

pYYBAGLM1ROAKHmyAAEOMxPDlpQ498.png

?

? 下載云模塊后,打開并登錄。然后,進(jìn)入文件?設(shè)置并輸入所需的設(shè)置,如下所示:

?

  • 燒波特率?921600
  • 測(cè)試波特?9600

?

pYYBAGLM1RWATzgXAADA8ygwHUM850.png

?

? 點(diǎn)擊?輸入令牌?Token?并將 Token ID 粘貼到?Burning Authorization下。不要忘記選擇?固件下載

?

poYBAGLM1RqAGt17AADyr1g2h0I144.png

?

? 現(xiàn)在,通過(guò) USB 線將 NodeMCU V3 LoLin ESP8266 連接到計(jì)算機(jī)并選擇其端口號(hào),例如?COM5。如果您之前沒有將它與 Arduino IDE 或其他編譯器一起使用,您可能需要安裝?它的驅(qū)動(dòng)程序。

?

poYBAGLM1R6AboRyAADPi05R9dk855.png

?

? 最后點(diǎn)擊?運(yùn)行?刷機(jī),授權(quán)ESP8266為涂鴉產(chǎn)品。

?

pYYBAGLM1SGAGLPxAADRiojZ49M581.png

?

第 4 步:將 ESP8266 與兼容 Android 和 iOS 的涂鴉智能應(yīng)用程序配對(duì)

?

將ESP8266刷機(jī)并授權(quán)為涂鴉產(chǎn)品后,即可通過(guò)涂鴉智能APP輕松連接到涂鴉云進(jìn)行數(shù)據(jù)收發(fā)。

?

產(chǎn)品(ESP8266)必須處于網(wǎng)絡(luò)連接模式才能連接涂鴉智能APP。如以下步驟所述,我在設(shè)備上分配了一個(gè)按鈕以在按下時(shí)部署網(wǎng)絡(luò)連接模式。

?

? 首先,按下設(shè)備上的網(wǎng)絡(luò)連接按鈕,直到 RGB LED 閃爍綠色。

?

pYYBAGLM1SmAXAb8AAh7szrIrDw300.jpg

?

? 然后,打開?涂鴉智能應(yīng)用?并登錄。

?

pYYBAGLM1S-AGfrBAAaYa-bZnns042.jpg

?

? 去?添加設(shè)備?手動(dòng)添加?其他的 ?其他(無(wú)線網(wǎng)絡(luò))

?

pYYBAGLM1TKAb-PqAAGBe9vZq4Y783.jpg

?

pYYBAGLM1TWAR_9sAARGaBGJ8cM142.jpg

?

poYBAGLM1TmAHlUSAAOE1vqep_U061.jpg

?

? 連接到 Wi-Fi 網(wǎng)絡(luò) (2.4 GHz)。

?

poYBAGLM1T-AP7GwAALsnV3nxw0701.jpg

?

poYBAGLM1UGAd0_gAAMvdlDeUSo392.jpg

?

? 當(dāng)涂鴉智能應(yīng)用程序在網(wǎng)絡(luò)上找到具有給定設(shè)置的產(chǎn)品時(shí),它會(huì)添加該產(chǎn)品并自動(dòng)將其連接到涂鴉云。

?

pYYBAGLM1UaAZLguAAJrgehAiRA219.jpg

?

pYYBAGLM1VCAPPtRAAJlfE1-y3g704.jpg

?

pYYBAGLM1VWAS30LAAEvJpR-6Yg792.jpg

?

? 連接后,打開移動(dòng)應(yīng)用程序界面(面板)以監(jiān)控和跟蹤脈搏血氧儀傳感器生成的數(shù)據(jù)。

?

poYBAGLM1VeAZ8DOAAExVw6a9IQ949.jpg

?

poYBAGLM1WOANir7AAMi5Re_UKY265.jpg

?

Step 5: Arduino Nano 編程,通過(guò) ESP8266(涂鴉設(shè)備)向涂鴉云發(fā)送數(shù)據(jù)

?

下載涂鴉MCU SDK Arduino庫(kù),與涂鴉設(shè)備(ESP8266)通信:

涂鴉 MCU SDK Arduino 庫(kù) |?圖書館

?

下載從 MAX3010x 傳感器收集數(shù)據(jù)所需的庫(kù):

MAX3010x 傳感器庫(kù) |?圖書館

?

下載控制SSD1306 OLED屏幕所需的庫(kù):

Adafruit_SSD1306 |?圖書館

Adafruit_GFX |?圖書館

?

? 包含所需的庫(kù)并定義涂鴉設(shè)備(ESP8266)及其連接設(shè)置。

?











 ; 
 ;


  led_state =  ;
 wifi_key_pin =  ;

?

? 定義涂鴉設(shè)備(ESP8266)的數(shù)據(jù)點(diǎn)(DPs)。

? 輸入涂鴉設(shè)備的PID(產(chǎn)品ID)和MCU軟件版本。

?


 ; 
 ;


  led_state =  ;
 wifi_key_pin =  ;








  dp_array[][  ] =
{
{DPID_Blood_Oxygen_Data,DP_TYPE_RAW},
{DPID_Respiratory_Rate,DP_TYPE_VALUE},
{DPID_Blood_Oxygen,DP_TYPE_VALUE},
{DPID_Finger_In,DP_TYPE_BOOL},
};


  pid[] = {  };
 mcu_ver[] = {  };

?

? 定義 MAX3010x (MAX30102) 傳感器及其設(shè)置:

?

MAX30105粒子傳感器;


  RATE_SIZE =  ;
率[RATE_SIZE];
速率點(diǎn) =  ;
最后一拍 =  ;

?

? 定義 SSD1306 OLED 屏幕及其設(shè)置:

?

;

?

? 初始化聯(lián)網(wǎng)密鑰,設(shè)置涂鴉設(shè)備所需的功能。

?

pinMode(wifi_key_pin,INPUT_PULLUP);

my_device.init(pid, mcu_ver);
 
my_device.set_dp_cmd_total(dp_array,  );

my_device.dp_process_func_register(dp_process);

my_device.dp_update_all_func_register(dp_update_all);

last_time = 毫秒();

?

? 初始化 MAX30102 傳感器并使用默認(rèn)設(shè)置對(duì)其進(jìn)行配置。

? 初始化 SSD1306 OLED 屏幕。

?


particleSensor.begin(Wire, I2C_SPEED_FAST);

粒子傳感器.setup();
粒子傳感器.setPulseAmplitudeRed(  );

 
display.begin(SSD1306_SWITCHCAPVCC,  );
顯示.顯示();
延遲();

?

? 啟動(dòng)與涂鴉設(shè)備的串口通訊(軟件串口)。

? 按下 Wi-Fi Key 引腳 (7) 時(shí)激活網(wǎng)絡(luò)連接模式。

? 涂鴉設(shè)備嘗試連接 Wi-Fi 網(wǎng)絡(luò)時(shí),RGB LED 呈綠色閃爍。

? 如果涂鴉設(shè)備(ESP8266)與云服務(wù)器(涂鴉云)連接成功,RGB LED 變?yōu)樗{(lán)色。

?

my_device.uart_service();
按下WiFi Key Pin激活網(wǎng)絡(luò)連接模式 (digitalRead(wifi_key_pin) == LOW) {
延遲();
 (digitalRead(wifi_key_pin) == LOW) {
my_device.mcu_set_wifi_mode(SMART_CONFIG);
}
}
涂鴉設(shè)備嘗試連接網(wǎng)絡(luò)時(shí),RGB LED 閃爍綠色: (  () != WIFI_LOW_POWER) && (my_device.mcu_get_wifi_work_state() != WIFI_CONN_CLOUD) && (my_device.mcu_get_wifi_work_state() != WIFI_SATE_UNKNOW)) {
  (millis()- last_time >=  ){
last_time = 毫秒();
調(diào)整: (led_state == LOW){ led_state = HIGH; (0,255,0 );}{ led_state = 低;調(diào)整();}
}
}
如果涂鴉設(shè)備(ESP8266)云服務(wù)器: (my_device.mcu_get_wifi_work_state() == WIFI_CONN_CLOUD){調(diào)整(
0,0,255 )
}

?

? 從 MAX30102 傳感器獲取 IR 讀數(shù)值。

? 如果脈搏血氧儀傳感器檢測(cè)到手指:

? 更新涂鴉設(shè)備的 Finger_In 數(shù)據(jù)點(diǎn) - ON。

? 檢查心跳并使用速率數(shù)組中存儲(chǔ)的數(shù)據(jù)計(jì)算平均心跳 (BPM)。

? 在 SSD1306 屏幕上顯示 BPM 值。

? 更新涂鴉設(shè)備的 Respiratory_Rate (BPM) 和 Blood_Oxygen(SpO2 或紅光測(cè)量)數(shù)據(jù)點(diǎn)。

?

 irValue =particleSensor.getIR();
 
my_device.mcu_dp_update(DPID_Finger_In,  ,  );
手指輸入 =;
}

display.clearDisplay();
display.drawBitmap(  ,  , 心率,  ,  , SSD1306_WHITE);
顯示.setTextSize(  );
display.setCursor(  ,  );
display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
display.println(  );
顯示.setTextSize(  );
display.setCursor(  ,  );
display.setTextColor(SSD1306_WHITE); 
display.println(beatAvg);
顯示.顯示();

lastBeat = 毫秒();
 
beatsPerMinute =  / (delta /  );
 (beatsPerMinute <  && beatsPerMinute >  ){
  
rates[rateSpot++] = (  )beatsPerMinute;
rateSpot %= RATE_SIZE; 
beatAvg =  ;
 (x =  ; x < RATE_SIZE ; x++)
beatAvg += 比率[x];
beatAvg /= RATE_SIZE;
}
 
my_device.mcu_dp_update(DPID_Respiratory_Rate, beatAvg,  );
 
Spo2_or_Red_Light(  );
 
my_device.mcu_dp_update(DPID_Blood_Oxygen, _value,  );
}
}
}

?

? 在 Spo2_or_Red_Light 函數(shù)中,返回紅光讀數(shù)值或脈搏血氧儀傳感器產(chǎn)生的 SpO2。

我使用紅光測(cè)量值來(lái)更新 Blood_Oxygen 數(shù)據(jù)點(diǎn),因?yàn)橛糜谠u(píng)估 SpO2 的代碼與該項(xiàng)目的其他功能沖突。

?

  {
 (option){
  :
_value =  (particleSensor.getRed(),  ,  ,  ,  );
;
  :
  
_value =  ;
;
}
}

?

? 如果脈搏血氧儀傳感器未檢測(cè)到手指:

? 更新涂鴉設(shè)備的 Finger_In 數(shù)據(jù)點(diǎn) - OFF。

? 顯示“放上你的食指!” 在 SSD1306 屏幕上。

?

如果傳感器上沒有手指:
   irValue  )  if
  finger_in ==  ){
my_device.mcu_dp_update(DPID_Finger_In,,);
手指輸入 =;
}
節(jié)拍平均值=  ;
display.clearDisplay();
display.drawBitmap(  ,  , 觸摸,  ,  , SSD1306_WHITE);
顯示.setTextSize(  ); 
display.setTextColor(SSD1306_WHITE); 
display.setCursor(  ,  );
display.println(  );
display.setCursor(  ,  );
display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
display.println(  );
display.setCursor(  ,  );
display.setTextColor(SSD1306_WHITE);
display.println(  ); 
顯示.顯示();
}

?

? 在 dp_update_all 函數(shù)中,使用默認(rèn)值 - 20、20、false 更新所有數(shù)據(jù)點(diǎn) (DP):

?

  {

my_device.mcu_dp_update(DPID_Respiratory_Rate, , );
my_device.mcu_dp_update(DPID_Blood_Oxygen,  ,  );
my_device.mcu_dp_update(DPID_Finger_In,,);
}

?

pYYBAGLM1WWAEGgbAACBUsz_X5k969.png

?

poYBAGLM1WeAcqlGAACK7ZFadug041.png

?

pYYBAGLM1WmADPFBAACFDKceXE0354.png

?

poYBAGLM1WuAMH7uAACOIaRMz3w828.png

?

pYYBAGLM1XCAH0p6AAB9xMIQeXQ862.png

?

poYBAGLM1XKAMgJmAAB5p_jVlTU132.png

?

步驟 5.2:使用 SSD1306 OLED 屏幕顯示圖像

?

為了能夠使用 SSD1306 OLED 屏幕顯示圖像,您需要先將單色位圖轉(zhuǎn)換為數(shù)據(jù)數(shù)組,然后再將它們添加到您的代碼中。

?

? 首先,下載?液晶助手

? 然后,上傳單色位圖并根據(jù)屏幕類型選擇垂直或水平。

? 轉(zhuǎn)換圖像(位圖)并保存輸出(數(shù)據(jù)數(shù)組)。

? 最后,將數(shù)據(jù)數(shù)組添加到代碼中并在屏幕上打印:

?

    PROGMEM touch [] = {
  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
  ,  ,  ,  ,  ,  ,  , ,  ,  ,  ,  ,  ,  ,  ,  ,
  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
  , ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  , ,  ,  ,  ,
  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
};

...

display.clearDisplay();
display.drawBitmap(  ,  , 觸摸,  ,  , SSD1306_WHITE);

?

poYBAGLM1XWABk-SAAA1Ez9k5do340.png

?

poYBAGLM1XaAKMANAAB_ZeRsrTg809.png

?

poYBAGLM1XiAd5meAABkQ04oMDc793.png

?

連接和調(diào)整

?


















?

完成焊接并上傳代碼后,我通過(guò)接頭將所有剩余的組件連接到板上 - Arduino Nano、NodeMCU V3 LoLin ESP8266 和 SSD1306 OLED (128x64)。

?

pYYBAGLM1X6AeWDzAAnaOs8D21M293.jpg

?

該板支持兩種不同的脈搏血氧儀傳感器:

?

  • MAX30102
  • MAX30100

?

您可以焊接 MAX30100 而不是 MAX30102,如下所示:

?

pYYBAGLM1YKAXP6ZAAm00F4y5f4583.jpg

?

模式和功能

?

?? ?? 如果按下網(wǎng)絡(luò)連接按鈕,設(shè)備將激活網(wǎng)絡(luò)連接模式。然后,當(dāng) NodeMCU V3 LoLin ESP8266(涂鴉設(shè)備)嘗試通過(guò)涂鴉智能應(yīng)用連接到 Wi-Fi 網(wǎng)絡(luò)時(shí),RGB LED 閃爍綠色。

?

poYBAGLM1v6AVzXeAJLXhEV9Elc198.gif

?

?? ?? NodeMCU V3 LoLin ESP8266(涂鴉設(shè)備)通過(guò)涂鴉智能APP連接涂鴉云成功后,設(shè)備RGB LED燈為藍(lán)色。

?

pYYBAGLM1CuAT-OEAAaAMPYubmc796.jpg

?

?? ?? 如果脈搏血氧儀傳感器未檢測(cè)到手指,設(shè)備會(huì)顯示?“放上你的食指!” ?SSD1306 OLED屏幕上。然后,在?涂鴉云中將 Finger_In?數(shù)據(jù)點(diǎn)更新為 OFF。

?

pYYBAGLM1wiANkxYAAd0-ROypuI558.jpg

?

?? ?? 否則,設(shè)備會(huì)在屏幕上顯示 BPM 并更新涂鴉云中的數(shù)據(jù)點(diǎn):

?

  • Finger_In:開
  • Respiratory_Rate:當(dāng)前 BPM

?

?? ?? 對(duì)于 Blood_Oxygen 數(shù)據(jù)點(diǎn),設(shè)備支持兩個(gè)選項(xiàng):

?

  • 血氧:SpO2
  • Blood_Oxygen:紅光測(cè)量

?

注意:我使用紅光測(cè)量值來(lái)更新?Blood_Oxygen?數(shù)據(jù)點(diǎn),因?yàn)橛糜谠u(píng)估 SpO2 的代碼與該項(xiàng)目的其他功能沖突。?但是,如果您想監(jiān)控 SpO2 而不是紅燈測(cè)量,您可以檢查?Example8_SPO2.ino文件。

?

poYBAGLM1wuAIMI2AAbpqX0wGns348.jpg

?

pYYBAGLM1w-ANDmyAAb4--pNvmk285.jpg

?

poYBAGLM1xGAE_3YAAMieWE4i-Y723.jpg

?

poYBAGLM1C6ANDaQAAMu9odWVKE122.jpg

?

?? ?? 由于涂鴉云存儲(chǔ)了一段時(shí)間的更新數(shù)據(jù)點(diǎn),涂鴉智能應(yīng)用程序允許用戶使用小時(shí)圖跟蹤參數(shù)(BPM、SpO2 或紅燈測(cè)量):

?

pYYBAGLM1xqAWZIyAAOV-2upmAg623.jpg

?

pYYBAGLM1yaAcaBBAAONd64NbiI791.jpg

?

pYYBAGLM1yyAAa1dAAP1FutyOxw111.jpg

?

視頻和結(jié)論

?

?

?

?

?

代碼


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)