發燒友10周年慶典,全網超值優惠來襲!千元現金券,下單抽獎趕緊參與》》

一個基于ESP32 Arduino的開源電子血壓計項目

2019-09-19 11:04 ? 次閱讀

一個電子血壓計的開源項目

組成 型號 注釋
單片機 ESP32 這個芯片有好多的名字
我們選用的是沒有顯示器的那種
ADC ADS1115 德州儀器i2c通訊
顯示器 ssd1306 我們用的是很小的,好像是0.96寸的
如果要用的話建議帶一個放大鏡
或者直接多花點錢買個大的
電機驅動板 LN298 并行口通訊
分別控制?[充氣泵開啟+緩慢放氣閥關閉]?
以及?[快速放氣氣閥打開]
氣泵 不知型號 在某寶上搜索5V氣泵
放氣閥1 不知 不通電為常開狀態,用于緩慢放氣
與氣泵并聯使用
放氣閥2 不知 不通電為常閉狀態,用于快速放氣
袖帶 不知 隨便買個什么都好,歐姆龍的推薦
軟管 不知 淘寶隨便買個軟管,直徑要對
放大濾波電路 基于LM324 巴特沃斯高通/低通濾波器
截止頻率分別為0.5Hz 10Hz

單片機的選擇

最開始我們選擇的是ESP8266。ESP8266 HDK (Hardware Development Kits) 包括芯片ESP8266EX、模組 ESP-WROOM-02 和開發板 ESP-LAUNCHER等。

我們在設計時預計在單片機上搭建一個網站,可以通過手機或者電腦進行連接,從而獲取患者當前以及歷史血壓信息。該單片機上搭載WIFI模塊,可實現網站的搭建從而達到上述目的。但我們在后期的測試使用過程中發現,該單片機的性能稍差,無法實現多臺設備同時連入WIFI,而且運算速度較慢。我們更換了類似但性能更強的單片機。所以我們選擇了ESP32。

ESP32可通過 SPI / SDIO 或 I2C / UART 接口提供WIFI和藍牙功能;具有高水平的低功耗性能,包括精細分辨時鐘門控、省電模式和動態電壓調整等。ESP32 將天線開關、RF balun、功率放大器、接收低噪聲放大器、濾波器、電源管理模塊等功能集于一體。而且該單片機社區龐大,有很多的源碼和技術支持。我們也最終選擇這款單片機。

時鐘信號的處理

從網絡獲取時間

充放氣

我們有兩套放氣裝置,其中一個是快速放氣閥,處于常閉狀態,僅在測量結束后快速放氣;另一個是緩慢放氣閥,處于常開狀態,僅在充氣時關閉。

首先是充氣和緩慢放氣。我們首先通過氣泵對整個袖帶在內的封閉模塊進行充氣,同時通過壓力傳感器對袖帶內氣壓進行監控。當氣壓達到某個值之后,關閉氣泵同時打開緩慢放氣。(為了方便調試也為減少被測對象的壓力痛苦,我們將閾值調到160毫米汞柱,通過對水銀血壓計的觀察,最大值達到300毫米汞柱,感覺這種壓強會死。)在緩慢放氣這個過程中通過示波法對血壓進行測量計算。

在數據足夠計算血壓之后,開啟快速放氣閥,直至結束。

血壓的測量

目前大多數電子血壓計都是基于振蕩法原理,即對動脈施加緩慢變化的壓力(此壓力稱之為靜壓)在此過程中,提取由于血管搏動而疊加在靜壓之上的微弱的壓力變化信號。一般情況下這個脈動信號的外包絡線類似于拋物線形,如圖1。

包絡線的峰值位置所對應的靜壓為平均壓,包絡的峰值乘以特定的比例系數,獲得收縮壓和舒張壓在包絡線上的特征點,這兩個特征點對應于靜壓變化曲線上的2點之值,即收縮壓和舒張壓。

顯示屏

顯示屏這一部分我們是找外援來做的,其中代碼有些凌亂,很大部分根據分辨率手調的,并不能看懂。如果要更換其他分辨率的顯示器的話一定要慎重

