总结
药物分配器,可分配最多 20 剂药物。
这款工具使用 NodeMCU(ESP-12)(在 C++模式下运行),这意味着我们将 eps8266 作为主处理器来使用。
这块价格低廉的小主板可以运行网络服务器,用于设置给药时间。未来或许还能利用互联网连接实现时间同步功能。不过我的应用对时间精度要求不高,因为每天的给药时间各不相同。
移动部分采用廉价的 28BYJ 5VDC 步进电机和 ULN2003 步进驱动器,并配备光学传感器用于精准定位(载物轮上印制了带有间距标记的特殊圆柱体)。系统还采用 0.96 英寸 I2C 128X64 单色 OLED 显示屏,用于实时显示数据信息。
我使用的是三节并联的 18650 废旧笔记本电脑电池,以及 TP4056/microUSB 充电器(附照片),必要时也可以用其他 3.7V 及以上的电源替代(在 NodeMCU 中将其连接至 Vin 接口)。电池并非必需品。我并未将其设计成“超低功耗设备”,但它无需充电也能轻松运行超过 5 天,而且显示屏始终保持开启状态。
控制操作可通过网络服务器完成,也可通过单个按钮实现,同时还支持显示功能。
按钮要用直径12毫米的,带螺母的那种。建议选用易于按压的,我之前就不得不换了一个新的。
显示药物剂量、当日序列号以及下次服药的时间。
短按按钮可切换至每日用药顺序中的下一剂量。这主要是因为目标人群的睡眠时间不规律,因此他们可能需要在不同时间服药。
按下按钮 5 秒钟,将执行完全展开操作,并返回至初始位置。
按下按钮30秒,将执行网络配置重启操作。
设备能够通过Wi-Fi进行OTA上传操作。
剂量给药时间由分钟序列控制(零表示等待用户按下按钮)。
示例:0,120,1,0,1,120,120,120,120,120
- 填表时间为16:00至18:00之间。
- 约18:00时,按下按钮,位于第1位置的药丸会被释放出来。
- 20:00,第二个位置开放申请
- 20:01 服用第三次药物(睡前再服用一片)
- 早上6点左右醒来后,按下按钮,位于第4格的药丸就会自动释放出来。
- 6点01分,5号位置的数据已发布。
- 8:00,第6号位置已开放
- 10:00,第7号位置已开放
- 12:00,第8号公告发布了。
- 14:00,第9号阵地解除警戒状态。
- 16:00,第10名选手出场
NodeMCU(ESP8266)的源代码将存储在此仓库中。
https://bitbucket.org/sopak/pill-dispenser
(……我以后会上传源代码和数据库架构……)
照片中的原型机(未来会纳入展示)充电器出了问题,所以它目前只用热熔胶粘在顶部了。
Tags
Modellquelle
