亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 驱动零食售货机:从设计到制作的完整指南

元件与物料

Arduino UNO建议改用 Mega 以获得更多 IO×1
传感器扩展板×1
6V 直流减速电机 (含轮)×3
红外反射/循迹传感器 (商品检测)×3
电感式接近传感器 (硬币传感器 1)×1
红外槽型光电传感器 (硬币传感器 2)×1
6V 直流电机电源×1
4 路继电器模块×1
Nokia 5110 LCD×1
白色 LED×2
按钮开关 (红/黄/绿)×3

软件与工具

项目全记录

第 1 步:概念草图

来自印度尼西亚的作者,这是 2015 年底完成的毕业设计。目标:用“最便宜、最易买到”的本地元件打造投币式零食售货机,外壳用亚克力。

先画草图,丑不丑不重要,关键是把所有场景、异常情况想透。在动工前把“想不到的”都想到。

Arduino 驱动零食售货机:从设计到制作的完整指南

第 2 步:建立完整 3D 模型

用 SolidWorks 建全精度模型:零食包装尺寸、硬币直径、投币口、硬币滑道、按钮、Arduino 板载尺寸、传感器安装位、LCD 窗口、所有螺丝孔。激光切割亚克力要求极高精度,模型越细致,成品配合度越高。

Arduino 驱动零食售货机:从设计到制作的完整指南

第 3 步:设计硬币筛选槽

两级筛选:
1. 投币口物理尺寸挡住过大硬币。
2. 利用重力:硬币直径小于滑道宽度会掉落被拒收;仅目标硬币能滚入储币仓。
左侧硬币过大进不去;中间硬币太小掉落拒收;右侧硬币尺寸匹配,顺利入仓。

Arduino 驱动零食售货机:从设计到制作的完整指南

第 4 步:逐个测试元件

上手前逐一测试:LCD、按钮、继电器、LED、传感器读数稳定性。发现接近传感器读数抖动,需并联电阻滤波;红外传感器在强光下失效,用胶带遮蔽接收端解决。

Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南

第 5 步:制作螺旋出货机构

核心机构:2mm 铝线绕 9cm PVC 管手工弯制螺旋,用扎带固定在电机轮上。电机转动 → 螺旋旋转 → 将零食从货道推出。**螺旋将旋转运动转化为商品的直线位移。**

Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南

第 6 步:硬币识别机制(双传感器测速法)

硬币通过传感器 1 (接近传感器) → Arduino 启动毫秒计时 → 硬币通过传感器 2 (槽型光电) → 停止计时 → 得到“通过时间”。不同面值硬币因重量/尺寸/磁性不同,通过时间不同,以此识别面值。
注意: 磁铁别放太多,免得硬币卡在滑道中间无法计时。

Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南
if 传感器1触发 then 开始计时(ms)
if 传感器2触发 then 停止计时, 得到 travel_time
if travel_time >= 阈值 then 判定为 A 面值 else 判定为 B 面值

第 7 步:商品落下检测

三路红外传感器分别对准三个货道出口。商品落下遮挡光路 → 触发信号 → Arduino 经继电器切断对应电机电源,停止出货。

Arduino 驱动零食售货机:从设计到制作的完整指南

第 8 步:LCD 交互界面 (印尼盾)

Arduino 驱动零食售货机:从设计到制作的完整指南

第 9 步:组装调试与最终测试

历时 3 个月完成,最终测试涵盖投币识别、按键选货、出货检测全流程。

Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南
Arduino 驱动零食售货机:从设计到制作的完整指南

第 10 步:改进方向

Arduino 驱动零食售货机:从设计到制作的完整指南

特别鸣谢:印尼 ITENAS 班둥理工学院机械工程系。

核心源码 (Arduino)

const byte SIAP = 0;
const byte KOIN_MASUK1 = 1; ... // 状态机状态定义
const float jeda_waktu = 876; // 硬币通过时间阈值 (ms)
// ... 省略大量状态变量与 LCD 驱动代码 ...
void setup() { /* 引脚初始化、LCD 初始化、串口调试 */ }
void loop() { 
  // 状态机逻辑:硬币检测 → 计时 → 面值判定 → 余额累加 → 按键选货 → 电机驱动 → 落下检测 → 复位
}

完整代码较长,已上传项目页面。

3D 模型预览

SolidWorks 模型截图见项目页面 CAD 板块。

制造工艺

  1. 自动售货机:美国366亿美元的产业巨头
  2. K30 CO₂ 传感器:室内空气质量实时监测
  3. DIY 数字身高仪:Arduino Nano + VL53L0X 激光测距 + OLED 显示
  4. DFRobot 电容指纹传感器 (ID809) 接入 Arduino/ESP8266 完整教程
  5. Arduino Cloud 传感器塔:温度、动作与气体监测
  6. 基于 Arduino Nano 的智能运动感应水枪
  7. DIY 智能回收系统:反向自动售货机 (RVM) 完整构建指南
  8. 紧凑型Arduino雷达系统:HC-SR04超声波传感器配1.8英寸显示屏
  9. 利用 Arduino Nano R3 自制全功能 CNC 雕刻机
  10. 鲜奶自动售货机:便捷、实惠、环保的新选择
  11. 面条自动贩卖机大揭秘:杯面vs拉面机,如何选?
  12. 二手机械定价策略:科学估值与谈判技巧实现利润最大化