乐鑫技术交流
直播中

哈哈哈

10年用户 878经验值
擅长:可编程逻辑
私信 关注
[问答]

ESP 01和ARDUINO UNO相连,蓝色和红色LED常亮,无法发送AT逗号是为什么呢?

我有 ESP 01 模块,它与 ARDUINO UNO 相连。我已将我的 ESP 连接到 Arduino,如下所示
ESP - Arduino
VCC - 3.3 V
GND - GND
CH-PD - 3.3 V
TXD - 数字引脚 2
RXD - 数字引脚 3
,此处使用的程序是
#include  
const byte接收端 = 2; // 将其连接到 ESP8266 的 Tx 引脚
const byte txPin = 3; // 将此连接到 ESP8266 的 Rx 引脚
// 我们将使用软件串行接口连接到 ESP8266
SoftwareSerial ESP8266 (rxPin, txPin);
void setup() {
  Serial.begin(9600);
//您可能需要在第一次运行时取消注释此块:
// ESP8266.开始(115200);// 将其更改为 ESP8266 使用的出厂波特率
// delay(1000);
//
// Serial.println("将波特率设置为 9600");
// ESP8266.println("AT+IPR=9600");
  ESP8266.开始(9600);
}
bool okReceived = false;
void loop() {
  if (Serial.available() > 0)
  {
    字符串命令 = Serial.readStringUntil('\n');
    Serial.println("命令发送:" + command);
    序列号.println();
    ESP8266.println(指令);
  }
  int 响应计数器 = 0;
  如果 (ESP8266.available() > 0)
  {
    while (ESP8266.available() >



        Serial.println("收到回复:");
      }
      字符串响应 = ESP8266.readStringUntil('\n');
      Serial.println(响应);
      响应计数器++;
    }
    Serial.println();
    Serial.println("============");
    序列号.println(); 模块     第一次运行良好,已经收到 AT 命令并响应
  。当我关闭电源并再次打开 ESP 模块时,它似乎没有响应 AT 命令并且蓝色和红色 LED 灯一直亮着。我恳请读者帮助我解决这个问题,在此先感谢

               





                        

回帖(1)

手托初梦

2023-10-23 09:57:22
在 Arduino Uno 和 ESP-01 之间进行串口(USART)通信时,需要确保几个关键点:

1. Arduino Uno 的 电平范围是5V,ESP-01 的电平范围是3.3V,需要确保信号传输的电平兼容性。因此,在将 ESP-01 连接到 Arduino Uno 上时,需要使用一个逻辑电平转换器或超低压 MOS 邢来进行电平转换。如果没有这样的转换器,则需要确保在将信号传输到 ESP-01 之前将其电平转换为3.3V。

2. 确保在连接 ESP-01 之前,Arduino Uno 的串行通信模块没有占用将用于与 ESP-01 通信的通信线路。通常,这意味着将 Arduino Uno 上的串行通信模块设置为 SoftwareSerial 或使用其他可用的串行通信端口。

3. 如果您使用的是 SoftwareSerial 库,则需要确保库将始终使用正确的引脚始终与 ESP-01 通信,以防止发生任何错误。确保在程序中正确设置 rxPin 和 txPin 并将其与 ESP-01 上的 Tx 和 Rx 引脚对应。

如果您的 ESP-01 上的 LED 始终处于常亮状态,则表示 ESP-01 未正确接收到任何命令或数据,可能是由于电平兼容性问题、错误的引脚连接或其他通信问题导致的。验证您的连接,并确保所有设置正确。如果问题仍然存在,请考虑更改 ESP-01 的入手方式,或者尝试使用其他 ESP8266 模块或其他设备进行通信。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分