— 专注青少年科技创新竞赛深度辅导 —
ESP-IDF · 多舵机协作 · 本地 AI

慢性病患者智能分药箱

蔡同学 · 五年级 · 零一优创学员

三弹匣
独立出药
91.7%
出药准确率
本地 AI
17 种药物识别
2025 金鹏晋级市赛
Why This Project

为 什 么 做 这 个?

蔡同学调查了 25 位社区慢性病老人和家属,72% 经常忘记吃药、44% 吃错过药物种类、80% 子女担心却无法实时了解。市面上的智能药盒要么只能分格存放(不能按片出药),要么是医院专用药柜(体积大且贵)。他决定做一台能"自动按片出药 + 用药指导 + 服药记录"三合一的家用药箱。

硬件他选了 ESP32-S3(自带 WiFi + 性能够跑本地 AI 推理),三个独立弹匣各配一个 360 度转盘舵机和一个推杆舵机——总共 6 个舵机。三种弹匣分别针对胶囊、圆药片、椭圆药片设计孔位尺寸,互不干扰。

把"分药 + 提醒 + 用药指导 + 服药记录"做成一个 ESP-IDF + FreeRTOS 实时系统,6 舵机协作 + 6 网页配置 + 本地 AI 规则引擎。

— 项目亮点

Recognition

荣 誉 与 奖 项

2025 金鹏晋级市赛
Challenges & Solutions

技 术 挑 战

01

6 舵机怎么协作不打架——FreeRTOS 互斥锁

三弹匣同时出药时 6 个舵机瞬间电流过大会让芯片重启。他设计了顺序出药逻辑(一个弹匣完成后再启动下一个),用 FreeRTOS 互斥锁保护舵机访问。从 Arduino 切到 ESP-IDF C 语言开发,他第一次理解了"任务栈"和"互斥锁"——出药任务设 4KB 栈、按键任务 2KB 栈,调试用日志逐步排查。

02

本地 AI 而不是云端——17 种药物的规则引擎

他不想依赖云端 API(怕断网、怕泄漏隐私),自己整理了 17 种常见药物类别的用药规则:抗生素"按疗程不要自停"、甲状腺激素"空腹服用、与钙铁间隔 2 小时"、ARB/CCB 降压药"固定时间服用、改变体位动作要慢"……配置药物名时自动匹配类别给出提示,还能检测同时段多种药物的交互风险。所有规则在 ESP32-S3 本地运行,毫秒级响应。

03

WiFi 既要联网又要让用户连——APSTA 双模

他想让用户手机直接连药箱配置(不依赖路由器),又想让药箱通过家里 WiFi 同步网络时间。ESP-IDF 的 APSTA 双模刚好——同时开热点("PillBox-XXXXXX")+ 连家庭路由器。6 个网页直接嵌在芯片里:登录、药仓配置、用药统计(7 天依从率)、AI 提示、舵机校准、硬件测试。

Process

过 程 记 录

慢性病患者智能分药箱 过程照片 1
慢性病患者智能分药箱 过程照片 2
慢性病患者智能分药箱 过程照片 3
慢性病患者智能分药箱 过程照片 4
慢性病患者智能分药箱 过程照片 5
慢性病患者智能分药箱 过程照片 6
慢性病患者智能分药箱 过程照片 7
慢性病患者智能分药箱 过程照片 8
慢性病患者智能分药箱 过程照片 9
慢性病患者智能分药箱 过程照片 10
System Architecture

系 统 架 构

慢性病患者智能分药箱 - 系统架构图
ESP32-S3 + ESP-IDFFreeRTOS 多任务6 舵机 (3 转盘 + 3 推杆)WS2812 LED 灯带2.4 寸 LCD 屏APSTA WiFi + 6 嵌入式网页本地 AI 规则引擎
Tech Stack

技 术 栈

ESP32-S3 + ESP-IDFFreeRTOS 多任务6 舵机 (3 转盘 + 3 推杆)WS2812 LED 灯带2.4 寸 LCD 屏APSTA WiFi + 6 嵌入式网页本地 AI 规则引擎
More Works

查 看 其 他 项 目