资料介绍
描述
背景
在开始之前先解释一下这个项目是如何产生的很重要。当我申请免费硬件时,我并没有过多考虑这个想法。那时我已经向三个不同的比赛提交了六个好的项目,赢得了零奖。我也在等待我提交了两个项目的最新竞赛的结果。因此,我对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次下载 | 免费
评论
查看更多