遇到的問題

時鐘問題

首先我們時鐘芯片選用了DS1302,其中軟件部分嘗試了多個庫以及相關代碼,但總體上遇到了如下兩類問題:

我們通過對輸出端口的修改曾經成功顯示時間,但是在添加其他模塊之后又回滾到如上兩圖的問題。最終我們放棄了時鐘芯片的安裝調試,選用互聯網時間校準來完成這一部分的工作。

可能是顯示芯片的問題

調試代碼:

錯誤提醒(紅色部分是打印一半死掉了):

甚至前一天能跑的代碼都報錯了:

在嘗試一萬次刪代碼之后,依然沒有解決這些報錯的問題。最終的解決辦法就是重構。 在重構之后依然遇到了這個問題,發現問題不是顯示芯片庫的問題,原因在于爆內存,將下圖這兩個定義為宏變量之后問題解決:

收藏 人收藏
分享:

評論

相關推薦

基于Arduino的LED矩陣時鐘的制作教程

這是我的第一個重要項目,在學習過程中,我從在其4-LED滾動文本示例中使用的Makepeace Ma....
的頭像 39度創意研究所 發表于 10-05 17:56 ? 71次 閱讀
基于Arduino的LED矩陣時鐘的制作教程

Arduino如何控制PC電源開關

現在顯然,當PC關閉時,我們無法從USB端口獲得電源!
的頭像 39度創意研究所 發表于 10-05 17:53 ? 58次 閱讀
Arduino如何控制PC電源開關

怎樣在Arduino上使用游戲桿

從圖片中可以看到,這是一個簡單的電路。在我的操縱桿上標記了X,Y,VCC和GND。 X和Y轉到模擬端....
的頭像 39度創意研究所 發表于 10-05 17:32 ? 10次 閱讀
怎樣在Arduino上使用游戲桿

光纖雕塑的制作圖解

 目前,我已經使用電工膠帶將LED固定在光纜上,直到創建了一個更永久的解決方案為止。將它們全部包好后....
的頭像 39度創意研究所 發表于 09-30 17:24 ? 817次 閱讀
光纖雕塑的制作圖解

怎樣用Arduino驅動模擬器

我將底座焊接到了存放方向盤座和其他物品的位置上
的頭像 39度創意研究所 發表于 09-30 17:00 ? 254次 閱讀
怎樣用Arduino驅動模擬器

4x4矩陣膜鍵盤的制作教程

 例如,鍵盤上的“ 1”按鈕按下后,監視器序列將顯示“ 1按下”。然后,當釋放鍵盤上的“ 1”按鈕時....
的頭像 39度創意研究所 發表于 09-30 11:42 ? 121次 閱讀
4x4矩陣膜鍵盤的制作教程

帶LED的Arduino聲音傳感器的制作

LED短腳到Arduino板上的GND的電線連接的另一側。長腿到Arduino板上的數字引腳13
的頭像 39度創意研究所 發表于 09-30 11:24 ? 181次 閱讀
帶LED的Arduino聲音傳感器的制作

Arduino LCD時鐘溫濕度計的制作

第一步是將插頭引腳焊接到LCD顯示屏。斷開16個引腳并焊接到顯示器的底部
的頭像 39度創意研究所 發表于 09-30 11:04 ? 130次 閱讀
Arduino LCD時鐘溫濕度計的制作

何將ArduinoUNO連接到任何NMEA-0183設備

 如果設備中有一條傳輸線(很可能標記為TX或NMEA OUT或類似的東西),則您的設備使用RS-23....
的頭像 39度創意研究所 發表于 09-30 10:53 ? 119次 閱讀
何將ArduinoUNO連接到任何NMEA-0183設備

如何在Ubuntu中安裝最新版本的Arduino

 如果沒有錯誤消息出現,則說明您已正確安裝
的頭像 39度創意研究所 發表于 09-30 10:30 ? 126次 閱讀
如何在Ubuntu中安裝最新版本的Arduino

如何構建N64TASBot

