Arduino 智能引体向上杆 — 声音激励与糖果奖励
组件与物料
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| 引体向上杆 (直径 25mm) | 1 | |
| 0.5W 扬声器 (40mm) | 1 | |
| MG90S 舵机 | 1 | |
| 激光二极管 (9mm) | 1 | |
| 1 kΩ 电阻 | 1 | |
| 100 µF 电解电容 | 1 | |
| 5V 电源模块 | 1 | |
| DC 电源插座 | 1 | |
| 跳线若干 | 1 | |
| LDR 光敏电阻 (5 MΩ) | 1 | |
| 滑动开关 | 1 | |
| M4 螺丝螺母 | 2 | |
| M3 螺丝 | 3 | |
| M2 螺丝 | 4 | |
| Tic Tac 薄荷糖 | 1 | 作为奖励 |
| PCB | 1 | |
| 螺丝端子 | 1 | |
| 母排针 | 1 | |
| 公排针 | 1 | |
| 透明塑料片 | 1 |
所需工具和机器
- 电烙铁
- 3D 打印机
应用与在线服务
- Arduino IDE
项目介绍
作者 Nikolas (15 岁) 设计了一款智能引体向上杆:当双手握住横杆遮挡激光束时,Arduino Nano 触发扬声器播放音乐 (如 A-ha 的 *Take on me*) 激励锻炼;坚持约 30 秒后,舵机驱动 3D 打印分配器发放一颗 Tic Tac 薄荷糖作为奖励。该项目曾获 Arduino Day Community Challenge 2021 大奖。

工作原理
激光二极管与 LDR 组成光束传感器,安装在横杆两侧。双手握杆遮挡光束,LDR 读值骤降,Arduino 判断触发音乐播放;音乐结束后若仍握杆,舵机旋转分配糖果。

3D 打印件
需打印 5 个部件:Base.stl、RotatorDispenser.stl、CoverBase.stl、LaserClamp.stl、LdrClamp.stl。建议 PETG 材料,0.2mm 层高。

电路搭建 (分三步)
- 面包板上放置 Arduino Nano,5V/GND 接电源轨。
- LDR 一端接 5V,另一端接 GND 并串联 1kΩ 电阻,中间引脚接 A0;舵机棕线接 GND,红线接 5V,黄线接 D5。
- 扬声器红线接 D11,黑线接 GND;激光模块红线接 5V,黑线接 GND。



编程与调试
上传代码 (见代码部分),通过串口监视器观察 LDR 读值,调整 LightThreshold 阈值:遮挡不触发则增大阈值,未遮挡误触发则减小阈值。

PCB 制作
在面包板验证无误后制作 PCB,增加电源输入端子和 100µF 滤波电容。

组装步骤 (精简)
- 舵机固定于底座 (M2 螺丝)
- 激光二极管压入 LaserClamp,LDR 插入 LdrClamp
- 焊接 DC 插座、拨动开关,接入 PCB 电源端子
- 舵机、扬声器、激光、LDR 分别接入 PCB 对应接口
- PCB 用 M2 螺丝固定底座,透明塑料片 (75×17mm) 嵌入遮光
- LaserClamp 和 LdrClamp 用 M4 螺丝夹紧横杆两侧,调整对齐使激光点击中 LDR 中心
- 热熔胶将底座粘贴墙面
- 激光、LDR 导线绕过门框接入三位螺丝端子
- 接通电源,舵机复位 0° 时安装 RotatorDispenser 并对齐糖果孔
- 扬声器装入盖板,M3 螺丝锁紧盖板
- 装入 Tic Tac,完成!

代码
完整代码 SmartPullUpBar.ino 仅提供下载,包含音乐播放 (基于 adithyalokesh17 的蜂鸣器乐谱)、LDR 阈值判断、舵机控制糖果分配逻辑。
3D 模型下载
Thingiverse: https://www.thingiverse.com/thing:4809522
原理图


制造工艺