力传感器 Force Sensor
一个带弹簧按钮的传感器,既能当开关(按下/松开),也能测力的大小(0-10 牛顿)。
能测什么
| 模式 | 读值 |
|---|---|
| 是否按下(pressed) | 真/假 |
| 是否用力按(hard-pressed) | 真/假(按压超过约 5 N) |
| 力(force) | 0-10 N,精度 0.1 N 左右 |
Word Blocks 积木
<力传感器 [E] [被按下]>
<力传感器 [E] [被用力按下]>
(力传感器 [E] 压力 %)
等待到 <力传感器 [E] 被按下>示例 1:按下出发
调试时的"软启动按钮"——按一下传感器,机器人才开始跑:
当程序启动时
设置移动马达 [A+E]
等待到 <力传感器 [E] 被按下>
等待到 <不成立 <力传感器 [E] 被按下>> ← 等松手再走,防止手还没拿开机器人就冲
移动 [前进] [5] 圈示例 2:碰墙检测
把力传感器装在机器人尾部,倒车顶墙,按钮被压下说明已贴紧墙面:
开始移动 [后退]
等待到 <力传感器 [E] 被按下>
停止移动
重设偏航角 [0] ← 已知贴墙姿态,顺手校准陀螺仪方向Python 写法
python
import runloop, force_sensor
from hub import port
async def main():
if force_sensor.pressed(port.E):
pass
f = force_sensor.force(port.E) # 单位:分牛顿(dN),0-100 对应 0-10 N
runloop.run(main())Python 返回分牛顿
force() 返回 0-100,单位是分牛顿(1 N = 10 dN)。读值 35 = 3.5 N。
FLL 里的用途
- 靠墙校准的确认信号:比"倒车固定圈数"可靠,真正压到墙才算到位(靠墙校准的完整做法见 FLL 实战技巧)。
- 调试触发器:场边按一下跑一段,不用回电脑点运行。
- 附件到位检测:机械臂压到目标时停止,防止过冲烧马达。
常见坑
- 按钮行程只有几毫米,安装时要保证撞击方向正对按钮轴线,斜着撞可能压不下去。
- 它是接触式传感器:需要真的撞上去。轻拿轻放的任务用距离传感器。
下一个:Hub 内置传感器——重头戏陀螺仪在这里。