Blynk 没有打开 NodeMCU 上的 LED

问题描述

我已通过以下方式将 LED 连接到我的 NodeMCU: Circuit Diagram 并使用我的笔记本电脑的串口成功控制了它。现在我想通过手机上的 Wifi 和 Blynk 应用程序远程控制它。我在应用程序中添加了所有必需的规格,如板类型和引脚号等。我已经能够将 LDR 数据成功发送到 ThingSpeak 站点,这意味着 NodeMCU 与 wifi 的连接是正常的。 但是当我使用 Blynk App 上的按钮打开灯时,LED 亮起不到一秒钟,然后熄灭。 Arduino IDE 上的串行监视器一直显示灯熄灭。 这是我上传到 NodeMCU 的代码

#include <ThingSpeak.h>
#include <ESP8266WiFi.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>

const char* ssid = "WifiName";
const char* password = "WifiPassword";
char auth[] = "AuthCode from Blynk App";

const int ldrPin = A0;
int ldrVal = 0;
int inputVal = 0;
const int ledPin = 5; //D1 pin on NodeMCU

WiFiClient client;
long myChannelNumber = ThingSpeak channel number;
const char myWriteApiKey[] = "Thingspeak write api key";

void setup() {
  Serial.begin(9600);
  Blynk.begin(auth,ssid,password);
  delay(100);
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,0);
  pinMode(ldrPin,INPUT);

  Serial.println();
  Serial.println();
  Serial.print("Connecting To: ");
  Serial.println(ssid);

  WiFi.begin(ssid,password);
  while(WiFi.status() != WL_CONNECTED){
    delay(200);
    Serial.println("...");
  }

  Serial.println("");
  Serial.println("Wifi Connected");
  Serial.print("Ip Address: ");
  Serial.println(WiFi.localIP());
  ThingSpeak.begin(client);
}

void loop() {
  // put your main code here,to run repeatedly:
  Blynk.run();

  while(Serial.available()>0){
    inputVal = Serial.read();
  }
  ldrVal = analogRead(ldrPin);
  Serial.println(ldrVal);
  
  if(inputVal=='1'){
    digitalWrite(ledPin,HIGH);
    Serial.println("ON");
  }
  else{ 
    digitalWrite(ledPin,LOW);
    Serial.println("OFF");
  }
  Serial.println("");
  ThingSpeak.writeField(myChannelNumber,1,ldrVal,myWriteApiKey);
  ThingSpeak.writeField(myChannelNumber,2,inputVal,myWriteApiKey);

}

我已将 Blynk 功能添加到我的项目已运行的代码中,我从串行端口获取输入并根据该输入打开或关闭 LED。 为什么 LED 不能正常点亮?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)