本帖最后由 山水相逢不相见 于 2026-11-2 15:57 编辑
一、作品简介 本作品用迪文屏做界面、Keil C51控制,由DWIN屏、步进驱动板 +步进电机、舵机、RGB 指示灯和 FPC 转接板组成。顾客在屏上选饮品、杯型、糖分、温度,完成下单和支付后,系统自动生成取餐码,并让步进电机、舵机、小灯三个执行器同时动作,模拟真实奶茶机的出液、加糖和冷热控制。 作品支持 12 款饮品、3 档杯型、5 档糖分、7 档温度;支付完成后取餐码自动 +1,制作结束绿灯闪烁提示取杯;60 秒无人操作会自动清空选择并回到菜单,等待下一位顾客。 二、工作原理 迪文屏负责显示和触摸,按按钮时把选择写进屏内变量;单片机上电后读取这些变量,再通过 IO 和 PWM 驱动三个执行器,如图1。 图 1 系统框图 三个选择分别对应三个执行器: ① 糖分 →舵机:不额外加糖时舵机不转,五分糖转 45°,全糖转 90°,并按档位保持 1.2~2.4 秒的出糖时间,出糖结束回 0° 关阀; ② 杯型 → 步进电机:小杯转 180°、中杯转 360°、大杯转 720°,用圈数模拟出液量; ③ 温度 → RGB 小灯:多冰、正常冰蓝色闪烁,少冰蓝色常亮,去冰青色,常温绿色,温热黄色,热饮红色。 按下“完成支付”后,屏幕进入 19 页,程序检测到页面变化即同时启动三个执行器,由 1ms 节拍推进,全部走完后绿灯闪 3 下。 三、设计思路 1. 开机动画:用 00~12 页连续播放阿水大杯茶 LOGO 动画,点屏幕任意位置进入菜单页。 = 图 2 开机动画(00~12 页) 2. 饮品菜单:13 页把 12 款饮品做成按钮,采用“按键值返回 + 变量图标”,每个按钮对应一个变量(0x2000~0x2052),按下后图标显示、价格写入显示区。 图 3 饮品菜单页(13 页) 3. 口味选择:14 页在原工程基础上增加了“杯型”一行,与糖分、温度一起共 15 个选项,全部采用“增量调节(0~1 循环)+ 变量图标”,按下把 VP 置 1 并显示深色图标,程序读到 1 即认为选中,并把同组其它 VP 清 0,实现单选。 图 4 口味选择页(14 页,新增杯型) 4. 下单与支付:15 页“完成下单”、17 页“完成支付”用基础触控切页,不写变量;顾客点“完成支付”进入 19 页,程序以“当前页面 ID = 19”作为支付完成的判据。 图 5 完成支付页(17 页) 5. 取餐码:19 页用“数据变量显示”绑定变量 0x9000,两位红色数字;每完成一单程序把变量 +1,屏幕上就显示新的取餐码。 图 6 取餐码页(19 页) 6. 程序与界面配合:C51 每 50ms 读一次页面 ID 和杯型、糖分、温度三组变量,检测到 19 页就启动三个执行器;程序流程如图 7。 图 7 程序流程 五、工程文件与附件 |