构建一个智能用餐自助终端
该项目灵感源于人们在餐厅中日常的等待体验,旨在打造一种互动式解决方案,将被动等待转化为富有吸引力且令人满足的体验。虽然项目主要关注解决顾客在等待食物时常见的无聊与不确定性问题,但其目标远不止于简单的娱乐,更致力于创造一个智能、互动且可扩展的用餐体验。
本项目的核心理念在于提升点餐准备过程中的客户参与度。通过结合点餐时间追踪、复古街机游戏、美食知识问答以及游戏化折扣,该自助终端让顾客在等待期间既获知信息又享受乐趣。系统采用seeed StudioXIAO ESP32S3 Sense芯片、0.96英寸SSD1306 LED显示屏" target="_blank">OLED显示屏和模拟摇杆,提供紧凑且用户友好的桌面界面。
该项目具有双重目标:通过提供互动娱乐来缩短顾客感知的等待时间,同时通过奖励机制和实时订单信息提升顾客参与度。凭借模块化设计和低成本硬件,智能餐饮自助终端可灵活适配不同餐厅、菜单、游戏及顾客奖励系统。
问题陈述
尽管餐饮技术不断进步,顾客在点餐后仍普遍面临长时间且被动的等待。在高峰时段,顾客往往对订单状态了解有限,不得不反复依赖餐厅员工获取最新信息。这容易导致顾客感到无聊、焦虑,从而影响用餐体验的整体吸引力。
该问题不仅限于提供订单信息,餐厅在食物制作过程中也需要有效方式来吸引顾客。传统点餐系统通常侧重于订单处理和状态更新,却缺乏互动娱乐或激励机制。因此,迫切需要解决的问题是缺乏一种紧凑、经济且互动性强的用餐解决方案,能够将订单追踪、娱乐和客户奖励功能结合在一起,同时缩短顾客感知的等待时间。
解决方案概述
为应对餐厅被动式等待时间带来的挑战,我们的项目推出了智能用餐自助终端(Smart Dining Kiosk),这是一款交互式桌面设备,旨在让顾客在点餐准备过程中保持信息获取、娱乐参与和互动体验。
该系统的核心组件包括seeed Studio XIAO ESP32S3 Sense芯片、0.96英寸SSD1306 OLED显示屏、模拟式拇指摇杆以及双指示LED灯。系统通过Arduino IDE进行编程,并将多种功能集成到一个紧凑的设备中。
顾客可通过终端选择自己的菜品,例如比里亚尼、波罗塔和曼迪,同时查看预计的制作时间。在等待期间,顾客可游玩《蛇之谜》(Snake Xenzia)、《恐龙跑酷》(Dino Run)以及“灭灯反应”类游戏。此外,系统还提供随机的食物知识问答小测验,每答对一题即可获得账单1%的折扣,进一步提升互动性。
通过结合订单追踪、娱乐功能和游戏化奖励,智能餐饮自助终端旨在将传统的等待时间转变为积极的顾客体验。其低成本且灵活的设计也使其能够适用于不同餐厅,支持定制菜单、游戏和奖励系统。
第一步:使用 XIAO ESP32S3 Sense 开始
欢迎使用智能餐饮自助终端!在本步骤中,我们将设置 seeed Studio XIAO ESP32S3 Sense,并通过 Arduino IDE 进行编程准备。此步骤确保板子正确连接,可控制 OLED 显示屏、摇杆、LED 灯、游戏、知识问答以及订单追踪系统。
所需材料
- Seeed Studio XIAO ESP32S3 Sense
- 电脑(Windows、macOS 或 Linux)
- USB-C 数据线
- 互联网连接
- Arduino IDE
使用 Arduino IDE 准备工作
•使用 USB-C 数据线将 XIAO ESP32S3 Sense 连接到电脑。
•在电脑上下载并安装 Arduino IDE。
打开 Arduino IDE。
•前往“文件”→“首选项”。
•在“附加板管理器 URL”中,添加 ESP32 板件包的网址。
•点击“确定”。
安装 ESP32 板支持
•前往“工具”→“板子”→“板子管理器”。
•搜索“ESP32”。
•安装 Espressif Systems 提供的 ESP32 板件包。
•安装完成后,前往“工具”→“板子”。
•从 ESP32 板列表中选择 XIAO ESP32S3。
选择端口。
•保持 XIAO ESP32S3 与电脑连接。
•前往“工具”→“端口”。
•选择与 XIAO ESP32S3 对应的 COM 端口。
此时,该板已准备好接收 Arduino IDE 发送的程序。
测试代码
如何测试
•将 XIAO ESP32S3 Sense 连接到电脑。
•打开 Arduino IDE。
•选择“工具”→“板子”→“XIAO ESP32S3”。
•选择正确的 COM 端口。
•点击“上传”。
•打开“工具”→“串行监视器”。
•将波特率设置为 115200。
预期结果
内置 LED 应每秒闪烁一次,串行监视器应显示:
结果:
控制器和 Arduino IDE 的设置已确认。
步骤 2:测试 0.96 英寸 SSD1306 OLED
该 OLED 用于显示主菜单、订单信息、游戏、趣味问答、得分、计时器以及折扣信息。
连接
•OLEDXIAO ESP32S3
•VCC 3.3V
•GND GND
•SDA SDA
•SCL SCL
库的安装
打开:
Sketch → 包含库 → 管理库
安装:
•Adafruit GFX 库
•Adafruit SSD1306
OLED 测试代码
预期结果
OLED 应显示:
结果:
OLED 通信已确认。
步骤 3:测试模拟摇杆
摇杆用于用户输入,以导航菜单、选择订单、玩游戏和回答趣味问答。
摇杆功能
•X 轴:左 / 右
•Y 轴:上 / 下
•SW:选择 / 进入
测试代码
注意:请将 JOY_X、JOY_Y 和 JOY_SW 替换为实际硬件接线中使用的 GPIO 引脚。
预期结果
移动摇杆应使串口监视器中的 X/Y 值发生变化。按下摇杆应改变按钮状态。
结果:摇杆输入已确认。
步骤 4:测试指示 LED
•两个 LED 用于物理反馈。
•绿色 LED:正确 / 成功
•红色 LED:错误 / 失败
连接方式
将每个 LED 通过合适的电阻连接到一个 GPIO 引脚。
测试代码
预期结果
绿色 LED 和红色 LED 应交替亮起。
结果:视觉反馈系统已确认。
步骤 5:测试订单追踪
自助点餐机提供以下菜品的准备时间预估:
•比里亚尼
•波罗塔
•曼迪
使用摇杆选择订单,OLED屏幕将显示预计的准备时间。
示例
选择后:
测试
•上传订单选择程序。
•上下移动操纵杆。
•确认选择已更改。
•按下操纵杆。
•检查所选订单和准备时间是否显示在OLED屏幕上。
结果:订单选择和准备时间的显示已确认。
步骤6:测试蛇类游戏(Xenzia)
蛇类游戏可在顾客等待时提供娱乐。
测试功能
•操纵杆移动
•蛇的移动
•食物生成
•得分计算
•碰撞检测
•游戏结束条件
•重启功能
•OLED图形
测试步骤
•启动蛇类游戏。
•使用操纵杆控制蛇的移动。
•收集食物。
•验证分数是否增加。
•撞到边界或蛇身。
•验证游戏结束画面是否出现。
•重新开始游戏。
预期结果
游戏应能平滑响应操纵杆的移动,并正确更新分数。
步骤7:测试《恐龙跑酷》
《恐龙跑酷》游戏提供了另一种互动活动。
测试功能
•角色移动
•跳跃控制
•障碍物生成
•碰撞检测
•得分
•游戏结束条件
测试步骤
•开始《恐龙跑酷》。
•使用摇杆/按钮控制恐龙。
•避开障碍物。
•确认得分增加。
•撞到障碍物。
•确认出现游戏结束画面。
结果:《恐龙跑酷》功能已确认。
第8步:测试“灯光熄灭”反应游戏
“灯光熄灭”游戏用于测量用户的反应时间。
工作原理:
•系统等待一段随机时间。
•OLED/LED屏幕上显示视觉信号。
•玩家尽快按下摇杆按钮。
•系统计算反应时间。
•结果在OLED上显示。
示例:
测试:
进行多次尝试,确认不同反应时间的测量是否准确。
第9步:测试食物知识问答
问答系统包含15个预设的食物相关问题。
每次测验中:
•随机选取5个问题。
•使用摇杆选择答案。
•正确回答可获得1%折扣。
•最大折扣为5%。
示例
如果正确:
如果错误:
第10步:测试折扣计算
折扣系统将正确答案数量转换为账单折扣。
正确答案折扣
0 0%
1 1%
2 2%
3 3%
4 4%
5 5%
例如:
账单 = ₹500
如果客户正确回答了4个问题:
折扣 = 4%
折扣金额 = ₹20
最终账单 = ₹480
第11步:测试订单计时器
订单计时器显示客户选择的预估准备时间。
例如:
测试
•选择一个订单。
•启动计时器。
•验证时间是否减少。
•确认计时器不会阻塞摇杆输入。
•验证完成提示信息。
可使用Arduino的millis()函数进行非阻塞计时。
第12步:测试主菜单
在单独测试各个组件后,创建主自助终端菜单。
示例:
摇杆移动应使光标移动。
按下摇杆应打开所选功能。
第13步:完成系统测试
最终测试检查整个智能餐饮自助终端是否作为一个集成系统正常运行。
流程图
第14步:综合硬件测试
当每个组件都独立工作正常后,将所有部件连接在一起。
综合硬件
XIAO ESP32S3 Sense
↓
OLED显示屏 + 按键控制器 + 绿色LED + 红色LED
最终代码
最终结果
在完成各项独立测试和组合测试后,智能餐饮自助终端已准备就绪,可投入运行。XIAO ESP32S3 Sense 作为中央控制器,而 OLED、按键控制器和LED则提供用户界面。该集成系统通过订单追踪、复古游戏、美食问答以及趣味化折扣,将餐厅等待时间转化为一种互动体验。
智能餐饮自助终端的应用场景
1. 餐厅等候区
顾客在等待食物时可使用自助服务终端,以缓解无聊感,让等待过程更加愉快。
2. 订单追踪
顾客可选择自己的订单,例如比里亚尼、波罗塔或曼迪,并查看预计的准备时间,无需反复询问餐厅工作人员。
3. 顾客娱乐
自助终端提供《蛇之恩典》、《恐龙跑酷》和《灭灯反应测试》,在等待期间让顾客保持参与感。
4. 趣味折扣
顾客可参与食品知识问答,每答对一题即可获得1%的折扣,从而鼓励与自助终端互动。
5. 客户互动
餐厅可以利用自助终端打造更具互动性的用餐体验,从而提升顾客满意度。
6. 快餐和休闲餐厅
紧凑的设计使该售货亭适合用于餐厅、咖啡馆、美食广场及其他顾客常需等待点餐的用餐场所。
7. 促销活动
可以通过设置有关餐厅、菜单项目、特别优惠或新产品的问题,对问答系统进行定制,以推广业务。
8. 未来智能餐厅集成
该系统可扩展以连接餐厅点餐系统,实现订单状态的自动更新、个性化优惠、数字菜单以及实时通知功能。
本文编译自hackster.io





