灵TR7 无线模块

原理简介

灵-TR7(蜂鸟无线)是一款 2.4G 无线模块,开关量 + 串口透传二合一,收发一体。

  • 工作原理:GFSK 调制,工作在 2.4GHz 频段(默认 2483MHz),128 个频道可调,自带天线
  • 核心能力:6 路开关量无线传输;也可以切到「数据透传模式」走串口(UART)
  • 用法:一块设为发射、另一块设为接收,先对码配对、两边的频道/分组一致就能通
  • 供电:工作电压 2.2~3.6V(Pico 的 3V3 可直接供电,绝对不能接 5V)
  • 电流:接收约 20mA(可降到 1mA / 0.1mA)、发射约 25mA,Pico 的 3V3 能带得动

开关量模式下,模块不写代码也能当无线开关用:发射端接按键、接收端 D 脚直接驱动 LED。下面示例演示如何用 Pico 去「读」接收端的开关量,做更复杂的联动。

典型应用

  • 无线遥控小车(按键 → 接收端控制电机)
  • 无线遥控开关(灯、风扇)
  • 多设备联动(一个发射端控制多块接收端)
  • 无线门磁、安防提醒
  • 数据采集节点的无线触发

接线图

[接线图占位,后续添加]

文字说明(具体接法见下方代码注释):

  • 模块 V → Pico 3V3(只能 2.2~3.6V,别接 5V)
  • 模块 G → Pico GND(共地)
  • 模块 D1~D6 → 开关量通道;发射端做输入(接按键到 GND,低电平触发),接收端做输出(高电平有效,最大 15mA)
  • WM(工作模式):悬空=发射端,接 3V3(=1)=接收端,接 GND(=0)=数据透传
  • MO(输出模式):悬空=点动(按住才通),接 3V3(=1)=翻转(按一下切换),接 GND(=0)=参数设置模式
  • PC(功耗,仅接收有效):悬空=0.1mA,接 3V3(=1)=1mA,接 GND(=0)=常规 20mA
  • KL(对码):接一个按键到 GND,用于进入对码 / 清码
  • ⚠ 模块是 SMD 贴片封装,通常要配转接板 / 测试底板才好插面包板;具体引脚排列以厂家说明书丝印为准

示例代码

基础示例:最简无线开关(不写代码)

# 两块模块都接好 V→3V3、G→GND:
# 发射端:WM 悬空(发射),MO 悬空(点动),D1 → 按键 → GND
# 接收端:WM 接 3V3(接收),MO 悬空(点动),D1 → LED(串 220Ω 电阻) → GND
# 对码后,按下发射端按键,接收端 D1 输出高电平,LED 直接亮。
# 这一步完全不需要 Pico,先确认模块本身是好的再接程序。

进阶示例:接收端用 Pico 读开关量并点 LED

# ============ 接线 ============
# 两块 ling-TR7 先按说明书「对码」配对,且频道/分组(NetID)一致
# 发射端(WM 悬空=发射): D1 → 按键一脚,按键另一脚 → GND(低电平触发)
#                          V → 3V3,G → GND
# 接收端(WM→3V3=接收):   D1 → Pico GP15(输入,收到信号时输出高电平)
#                          V → 3V3,G → GND(与 Pico 共地)
# 接收端另接: LED 长脚 → 电阻(220Ω) → GP16,短脚 → GND
# 注意:具体引脚映射、WM/MO/PC 电平与对码流程以厂家说明书为准
# =============================
from machine import Pin

rx_d1 = Pin(15, Pin.IN)     # 接收端 D1:收到发射端按键时为高电平
led = Pin(16, Pin.OUT)

print('无线开关:按下发射端按键,接收端 LED 亮')
while True:
    if rx_d1.value() == 1:  # 收到发射端信号
        led.on()
    else:
        led.off()

应用示例:多路开关 + 状态打印

# 接线:接收端 D1~D4 → Pico GP15/GP14/GP13/GP12(输入),V→3V3,G→GND 共地
# ============ 接线 ============
# 接收端 D1~D4 → Pico GP15/GP14/GP13/GP12(输入,收到信号时输出高电平)
# 两块模块 V → Pico 3V3(只能 2.2~3.6V,别接 5V),G → Pico GND(共地)
# 发射端对应 D1~D4 各接一个按键到 GND(低电平触发)
# 具体引脚映射、WM/MO/PC 电平与对码流程以厂家说明书为准
# =============================
from machine import Pin
import time

ch = [Pin(15, Pin.IN), Pin(14, Pin.IN), Pin(13, Pin.IN), Pin(12, Pin.IN)]

print('接收端 4 路开关量状态(1=被按下)')
while True:
    state = [c.value() for c in ch]
    print('D1~D4:', state)
    time.sleep_ms(200)

注意事项

  • 供电电压:工作电压 2.2~3.6V,只能接 Pico 的 3V3,千万别接 5V,否则烧模块。
  • 对码 / 频道一致:收发两块模块的频道、分组(NetID)必须一致才能通信;默认参数一般就能通,不通先查硬件和参数。
  • 触发方式(点动 / 翻转):由 MO 脚决定(悬空=按住才通,接 3V3=按一下切换),按需求接。
  • 贴片封装:模块是 SMD,注意有没有转接板 / 测试底板,面包板直插多半需要转接。
  • 开关量是单向的:发射端 D 脚是输入(接按键),接收端 D 脚是输出(高电平、最大 15mA),两边不能搞反。
  • 距离与环境:标称视距约 50m,穿墙、金属外壳会明显缩短;天线很关键。
  • 高级配置:要改频道、波特率、分组,可用厂家上位机或串口指令(进设置模式需把 MO 接 GND),具体帧格式以官网规格书为准,本页不展开。

常见问题

Q: 两块模块怎么配对? A: 开关量模式下,双击接收端「对码键」(KL) 使其 LED 闪烁进入对码,10 秒内单击发射端对码键,接收端 LED 快闪 2 下即成功(断电不丢);长按接收端对码键 6 秒以上可清码。具体以说明书为准。

Q: 接收端没反应? A: 先确认 WM 脚电平对(发射端悬空、接收端接 3V3);再确认两边已对码、频道/分组一致;最后查 V/GND 有没有接好、共地没。

Q: 能用 Pico 的串口和它通信吗? A: 可以,但要把模块切到「数据透传模式」(WM 接 GND),并把 D5/D6 用作 RX/TX 接 Pico 的 UART;开关量模式下这两脚是开关通道。具体配置看厂家规格书。