You need to enable JavaScript to run this app. MicroBlocks下Micro:bit V2无线传输麦克风音频接收端出现杂音问题
优惠活动
大模型
产品
解决方案
定价
更多

MicroBlocks下Micro:bit V2无线传输麦克风音频接收端出现杂音问题

问题成因
  • 接收端代码参数错误:analog pin write 方法的参数顺序应为「输出值在前,目标引脚在后」,你当前代码将固定值0写入了编号为「最后接收到的无线数值」的引脚,完全不符合预期输出逻辑,这是产生杂音的核心原因之一。
  • 接收端未配置无线参数:你仅在发送端按下A键后才设置了无线组、信道为7,但接收端启动后没有同步配置相同的无线参数,导致接收端会收到大量无关广播数据包、干扰数据,数值完全错乱。
  • 无线传输速率不匹配:发送端forever循环无任何延迟,连续高频发送数值,超出了Micro:bit无线电栈的稳定传输带宽,产生大量丢包、乱序,音频数值连续性被破坏,产生爆音杂音。
  • 无线广播无确认机制:Micro:bit默认无线电广播为无确认的不可靠传输,高速发送时丢包概率极高,跳变的数值直接输出到扬声器就会产生刺耳杂音。
解决方法
  • 修正接收端的参数错误和无线配置,启动时先同步设置无线组、信道与发送端一致
  • 给发送端的采样循环增加小延迟,匹配无线传输带宽,降低丢包概率
  • 可选增加接收端数据平滑逻辑,进一步降低丢包带来的爆音影响

修正后发送端代码

when [button a] pressed
  set radio group to (7)
  set radio channel to (7)
  set radio transmit power to (7)
  digital pin write (on) to (28)
  forever
     set sample to (microphone + 500)
     analog pin write (sample) to (0)
     radio transmit number (sample)
     wait (1) ms // 增加1ms延迟匹配传输速率

when [button b] pressed
   stop other processes
   radio transmit number (0)
   analog pin write (0) to (0)

修正后接收端代码

when program started
   set radio group to (7)
   set radio channel to (7) // 同步配置无线参数
   forever
      if (new radio message)
         analog pin write (radio last received number) to (0) // 修正参数顺序

内容的提问来源于stack exchange,提问作者A Repl User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 13:06:01