這是最后一步。在Arduino程序中,點擊upload(頂部的箭頭按鈕)。上傳時,點擊頂部的“工具”....
的頭像 39度創意研究所 發表于 09-30 10:27 ? 126次 閱讀
如何構建N64TASBot

如何在Arduino上使用Thermistor

  上傳代碼后,打開串行監視器,就可以在我獲得串行監視器時獲取熱敏電阻的溫度,參考提供的圖像即可會好....
的頭像 39度創意研究所 發表于 09-30 09:48 ? 108次 閱讀
如何在Arduino上使用Thermistor

如何在Arduino LED項目中使用電阻器

 LED可以使用的典型最大電流約為25mA,這意味著我們需要添加的電阻的總電阻,LED應為R = 5....
的頭像 39度創意研究所 發表于 09-30 09:29 ? 285次 閱讀
如何在Arduino LED項目中使用電阻器

Arduino紅外線中繼器的制作

在此步驟中,您將學習如何將組件連接到arduino。
的頭像 39度創意研究所 發表于 09-30 09:03 ? 143次 閱讀
Arduino紅外線中繼器的制作

怎樣使用Arduino控制無刷電機

首先將無刷電機的三個端子連接到在ESC的三個端子上,用類似的方法將電機擰到一塊厚木板上,以使其在高R....
的頭像 39度創意研究所 發表于 09-29 17:47 ? 225次 閱讀
怎樣使用Arduino控制無刷電機

怎樣在樹莓派3上安裝和使用ArduinoIDE

使用適當的電纜將Arduino板連接到Raspberry Pi后,拉下Raspbian主菜單,然后在....
的頭像 39度創意研究所 發表于 09-29 11:43 ? 245次 閱讀
怎樣在樹莓派3上安裝和使用ArduinoIDE

如何使用Arduino將程序閃存到PSoC5-LP

嗨,我在一個項目,我需要一個程序閃存到PSoC5 LP沒有開發板(我創建了一個PCB通過鷹與控制器)。我知道有可能通過MIX...
發表于 09-29 09:00 ? 43次 閱讀
如何使用Arduino將程序閃存到PSoC5-LP

怎樣在Linux中將LinkItOne與Arduino結合使用

我為Linux的LinkIt One工具創建了自定義軟件包。您只需將其安裝到arduino中即可。
的頭像 39度創意研究所 發表于 09-29 08:33 ? 204次 閱讀
怎樣在Linux中將LinkItOne與Arduino結合使用

請問Arduino randomSeed(seed) 和random的具體區別是什么?

不都是生成隨機數字嗎 具體有啥區別呢
發表于 09-29 06:54 ? 23次 閱讀
請問Arduino randomSeed(seed) 和random的具體區別是什么?

怎樣用Arduino控制RGBLED

