跳到主要内容

力传感器 Force Sensor

一个带弹簧按钮的传感器,既能当开关(按下/松开),也能测力的大小(0-10 牛顿)。

能测什么

模式读值
是否按下(pressed)真/假
是否用力按(hard-pressed)真/假(按压超过约 5 N)
力(force)0-10 N,分辨率约 0.1 N(官方连续测力有效区约 2.5-10 N)

Word Blocks 积木

wordblocks
<力传感器 [B] [被按下]>
<力传感器 [B] [被用力按下]>
(力传感器 [B] 压力 %)
等待到 <力传感器 [B] 被按下>

示例 1:按下出发

训练时的"按压启动扳机"(press-to-start)——按一下传感器,机器人才开始跑:

wordblocks
当程序启动时
设置移动马达 [A+E]
等待到 <力传感器 [B] 被按下>
等待到 <不成立 <力传感器 [B] 被按下>>     ← 等松手再走,防止手还没拿开机器人就冲
移动 [前进] [5]

示例 2:碰墙检测

把力传感器装在机器人尾部,倒车顶墙,按钮被压下说明已贴紧墙面:

wordblocks
开始移动 [后退]
等待到 <力传感器 [B] 被按下>
停止移动
重设偏航角 [0]        ← 已知贴墙姿态,顺带重置偏航参考

Python 写法

python
import runloop, force_sensor
from hub import port

async def main():
    if force_sensor.pressed(port.B):
        pass
    f = force_sensor.force(port.B)   # 单位:分牛顿(dN),0-100 对应 0-10 N

runloop.run(main())

Python 返回分牛顿

force() 返回 0-100,单位是分牛顿(1 N = 10 dN)。读值 35 = 3.5 N。

FLL 里的用途

  • 靠墙校准的确认信号:比"倒车固定圈数"可靠,真正压到墙才算到位(靠墙校准的完整做法见 FLL 实战技巧)。
  • 调试触发器:场边按一下跑一段,不用回电脑点运行。
  • 附件到位检测:机械臂压到目标时停止,防止过冲烧马达。

常见坑

  • 按钮行程只有几毫米,安装时要保证撞击方向正对按钮轴线,斜着撞可能压不下去。
  • 它是接触式传感器:需要真的撞上去。需要非接触检测的任务用距离传感器

下一个:Hub 内置传感器——重头戏陀螺仪在这里。

© 2026 FLL 知识库 · 保留所有权利