我在2个月前开始使用arduino和编程进行冒险。所以,我是这个主题的新手。 到目前为止,我意识到很少有项目,包括Blynk与arduino相关联。最后一个与主题中描述的类似,但我使用的是ENC28j60而不是ESP8266模块,然后它工作正常。
问题始于ESP模块。
项目简述:
主要思想是使用Blynk App支持控制AC灯。 首先,我根据下图进行了连接: 作为电源,我使用连接逐步电压转换器的USB手机充电器进入最终的3.3V电源。 我还将Arduino Uno连接到这样的继电器模块:
Arduino ====>中继模块
5V ====> VCC
GND ====> GND
针脚5 ====> IN1
你可以在下面的图片中看到(对不起质量)
而现在我几乎每一步都做了(有很多问题)。我的意思是: 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设置为连接类型。然后我添加了Button并将Output设置为D5。
现在(接近项目结束)我遇到了一个问题。按下连接按钮(在右上角)后,我收到设备连接的信息(在线)。然后,当我尝试将按钮按到Active Relay时 - 没有任何反应。 更重要的是。我尝试使用不同的Arduino引脚,结果相同。而且我不知道为什么(可能是因为我还有小知识)但是当我将Button输出值设置为D2时 - 连接后我按下它然后ESP模块上的二极管关闭并打开。 我试图在这个论坛和其他许多地方找到最近3天的解决方案,但没有任何结果。这就是我决定向你寻求帮助的原因。你知道我错了什么,或者我应该在项目中添加什么来使Blynk和继电器之间的连接工作正确?
如果你需要更多或更详细的信息,请写一下。
答案 0 :(得分:0)
为什么你同时使用uno和esp?您可以使用esp而不是组合,将使您的项目更少耗电和更小。如果你想知道只使用esp,你可以使用nodemcu板(在中国可以找到每个单元少于4欧元)。
我有一些示例草图(有温度和湿度),如果你想看看那些。
答案 1 :(得分:0)
当你看到你拍摄的照片和代码时,似乎你已经用一张Arduino草图闪过了ESP。如果您想直接使用ESP(没有Arduino UNO)激活继电器,这很好。 然后你只需要将继电器连接到ESP而不是连接到Arduino。不幸的是,并非所有的继电器板都可以使用ESP提供的3.3V逻辑电路,但也许你很幸运。
另一方面,如果您想使用带有ESP作为Wi-Fi的Arduino UNO,那么您必须使用原始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之间的连接