You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HC-05蓝牙模块数据接收故障求助:Arduino Nano无线传输无输出

Arduino Nano + HC-05 蓝牙无输出问题排查方案

一、硬件连接与HC-05工作模式确认

  • 接线必须严格对应:
    • HC-05的VCC接Nano的5V(部分模块支持3.3V,以模块标识为准)
    • HC-05的GND接Nano的GND
    • HC-05的TX接Nano的数字引脚(比如D2),注意交叉连接(模块TX连Arduino RX)
    • HC-05的RX接Nano的数字引脚(比如D3),必须加1K电阻分压(HC-05是3.3V逻辑,直接接Nano的5V TX可能烧毁模块)
  • 确认HC-05处于透传模式:正常透传时模块LED慢闪(约2秒1次);如果是快闪(每秒数次),说明是AT指令模式,切换方法:按住模块按键通电,LED慢闪后松开按键即可。

二、波特率与串口配置完全匹配

  • Arduino代码中软串口(若使用SoftwareSerial)的波特率必须和HC-05默认值一致(多数为9600,部分是38400),例如:
    #include <SoftwareSerial.h>
    SoftwareSerial MySerial(2, 3); // 对应Arduino的RX、TX引脚
    
    void setup() {
      MySerial.begin(9600); // 蓝牙串口波特率必须和HC-05一致
      Serial.begin(9600); // USB串口用于调试
    }
    
  • Windows端串口监视器要选蓝牙对应的COM口(设备管理器里看「蓝牙串行端口」的编号),波特率、数据位(8)、停止位(1)、奇偶校验(无)必须和HC-05参数完全一致。

三、代码逻辑排查

  • 确保用软串口(MySerial)向HC-05发送数据,而非USB串口(Serial)。完整测试代码示例:
    #include <SoftwareSerial.h>
    SoftwareSerial MySerial(2, 3);
    
    void setup() {
      Serial.begin(9600);
      MySerial.begin(9600);
    }
    
    void loop() {
      // 向蓝牙模块发数据,Windows端应能接收
      MySerial.println("=============================================================");
      MySerial.println("Sleep timer:242");
      MySerial.println("Light Sleep: 0  Deep Sleep: 0");
      MySerial.println("Total Light Sleep: 0    Total Deep Sleep: 0");
      MySerial.println("Total Sleep: 0");
      MySerial.println("=============================================================");
      
      // 同步打印到USB串口调试
      Serial.println("=============================================================");
      Serial.println("Sleep timer:242");
      Serial.println("Light Sleep: 0  Deep Sleep: 0");
      Serial.println("Total Light Sleep: 0    Total Deep Sleep: 0");
      Serial.println("Total Sleep: 0");
      Serial.println("=============================================================");
      
      delay(1000);
    }
    
  • 检查代码是否有阻塞逻辑:比如过长的delay()或死循环,导致无法持续发送数据。

四、Windows端设置与测试

  • 打开设备管理器,找到蓝牙串行端口,右键「属性」→「端口设置」,确认所有参数和HC-05一致
  • 用Python测试时,确保代码参数正确,且给蓝牙连接留启动时间:
    import serial
    import time
    
    ser = serial.Serial('COM3', 9600, timeout=1)
    time.sleep(2)  # 等待蓝牙连接稳定
    
    while True:
        if ser.in_waiting > 0:
            data = ser.readline().decode('utf-8').strip()
            print(data)
        time.sleep(0.1)
    
  • 关闭所有可能占用该COM口的软件,避免端口冲突。

五、HC-05参数重置与确认

  • 进入AT模式:按住模块按键通电,LED快闪后,用USB串口连接Nano,串口监视器波特率设为38400,发送AT,返回OK则AT模式正常
  • 发送AT+UART?,查看当前波特率、数据位、停止位,确保和代码及Windows端一致
  • 发送AT+ORGL恢复出厂设置,重新切换到透传模式测试

内容的提问来源于stack exchange,提问作者Vishwaa Kannan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:45:23