資料介紹
描述
背景
在開始之前先解釋一下這個項目是如何產生的很重要。當我申請免費硬件時,我并沒有過多考慮這個想法。那時我已經向三個不同的比賽提交了六個好的項目,贏得了零獎。我也在等待我提交了兩個項目的最新競賽的結果。因此,我對Advanced Wearables競賽的想法與我剛剛建立的一樣,即智能血壓計 (SBPM)。
盡管我盡最大努力被拒絕,Nordic Semiconductor還是好心地給了我一個免費的硬件包。當我收到我的硬件時,我非常興奮,因為我會學到很多新東西;但是,我不會再構建另一個 SBPM。
“為什么不是 SBPM?”,您可能會問。實際上有幾個原因:
- 我不喜歡 Makers 不斷重做他們相同的舊項目而幾乎沒有改進。
- 老實說,我認為低功耗藍牙 (BLE) 不會為 SBPM 實施增加太多價值。
- 在查看了為免費硬件提交的想法后,我發現了幾個 SBPM。所以,現在我確定我不會建造什么。
- 最后但并非最不重要的一點是,我想我有一個更好的主意
除了競賽規則外,我們還將在這個項目中承諾額外的標準。首先,nRF5340DK 不會被簡單的智能手機應用程序替代。此外,nRF5340DK 不會在功能上變得多余;就像在另一個 MCU 上使用它一樣。
介紹
當我在 Google 中建立 AVR-IoT WG: Out for Blood Pressure Monitoring 時,它本來是要成為 The Silent Killer(高血壓或高血壓)的殺手。這個項目將是The Silent Killer的殺手锏。
你看,不是事后檢查血壓,我們需要一種從一開始就防止高血壓發生的設備。SBPM是一種測量讀數裝置;我們將建造一個設備,以促進更上游的預防措施。
根據梅奧診所:
運動是降低高血壓的無藥物方法
記住那個無毒的東西,它會再次出現。國家醫學圖書館補充說:
定期跑步會降低 RBP
幫助我在 14 年后戒煙并降低血壓和心率的一件事就是開始跑步。為了跑得更多,我使用了幾種方法來減少恢復時間,直到我的教練推薦了一種稱為 TENS 或經皮神經電刺激的無藥物(見?告訴你!)方法。
據今日醫學新聞報道:
TENS 裝置的工作原理是通過帶有粘性墊的電極傳遞小的電脈沖,將它們附著在人的皮膚上。這些電脈沖充斥著神經系統,降低了其將疼痛信號傳輸到脊髓和大腦的能力。同樣的電脈沖也刺激身體產生稱為內啡肽的天然止痛藥。
順便說一句,我想象中的法律團隊建議我給出以下免責聲明:
此處所做的聲明尚未經過食品和藥物管理局的評估。本產品不用于診斷、治療、治愈或預防任何疾病。
我不是醫生,我什至從來沒有在電視上玩過。我還應該提到,與現實的任何相似之處純屬巧合。
我們都放棄了,讓我們開始吧。
比賽計劃
該項目的主要目的不僅是控制 TENS 單元,還記錄用于進一步分析的設置,以確定哪種電脈沖模式最適合每塊肌肉。正如彼得·德魯克曾經說過的:
如果你不能衡量它,你就無法改進它。
與我之前的項目不同,我們不會使用 UART 與 TENS 單元進行通信;我們將使用 GPIO 來模擬按鈕按下。每 10 秒 nRF5340DK 會將當前設置發送到 nRF52840 加密狗,后者將通過 UART 將信息中繼到 WeMos D1 Mini。最后,信息將通過 Wi-Fi 發送到 Google 表格。
nRF5340DK + Adafruit 2.8" TFT Touch Shield for Arduino w/Capacitive Touch Display
該節目的明星是 nRF5340DK,它已使用隨 nRF Connect SDK 安裝提供的 Segger Embedded Studio (SES) 進行編程。顯示器很好地安裝在板上,但為了讓它工作,我們必須應用補丁。更多詳情請參閱 Hung Bui 的網絡研討會。
一旦我們確定ncs-display-ble-example工作,我們可以修改它以適應我們的項目。我們可以在這個項目中保留LED Button Service (LBS)代碼,但我們需要Nordic UART Service (NUS)通過 BLE 發送文本。
將 nRF5340DK 插入計算機將使其顯示為驅動器。我們可以在該驅動器上拖動N-TENS.hex來加載我們的代碼。我們還可以按照幾個簡單的步驟從 GitHub 中的源代碼構建項目。首先,我們需要以下結構來重新創建這個項目:
文件和文件夾捆綁在N-TENS.zip中。接下來,打開工具鏈管理器。
文件 > 打開 nRF Connect SDK 項目...
選擇項目和董事會名稱。
按住 Ctrl 按鈕,然后按下并釋放 T,然后按下并釋放 F5。
我們的項目現在已加載到 nRF5340DK 上。
十
我們最終使用的裝置有 10 個速度等級、10 個功率等級和 8 種模式。所有這些以及僅通過 4 個按鈕控制的開/關功能。該單元還有一個 15 分鐘會話的倒數計時器。
我們使用了引腳 P0.28、P0.29、P0.30 和 P0.31,因為它們已經配置為輸出 (LED):
C:\ncs\v1.5.0\zephyr\boards\arm\nrf5340dk_nrf5340\nrf5340_cpuapp_common.dts
在同一個文件中,我們還使用 P0.09(按鈕 4)通過 2N2222A 晶體管將信號發送到蜂鳴器進行放大。這樣做是為了在觸摸屏幕時向用戶提供聲音反饋。
我們將使用專用滑塊來獨立控制速度和功率級別,而不是共享功能按鈕。您可能已經注意到,滑塊是北歐標志和陰陽融合的抽象。顯示尺寸為 320 X 240,我們必須規劃滑塊、按鈕和文本的位置。
左滑塊將始終控制速度級別,而右滑塊將始終控制功率級別。因此,用戶不必跟蹤 TENS 單元顯示屏上未顯示的 S/P 按鈕。至于模式按鈕,我們注意到 8 種模式中的大多數都有相同的節奏。無論如何,即使描述相同,我們也給每種模式一個獨特的字母,以防它們對肌肉的影響不同。可以通過按下兩個滑塊之間的按鈕來更改模式。就是這樣,兩個滑塊,一個按鈕,頂部的文本顯示廣告名稱和 BLE 連接狀態,底部的文本顯示設備運行了多長時間。
喜歡這個案子?在將其設為藍色后從以前的項目升級。
右側的小窗口僅用于演示驗證。最終產品應該只有具有所有控制和信息的觸摸屏。
nRF52840 加密狗
根據比賽規則:
nRF52840 Dongle 是捆綁中包含的補充設備,不需要在項目中使用。
話雖如此,我非常感謝Nordic Semiconductor將它包含在捆綁包中。我開始使用 SES 并使用 nRF Connect Programmer 編寫生成的 HEX 文件,然后我切換到 CircuitPython。我知道它運行起來有點慢,但開發和加載速度更快。
rdagger68有一個很棒的視頻,讓我們開始在 nRF52840 加密狗上使用 CircuitPython。在他開始編寫代碼之前,該教程中的一切都很順利。我花了一段時間才弄清楚這一點,但 CircuitPython 相對年輕(8 歲以上),過去幾年幾乎沒有什么變化。例如,您會看到我必須在代碼中為 UART 使用“adafruit_ble.services.nordic”,而不是“adafruit_ble.uart”。盡管如此,我們在 nRF52840 Dongle 上使用 CircuitPython 比在任何其他板上都更成功。
由于 nRF52840 Dongle 提供了選擇引腳的靈活性,我在一側焊接了 8 個相鄰引腳,僅包括 VBUS 和 GND(P0.02 和 VDD OUT 未連接)。
用 Mu 編寫代碼非常簡單。但是,我們并不真正需要它。我們可以使用任何推薦的文本編輯器并將文件保存為 code.py 在CIRCUITPY Drive上。
請注意,CircuitPython 會不斷在板上查找更新的代碼文件以運行。有四個選項:code.txt、code.py、main.txt 和 main.py。CircuitPython 按順序查找這些文件,然后運行它找到的第一個文件。
正如您在上面的屏幕截圖中看到的那樣,code.py 并不是唯一需要在 nRF52840 加密狗上復制的文件。CIRCUITPY.zip包含需要復制的所有文件和文件夾。
WeMos D1 Mini & OLED 顯示屏
什么是方形的,藍色的,聞起來像超級膠水?
如果您猜到了牙線盒中的 WeMos D1 Mini 和 OLED 顯示屏,那么您是對的。否則,您可以再試一次。
它們之間沒有直接連接,但它們都連接到 nRF52840 Dongle。我們必須使它們可分離,因為 WeMos D1 Mini 在閃爍時不喜歡 Tx 和 Rx 引腳上的任何東西。說到 WeMos D1 Mini,我們使用 Arduino IDE 來利用最好的 Wi-Fi 庫之一 WiFiManager 。
為簡單起見,WeMos D1 Mini 將連接到 Wi-Fi,然后等待來自 nRF52840 加密狗的呼叫。完成后,WeMos D1 Mini 將進入一個循環,通過 Wi-Fi 發送從 nRF52840 Dongle 接收到的任何 UART 數據。
OLED 燈沒有為顯示屏打開開口,而是穿過牙線盒一側,使設置看起來更優雅。
谷歌表格
我們創建了 Google Sheet 來保存我們的數據并記下
我們在 Google Apps 腳本中使用了相同的
來自 nRF5340DK 的數據將保存在第一列,而第二列保存時間戳。
第一列中的每個單元格將包含 8 個字母數字字符。前三個數字是以秒為單位的經過時間,接下來的兩個是速度級別,唯一的字母是模式,最后兩個數字是功率級別。
如果速度級別、模式和功率級別與之前的單元格相同,則新記錄將被刪除,這意味著我們將僅保留包含新設置值的記錄。為了表示會話結束,最后一條記錄將始終為 900,即 15 分鐘內的秒數。
有一個應用程序
Google Apps 腳本期待帶有有效負載 {"report":"PlaceHolder"} 的 HTTPS 發布,無論它來自 nRF52840 Dongle + WeMos D1 Mini 還是應用程序都沒有關系。
nRF5340DK 的主要功能不能用應用程序代替,因為它正在控制 TENS 單元并發送數據。另一方面,我們可以將 nRF52840 Dongle + WeMos D1 Mini 替換為任何具有 BLE 和 Wi-Fi 功能的智能設備上的應用程序。最簡單的方法是使用MIT App Inventor ,它已在我之前的一個項目中介紹過。
請注意,應用程序使用名稱而不是 MAC(松散耦合)連接到 N-TENS。
保持真實
在制作這個項目的過程中,我們確實面臨著問題、機遇、挑戰和寶貴的學習經驗。與 Wally 不同的是,我們必須克服它們。值得慶幸的是,沒有一個與 nRF5340DK 相關,因為它非常強大。第一個原因是另一個更昂貴的 TENS 單元,也有 4 個按鈕,但沒有顯示。與 nRF5340DK 不同,TENS 單元沒有短路保護。第二個因果關系是一個與我們最終在這里使用的類似的 TENS 單位。
只要 nRF5340DK 繼續前進,就無法停止挑戰極限并嘗試新事物。我渴望有一天能像Torbj?rn ?vrebekk那樣編寫代碼。在那之前,我會以這樣的項目為契機,向我們展示我們大多數人不會只是從床上爬起來,拼湊一些軟件和硬件來構建一個項目。
結論
我希望你和我在構建這個項目時一樣開心。這是功能強大的 nRF5340DK 的成功簡單實施。開發板和 nRF Connect SDK 并不難使用,大部分項目工作都需要在外部完成。我通常為收到的每個硬件構建多個項目,但由于時間限制,我只用 nRF5340DK 構建了一個大項目。盡管如此,我還是學到了很多關于 BLE、Zephyr、CircuitPython 和其他有用技術的知識。
演示
這是獲得 BONUS 所需的一分鐘演示視頻 - 15 分:
?
- 血壓計解決方案應用筆記
- 基于電子血壓計的USB接口設計
- 基于51單片機的血壓計電路圖 31次下載
- 4765_64pin_血壓計參考原理圖2022
- BLE實驗詳解之藍牙血壓計設計方案 36次下載
- 采用LM3S1138設計示波法測量血壓的血壓計的詳細資料概述 60次下載
- MSP430便攜型電子血壓計設計方案解析 14次下載
- Toshiba 血壓計解決方案 33次下載
- ADI ADXL345血壓計解決方案 53次下載
- 手臂式電子血壓計 0次下載
- 基于STM32設計的血壓計電路圖 180次下載
- 總后血壓計電原理圖 50次下載
- Maxim醫療血壓計解決方案(英文) 76次下載
- 便攜式電子血壓計連續動態監測方案
- 無線傳輸血壓計的制作過程
- 基于STM32單片機的血壓計系統設計 1382次閱讀
- 技術干貨|基于SD9315設計的血壓計方案 2764次閱讀
- 血壓監測儀的測量技術及應用設計方案 2980次閱讀
- 基于PIC16F877單片機和HD44780A芯片實現家用電子血壓計的設計 2649次閱讀
- 攜帶式電子血壓計單單靠一個嵌入式就足夠了嗎 1905次閱讀
- 電子血壓計的組成應用及常見故障分析 6.1w次閱讀
- 如何選購一臺適合的血壓計呢? 4873次閱讀
- 電子血壓計維修怎么弄? 2.8w次閱讀
- 自制簡易電子血壓計電路圖 1.8w次閱讀
- 基于MCU BH66F2232系列血壓計,搭配多樣彈性化的通訊接口,實現血壓計的需求 1514次閱讀
- Holtek新推出血壓計Flash MCU BH67F2261,可滿足獨立型血壓計的需求 2925次閱讀
- 基于可編程片上系統的智能電子血壓計設計介紹 1635次閱讀
- 基于硅壓式傳感器MPX53GC和單片機的便攜式電子血壓計電路設計 1346次閱讀
- 可穿戴電子血壓計傳感器電路設計—電路精選(36) 4978次閱讀
- 常見家庭用醫療裝置電子血壓計的設計要點解析 2453次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多