אני מנסה להבין מה אתה מנסה לבצע. האם לחיצה על כפתור וירטואלי באפליקציה על הטלפון אמורה להפעיל LED לפרק זמן שאתה תקבע בקוד שרץ על ארדואינו?
אם כך, היכן ההשהיה? אתה רושם שימוש ב-millis אבל הוא לא מופיע בקוד.
או שאתה מנסה לגרום ל-LED לפעול כל עוד הלחצן הוירטואלי לחוץ?
נסה לנסח באופן ברור יותר את המשפט הבא: "שהblynk יעבוד זמן מסוים יעצור לזמן קצר ואז יחזור לזמן מסוים ויעצור לזמן מסוים וזה בעצם ה loop"
הוספתי תגיות CODE כדי שיהיה קריא יותר:
קוד:
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
char auth[] = "XXX";
// Your WiFi credentials.
char ssid[] = "YYY";
char pass[] = "ZZZ";
int LED = D2; // Define LED as an Integer (whole numbers) and pin D8 on Wemos D1 Mini Pro
void setup(){
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop(){
}
Blynk.run();
// This function will be called every time button Widget
// in Blynk app writes values to the Virtual Pin V5
BLYNK_WRITE(V5) {
int pinValue = param.asInt(); // Assigning incoming value from pin V5 to a variable
Serial.print("Pin number: ");
Serial.println(LED);
Serial.println(pinValue);
if (pinValue == 1) {
digitalWrite(LED, HIGH); // Turn LED on.
} else {
digitalWrite(LED, LOW); // Turn LED off.
}
}
נראה שב-BLYNK_WRITE אתה מדפיס לקונסול את מספר הפין שאליו מחובר ה-LED ולא את מספר הלחצן הוירטואלי. לא רלוונטי לבעיה שיש לך אבל חשבתי להעיר.