用 Arduino 制作超声波悬浮装置:分步指南
组件与物料
| Arduino UNO | ×1 |
| 超声波测距模块 HC-SR04 (拆取换能器) | ×1 |
| SparkFun 双 H 桥驱动板 L298 | ×1 |
| 9V 电池 | ×1 |
所需工具
- 无铅焊锡丝
- 电烙铁
- 10 根 5cm 跳线
应用与在线服务
- Arduino IDE
项目简介
看到物体像外星飞船一样悬浮在空中非常有趣,这就是反重力项目的核心。将小纸片或泡沫球放在两个超声波换能器之间,它们产生的声波使物体悬浮,看起来像反重力一样。
本教程将讲解超声波悬浮原理并指导制作悬浮装置。
步骤 1:原理 — 这是如何实现的?
要理解声学悬浮,先要了解重力、空气和声音。
- 重力:大质量物体 (如地球) 吸引小物体 (如苹果)。科学家尚未完全确定引力成因,但认为它普遍存在。
- 空气是流体:空气由微观粒子组成,行为类似液体,粒子间距较大、运动更快。
- 声音是振动:声波在介质 (气体、液体、固体) 中传播。敲钟时,钟振动推动空气分子产生压缩 (高压) 和稀疏 (低压)。真空中无声是因为没有介质传播振动。
声学悬浮器 主要由换能器 (振动面产生声波) 和反射器组成,常用凹面聚焦声波。声波从换能器发出,经反射器反射。三个基本特性使其能悬浮物体:
- 干涉:反射波与入射波叠加。压缩遇压缩增强,压缩遇稀疏抵消。
- 驻波:干涉与反射结合可形成驻波,表现为在空间振动而非传播。驻波有节点 (最小压力区) 和反节点 (最大压力区)。节点处压力极小,是声学悬浮的关键。
- 重力平衡:当驻波方向与重力平行时,节点处上下压力恒定,可托住轻小物体悬浮。
步骤 2:所需组件
- Arduino Uno / Nano (ATMEGA328P)
- 超声波模块 HC-SR04 (拆取换能器)
- L298 H 桥驱动模块
- 通用 PCB 板
- 7.4V 电池或电源 (需至少 2A 电流)
- 连接导线
步骤 3:电路原理图
核心原理:Arduino 产生 40kHz 方波,经 L298 驱动超声波换能器 (从 HC-SR04 拆下)。两个换能器面对面放置,中间留有间隙。声波在两者间形成驻波,节点处可悬浮轻小物体 (泡沫、纸片)。详见视频讲解。
步骤 4:制作换能器
从 HC-SR04 模块上拆下发射和接收换能器,去掉保护罩,焊接长导线。将两个换能器面对面安装在同一轴线上 (用泡沫板、螺母螺栓固定),保证声波能在相反方向传播并相交。**位置对准至关重要。** 请观看制作视频获取更多细节。
步骤 5:编程
代码极简,利用定时器中断在 Arduino A0、A1 引脚输出 40kHz 方波驱动 L298。代码已上传 Gist:下载链接
步骤 6:连接电路
按原理图连接,注意共地。
步骤 7:注意事项与改进
- 换能器位置极其关键,需精心调整
- 仅能悬浮极轻物体 (泡沫、纸片)
- 电源需提供至少 2A 电流
- 尝试增加换能器数量或提高电压均未能悬浮大物体
- 改进方向:多发射器应排列成弧面结构以聚焦声场
步骤 8:致谢
有疑问请留言讨论。
代码
Gist 源码
https://gist.github.com/EDISON-SCIENCE-CORNER/3ebb7020d0dacbbae949afb8f29bfcc3
原理图
制造工艺
- Arduino Mega 按键 PWM 调光:三阶段渐变 LED 实战教程
- FlickMote:基于手势的智能家居红外遥控器
- 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- 用 Arduino 测量地球质量:DIY 分步指南
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- Arduino 声纳实时测距与 Processing 可视化
- 智能停车计数系统:Arduino + Processing + PHP 实时车位追踪上云
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
- Arduino 实时数字罗盘:HMC5883L + Processing 可视化教程