這是怎么回事。基本上,我們已經將arduino設置為響應特定的消息。此消息包含一個標頭(字母“ C”....
的頭像 39度創意研究所 發表于 09-28 16:44 ? 291次 閱讀
怎樣用Arduino控制RGBLED

如何使用Arduino和Darlington ULN2803控制大功率電路

  要控制此顯示,我連接了共陽極到36V,然后選擇性地將要點亮的顯示器各部分接地。
的頭像 39度創意研究所 發表于 09-28 13:13 ? 221次 閱讀
如何使用Arduino和Darlington ULN2803控制大功率電路

如何使用Arduino制作簡易數據記錄器

如果一切正確,則dist超聲波傳感器和其范圍內的對象之間的距離出現在富文本框中
的頭像 39度創意研究所 發表于 09-28 12:56 ? 200次 閱讀
如何使用Arduino制作簡易數據記錄器

【項目分享】教你用Arduino、Micro SD制作一個簡單的音樂播放器

在本項目中,我們來看一下如何用Arduino,Micro SD卡讀卡器來制作一個簡單的音樂播放器。完成后,你可以用它來播放儲存在SD...
發表于 09-27 17:20 ? 665次 閱讀
【項目分享】教你用Arduino、Micro SD制作一個簡單的音樂播放器

怎樣用Arduino控制直流電機

 現在,您已將Arduino連接好,將代碼復制并粘貼到Arduino IDE。將讀取此代碼的作用,以....
的頭像 39度創意研究所 發表于 09-27 14:25 ? 312次 閱讀
怎樣用Arduino控制直流電機

如何使用atmeg328IC構建Arduino

  完成上述所有步驟后,您就可以使用arduino。現在該上傳您的第一個代碼了。要上傳代碼,您只需從....
的頭像 39度創意研究所 發表于 09-27 14:17 ? 158次 閱讀
如何使用atmeg328IC構建Arduino

Arduino閃爍LED的教程

要使LED閃爍,首先需要使用軟件對芯片進行編程。請訪問arduino.cc以獲取完整程序和其他示例。....
的頭像 39度創意研究所 發表于 09-27 11:43 ? 169次 閱讀
Arduino閃爍LED的教程

如何從arduino連接到I/O

一個按鈕,每次按下該按鈕,“ Hello world”都會打印到該按鈕上方的文本字段中。一旦文本字段....
的頭像 39度創意研究所 發表于 09-27 11:40 ? 103次 閱讀
如何從arduino連接到I/O

如何通過Arduino安全使用中繼

 要測試新的繼電器電路,只需將此代碼復制并粘貼到您的ARDUINO IDE中,請確保將arduino....
的頭像 39度創意研究所 發表于 09-27 11:15 ? 114次 閱讀
如何通過Arduino安全使用中繼

如何編寫代碼以捕獲十六進制和十進制值的遠程控制代碼

 現在我們知道如何獲取任何遠程控制按鈕的代碼,我將在另一本可指導的示例中向您展示如何使用這些代碼進行....
的頭像 39度創意研究所 發表于 09-27 11:10 ? 144次 閱讀
如何編寫代碼以捕獲十六進制和十進制值的遠程控制代碼

如何使用Arduino和NRF24L01制作PS2控制器

 在代碼中,您可能還會發現與BatteryCheck有關的內容,目前尚未使用。最初,我打算使用它來檢....
的頭像 39度創意研究所 發表于 09-27 11:04 ? 1292次 閱讀
如何使用Arduino和NRF24L01制作PS2控制器

Arduino啟動板DIY圖解

 這不是Midi樂器,而是配置為網格控制器的鍵盤,可能在作弊,但肯定值得嘗試,并且我很快就會添加與該....
的頭像 39度創意研究所 發表于 09-27 11:00 ? 216次 閱讀
Arduino啟動板DIY圖解

怎樣在ArduinoMega上使用2.4英寸TFTLCD屏蔽

 在Arduino IDE上,選擇COM端口,然后選擇將您的開發板命名為Arduino Mega,然....
的頭像 39度創意研究所 發表于 09-27 10:29 ? 152次 閱讀
怎樣在ArduinoMega上使用2.4英寸TFTLCD屏蔽

Arduino雙軸伺服太陽能跟蹤器制作圖解

我使用了3個光傳感器和1個傾斜傳感器。您可以用LED或光電晶體管代替CDS電池,和/或用汞開關代替滾....
的頭像 39度創意研究所 發表于 09-27 10:05 ? 209次 閱讀
Arduino雙軸伺服太陽能跟蹤器制作圖解

怎樣為Arduino制造電流傳感器電子元件和自制分流器

此構建所需的主要零件是分流器以及運算放大器IC。對于我的應用,我使用的是IC LM358,它是一個雙....
的頭像 39度創意研究所 發表于 09-27 09:18 ? 153次 閱讀
怎樣為Arduino制造電流傳感器電子元件和自制分流器

基于Arduino的自動感應門的制作

要控制直流電動機的運動,我們必須構建一個電動機控制器。為此,我們使用上圖中的H橋配置。我已經使用5v....
的頭像 39度創意研究所 發表于 09-27 08:48 ? 179次 閱讀
基于Arduino的自動感應門的制作

如何制作可錄制視頻的電話控制的遙控汽車

 在您的Android/iOS設備上下載Blynk應用程序,并構建圖片上的儀表板。此項目需要兩個操縱....
的頭像 39度創意研究所 發表于 09-27 08:38 ? 230次 閱讀
如何制作可錄制視頻的電話控制的遙控汽車

Arduino電壓出現問題該怎么辦?

我的項目是超聲波測距,現在有以下幾個用電芯片   HC-SRO4(超聲波測距模塊),ADXL203EB(雙軸加速度計...
發表于 09-27 02:44 ? 37次 閱讀
Arduino電壓出現問題該怎么辦?

如何僅使用2節AAA電池來運行arduinounor3

確保藍色PWR LED點亮并且紅色LOW BATT燈熄滅。
的頭像 39度創意研究所 發表于 09-26 15:49 ? 646次 閱讀
如何僅使用2節AAA電池來運行arduinounor3

如何采用Arduino系統板進行單片機編程

Arduino最小系統板電路見下圖,適用于對ATmega8、ATmega168、ATmega328等....
發表于 09-26 15:44 ? 106次 閱讀
如何采用Arduino系統板進行單片機編程

怎樣用ArduinoProMicro進行PC遠程控制

您可以使用遙控器的按鈕來按想要用適當的代碼在鍵盤中按下的任何鍵。
的頭像 39度創意研究所 發表于 09-26 15:39 ? 213次 閱讀
怎樣用ArduinoProMicro進行PC遠程控制

如何對基于Arduino的金屬探測器進行編程

金屬探測器的基本原理是,線圈中的電感/信號會隨著目標靠近線圈而改變。識別這些變化的常用方法是測量頻移....
的頭像 39度創意研究所 發表于 09-26 14:57 ? 198次 閱讀
如何對基于Arduino的金屬探測器進行編程

Arduino激光投影儀和控制應用程序的制作

 將整個電路放入塑料接線盒中,并用螺釘擰緊。整個投影機非常便攜,只需插入電源,切換開關,即可看到激光....
的頭像 39度創意研究所 發表于 09-26 14:19 ? 334次 閱讀
Arduino激光投影儀和控制應用程序的制作

如何將ArduinoBootLoader刻錄到AtMega328p芯片上

假設您已經擁有一個Arduino Uno或類似產品,并且您對IDE熟悉并且上傳草圖。
的頭像 39度創意研究所 發表于 09-26 11:27 ? 160次 閱讀
如何將ArduinoBootLoader刻錄到AtMega328p芯片上

【項目分享】教你如何運用Arduino通過網頁實時控制伺服電機

本項目將教你如何通過Arduino結合Websocket在網頁瀏覽器上控制伺服電機。所需元件Arduino UNO x 1PHPoC Wifi擴展板 x...
發表于 09-26 11:16 ? 530次 閱讀
【項目分享】教你如何運用Arduino通過網頁實時控制伺服電機

兩輪平衡機器人DIY圖解

所有3種芯片上都裝有數字運動處理器(DMP)。使用此處理器有很大的優勢。它在計算垂直角度(傳感器融合....
的頭像 39度創意研究所 發表于 09-26 11:00 ? 254次 閱讀
兩輪平衡機器人DIY圖解

如何使用LM35溫度傳感器和Arduino來測量溫度

在Void循環中,我將從傳感器讀取溫度,將其更改為攝氏溫度并將其顯示在第一行,然后再次更改到華氏度并....
的頭像 39度創意研究所 發表于 09-26 10:53 ? 218次 閱讀
如何使用LM35溫度傳感器和Arduino來測量溫度

Arduino USB的制作

此適配器還附帶四件式電纜。如果您沒有使用自動重置和/或有其他功能,則可以使用這些功能代替像我一樣制作....
的頭像 39度創意研究所 發表于 09-26 10:49 ? 191次 閱讀
Arduino USB的制作

如何在Arduino上使用鍵盤和LCD來制作Arduino計算器

因此,首先要使用鍵盤,您必須了解鍵盤的工作原理。
的頭像 39度創意研究所 發表于 09-26 10:40 ? 175次 閱讀
如何在Arduino上使用鍵盤和LCD來制作Arduino計算器

遙控Arduino坦克的制作

將兩者混合在一起,我可以將RC接收器的讀數直接輸入到我的arduino中,將值轉換為電機通過電機護罩....
的頭像 39度創意研究所 發表于 09-26 10:24 ? 153次 閱讀
遙控Arduino坦克的制作

ArduinoICSP編程電纜的制作

 這是完成的電纜。使用標簽制造商標記電纜的哪一端用于編程器,哪一端用于目標。并標記標題的哪一端應指向....
的頭像 39度創意研究所 發表于 09-26 10:20 ? 179次 閱讀
ArduinoICSP編程電纜的制作

怎樣用Arduino和兩個瞬時開關控制RC伺服電機

這是我使用的代碼。我稍后再解釋,我有點懶。多數民眾贊成在這里和這是什么。
的頭像 39度創意研究所 發表于 09-26 10:19 ? 270次 閱讀
怎樣用Arduino和兩個瞬時開關控制RC伺服電機

怎樣將模擬傳感器連接到Arduino

完成后,您應該看到Lilypad上的LED閃爍。按下按鈕,LED應該以較低的頻率閃爍。
的頭像 39度創意研究所 發表于 09-26 10:09 ? 879次 閱讀
怎樣將模擬傳感器連接到Arduino

如何創建一個DualShock4控制的Arduino

這就是將PS4 DualShock 4控制器連接到Arduino的方式!如果有讀者還在學習如何使用A....
的頭像 39度創意研究所 發表于 09-26 09:54 ? 462次 閱讀
如何創建一個DualShock4控制的Arduino

如何制作帶LCD的Arduino溫度傳感器

的。因此,在您上傳代碼之后,LCD顯示器應該會亮起,并顯示類似“ Temp:72.5”的字樣。如果可....
的頭像 39度創意研究所 發表于 09-26 09:30 ? 233次 閱讀
如何制作帶LCD的Arduino溫度傳感器

怎樣設置ArduinoIDE對ESP8266進行編程

恭喜!您的Arduino IDE已準備好支持ESP8266模塊。  
的頭像 39度創意研究所 發表于 09-26 09:24 ? 259次 閱讀
怎樣設置ArduinoIDE對ESP8266進行編程

【項目分享】教你如何基于Arduino UNO設計聲控智能家居系統

智能家居的話題仍在不斷炒熱,它能幫助人們減少人力需求與錯誤,同時還能提升效率。在家庭自動化系統的幫助下,我們可以控制不同...
發表于 09-25 18:12 ? 556次 閱讀
【項目分享】教你如何基于Arduino UNO設計聲控智能家居系統

為什么例程編譯會出現報錯?

剛剛接觸arduino,安裝了arduino ide,想跑一下IDE自帶例程   如果不把開發板插進電腦,Sketch uses 76,327 byt...
發表于 09-24 05:55 ? 41次 閱讀
為什么例程編譯會出現報錯?

大佬們問下nodemcu esp8266 arduino這些板子 如果要用電池的話 買多少V的呢?

另外還想問下前輩們,在哪兒可以看到他們需要的工作電壓的資料呢?...
發表于 09-23 19:21 ? 104次 閱讀
大佬們問下nodemcu esp8266 arduino這些板子  如果要用電池的話 買多少V的呢?

是否可以將CNC防護罩連接到先鋒開發套件?

我找到了Arduino,會對先鋒開發套件的工作嗎? 我們正在尋求建立一個小型的DIY數控安裝在商店,我們更熟悉的PSoC比Ardu...
發表于 09-23 14:14 ? 86次 閱讀
是否可以將CNC防護罩連接到先鋒開發套件?

微信控制風扇顯字制作分享!

斷斷續續弄了一周才把微信控制搞定,做了個微信控制小風扇。有微信連不上的可以找我交流,自己一步一步走來,看官方教材,雖不明...
發表于 09-23 04:35 ? 75次 閱讀
微信控制風扇顯字制作分享!
成人影片-成人片