0

2 个月前,我开始使用 arduino 和编程进行冒险。所以,我是这个主题的新手。直到现在我才意识到很少有项目,包括与 arduino 相关的 Blynk。最后一个与主题中描述的类似,但我使用 ENC28j60 而不是 ESP8266 模块,然后它工作正常。

问题始于 ESP 模块。

项目简介:

主要思想是通过 Blynk App 支持来控制 AC 灯。首先我按照下图进行了连接: 在此处输入图像描述 作为电源,我使用了 USB 手机充电器,通过电压转换器连接到最终的 3.3V 电源。我另外将 Arduino Uno 与继电器模块连接起来,如下所示:

Arduino ====> 继电器模块

5V ====> VCC

接地 ====> 接地

引脚 5 ====> IN1

Everythink你可以在下面的图片中看到(对不起质量)

在此处输入图像描述 现在我几乎完成了每一步(有很多问题)。这里我的意思是:1.我检查了arduino是否通过串口与ESP模块连接->系统报告“就绪”状态。2. 我为我的项目上传了以下(模板)Arduino IDE 草图:

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "***";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "***";
char pass[] = "***";



void setup()
{
  // Debug console--
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

}

void loop()
{
  Blynk.run();

}

最后我在 Blynk 开始了新项目。我将 Arduino uno 设置为硬件模型,将 WiFi 设置为连接类型。然后我添加了按钮并将输出设置为 D5。

现在(接近项目结束)我遇到了一个问题。按下连接按钮(在右上角)后,我收到设备已连接(在线)的信息。然后,当我尝试将按钮按下到 Active Relay 时 - 没有任何反应。更重要的是。我在 Arduino 上尝试了不同的引脚,结果相同。而且我不知道为什么(可能是因为我的知识还很少)但是当我将按钮输出值设置为 D2 时 - 连接后当我按下它时,ESP 模块上的二极管会关闭并打开。在过去的 3 天里,我试图在这个论坛和许多其他地方找到解决方案,但没有任何结果。这就是为什么我决定向你寻求帮助。你知道我做错了什么或者我应该在项目中添加什么以使 Blynk 和继电器之间的连接正确吗?

如果您需要我这边的一些更多或更详细的信息,请写信。

4

2 回答 2

0

当查看你有 postet 的图片和代码时,似乎你已经用 Arduino 草图闪现了 ESP。如果您想直接使用 ESP(没有 Arduino UNO)激活继电器,这很好。然后你只需要将继电器连接到 ESP 而不是 Arduino。不幸的是,并非所有继电器板都可以使用 ESP 提供的 3.3V 逻辑运行,但也许你很幸运。

另一方面,如果您想将 Arduino UNO 与 ESP 一起用作 Wi-Fi,那么您必须使用原始 AT 固件重新刷新 ESP。然后你可以将它连接到 Arduino 并使用看起来像这样的草图。

#define BLYNK_PRINT Serial

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = "YourAuthToken";

char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); 
// pin 3 connected to ESP RX and pin 2 connected to ESP TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);

  delay(10);

  // Set ESP8266 baud rate
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
  Blynk.run();
}

你应该移除 Arduino 上 RST 和 GND 之间的连接

于 2017-11-13T22:42:49.087 回答
0

为什么你同时使用 uno 和 esp?您可以只使用 esp 而不是组合,这将使您的项目耗电更少,体积更小。如果您想只使用 esp,您可以使用 nodemcu 板(在中国可以以低于 4 欧元的价格找到它)。

如果您想看一下,我有一些示例草图(带有温度和湿度)。

于 2017-08-24T12:16:56.057 回答