news 2026/8/23 12:32:57

TERRA触觉反馈设计:用DRV2605L震动马达无声传达“快到了“的信号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TERRA触觉反馈设计:用DRV2605L震动马达无声传达“快到了“的信号

TERRA触觉反馈设计:用DRV2605L震动马达无声传达"快到了"的信号

【免费下载链接】terra项目地址: https://gitcode.com/gh_mirrors/terra2/terra

TERRA 是一款掌心大小的开源徒步导航设备,最特别的设计之一,是它不靠屏幕、不靠声音,而是用触觉反馈告诉你"快到了"。当 GPS 判断你距离下一个检查点越来越近时,设备会开始轻柔、有节奏地震动——手心的每一次"嗡",都是一次无声的导航提示。

为什么导航信号要"摸"到,而不是"看"到?

TERRA 的产品理念是"mindful wandering"(正念漫步):把你从手机里解放出来,重新感受周围的风景。它的屏幕只有一块 1.28 英寸的圆形小 LCD,平时只显示一根安静的指南针箭头。

如果每靠近检查点就要低头看屏幕,"放下手机"的设计初衷就落空了。TERRA 的解法是:方向交给屏幕,"快到了"交给指尖🖐️

这样,走路的人可以专注于脚下的小径,仅凭手掌传来的震动节奏,就知道自己离目的地还有多远。

核心硬件:DRV2605L 震动马达驱动板

TERRA 的触觉反馈由一块Adafruit DRV2605L 触觉控制器扩展板实现,它与主控 ESP32 Feather 通过 I²C 总线通信。

DRV2605L 的巧妙之处在于:

  • 内置效果库:芯片里预置了几十种震动波形(渐强、正弦、脉冲等),MCU 只需发送一个编号即可播放,无需自己合成波形;
  • 触发简单:设置好"内部触发"模式后,一条go()命令就能播放震动效果;
  • 不占 CPU 资源:震动由驱动芯片独立完成,ESP32 可以放心继续处理 GPS 数据。

想单独验证这块板子是否工作,可以参考项目自带的最小示例:VibrationMotor.ino。

"快到了"是怎么触发的?三组关键参数

TERRA 的震动逻辑在 Terra.ino 中由三个参数共同定义:

参数数值作用
vibrationTrigger20 米距离下一检查点 ≤20 米时,开始震动
checkpointTrigger10 米距离 ≤10 米时,判定"已到达"
proximityVibrationDelayMs500 毫秒震动之间的间隔,形成"脉冲式"节奏

20米触发:震动的"提前量"

在导航状态机里,只要 GPS 计算出的距离进入 20 米范围,proximityVibrationTriggered标志位就会打开(Terra.ino)。20 米大约就是两三个身位的步行距离——刚好给你留出"确认一下方向"的反应时间。

500毫秒一次:震动的"心跳节奏"

震动不是一直嗡嗡响,而是在主循环中每隔 500ms 播放一次 DRV2605L 效果库的58 号预设——一段平稳的正弦震动(见 Terra.ino):

drv.setWaveform(0, effectNumber); // 播放 58 号效果 drv.setWaveform(1, 0); // 结束波形 drv.go(); // 开始震动

这种"一抖一停"的节奏设计很贴心:既不会像持续震动那样让人烦躁,又比单次震动更能传递"你正在接近"的渐进感——就像远行时听到的、越来越密集的心跳。

到达即静默:震动的"收尾"

当距离进入 10 米、判定到达检查点后,设备会切换到AT_CHECKPOINT状态并展示对应编号的检查点图案,震动随即停止。5 秒后状态机回到NAVIGATING,震动标志位复位,静候下一个检查点。整个"震动—安静"的闭环,让每一次提示都干净利落。

想上手体验?三步跑起来

  1. 安装库:在 Arduino IDE 中安装TinyGPSPlusTFT_eSPIAdafruit_DRV2605三个库;
  2. 配置路线:TERRA App 会生成一份 config.h(起点 + 9 个检查点的 GPS 坐标),替换进固件目录即可;
  3. 上传测试:把 Terra.ino 上传 ESP32。把顶部的debugMode置为true,就能在串口监视器里手动输入坐标,无需走到野外也能看到 20 米震动触发生效。

需要的话,还可以 3D 打印外壳(项目内含 STL 文件),把震动马达真正装进口袋大小的设备里。

小结:好的提示音,是让提示"消失"

TERRA 的触觉反馈设计给出了一条对智能硬件很有启发的思路:触觉不是声音的替代品,而是信息的另一种模态。20 米开震、500 毫秒一抖、10 米收震——三个简单的参数,就完成了从"提示接近"到"确认到达"的完整叙事,全程无需一次抬腕、一次低头。

下次设计可穿戴或便携导航设备时,不妨问问自己:这个信息,用户"摸"得到吗?

【免费下载链接】terra项目地址: https://gitcode.com/gh_mirrors/terra2/terra

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 12:24:56

AI全栈开发实战:LangChain.js与Nuxt.js构建智能应用

如果你是一名前端或全栈开发者,最近打开招聘软件,可能会感到一丝焦虑:那些熟悉的“精通Vue/React”要求旁边,开始频繁出现“熟悉LangChain”、“有AI应用开发经验”、“了解大模型集成”等字眼。这不仅仅是几个新关键词&#xff0…

作者头像 李华
网站建设 2026/8/23 12:23:52

大模型自学路线与求职实战经验分享

1. 项目概述:大模型自学与求职复盘 去年初偶然在技术论坛看到一篇关于Transformer架构的讨论帖,被大模型背后的技术逻辑深深吸引。作为非科班出身的开发者,我用了8个月时间从Python基础开始,系统学习了大模型相关技术栈&#xff0…

作者头像 李华
网站建设 2026/8/23 12:20:57

技术招聘实战:精准定位与高效评估策略

1. 招聘程序员的痛点与挑战 技术招聘一直是企业发展的关键环节,但实际操作中HR和技术主管常常面临诸多困境。最典型的场景是:业务部门突然提出紧急用人需求,要求两周内到岗,而招聘团队手头却没有合适的候选人资源池。这种情况在快…

作者头像 李华