十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

TERRA触觉反馈设计:用DRV2605L震动马达无声传达“快到了“的信号 TERRA触觉反馈设计用DRV2605L震动马达无声传达快到了的信号【免费下载链接】terra项目地址: https://gitcode.com/gh_mirrors/terra2/terraTERRA 是一款掌心大小的开源徒步导航设备最特别的设计之一是它不靠屏幕、不靠声音而是用触觉反馈告诉你快到了。当 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.inodrv.setWaveform(0, effectNumber); // 播放 58 号效果 drv.setWaveform(1, 0); // 结束波形 drv.go(); // 开始震动这种一抖一停的节奏设计很贴心既不会像持续震动那样让人烦躁又比单次震动更能传递你正在接近的渐进感——就像远行时听到的、越来越密集的心跳。到达即静默震动的收尾当距离进入 10 米、判定到达检查点后设备会切换到AT_CHECKPOINT状态并展示对应编号的检查点图案震动随即停止。5 秒后状态机回到NAVIGATING震动标志位复位静候下一个检查点。整个震动—安静的闭环让每一次提示都干净利落。想上手体验三步跑起来安装库在 Arduino IDE 中安装TinyGPSPlus、TFT_eSPI、Adafruit_DRV2605三个库配置路线TERRA App 会生成一份 config.h起点 9 个检查点的 GPS 坐标替换进固件目录即可上传测试把 Terra.ino 上传 ESP32。把顶部的debugMode置为true就能在串口监视器里手动输入坐标无需走到野外也能看到 20 米震动触发生效。需要的话还可以 3D 打印外壳项目内含 STL 文件把震动马达真正装进口袋大小的设备里。小结好的提示音是让提示消失TERRA 的触觉反馈设计给出了一条对智能硬件很有启发的思路触觉不是声音的替代品而是信息的另一种模态。20 米开震、500 毫秒一抖、10 米收震——三个简单的参数就完成了从提示接近到确认到达的完整叙事全程无需一次抬腕、一次低头。下次设计可穿戴或便携导航设备时不妨问问自己这个信息用户摸得到吗【免费下载链接】terra项目地址: https://gitcode.com/gh_mirrors/terra2/terra创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表