Hello; I'm working on the nodemcu module. When I load the existing codes, the built-in LED on the module does not light. It only lights up during installation. For this, I want to combine both my codes and the built-in led lighting codes in the examples section, but I keep getting an error. Could you please combine these two codes and help me? Thanks.
#define BLYNK_TEMPLATE_ID "TMPL6V-RAaoI3"
#define BLYNK_TEMPLATE_NAME "HOME ASİSTANS"
#define BLYNK_AUTH_TOKEN "d_97T8ioN3TwrW8gkX16S6v5ennboTKq"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "HOME";//wifi adı
char pass[] = "Hena5825";//wifi şifresi
BLYNK_WRITE(V0)
{
int value = param.asInt();
Serial.println(value);
if(value == 1)
{
digitalWrite(D5, LOW);
Serial.println("LED ON");
}
if(value == 0)
{
digitalWrite(D5, HIGH);
Serial.println("LED OFF");
}
}
BLYNK_WRITE(V1)
{
int value = param.asInt();
Serial.println(value);
if(value == 1)
{
digitalWrite(D6, LOW);
Serial.println("LED ON");
}
if(value == 0)
{
digitalWrite(D6, HIGH);
Serial.println("LED OFF");
}
}
BLYNK_WRITE(V2)
{
int value = param.asInt();
Serial.println(value);
if(value == 1)
{
digitalWrite(D7, LOW);
Serial.println("LED ON");
}
if(value == 0)
{
digitalWrite(D7, HIGH);
Serial.println("LED OFF");
}
}
BLYNK_WRITE(V3)
{
int value = param.asInt();
Serial.println(value);
if(value == 1)
{
digitalWrite(D8, LOW);
Serial.println("LED ON");
}
if(value == 0)
{
digitalWrite(D8, HIGH);
Serial.println("LED OFF");
}
}
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(D5,OUTPUT);
pinMode(D6,OUTPUT);
pinMode(D7,OUTPUT);
pinMode(D8,OUTPUT);
}
void loop()
{
Blynk.run();
}
#include <PolledTimeout.h>
void ledOn() {
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level
}
void ledOff() {
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
}
void ledToggle() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // Change the state of the LED
}
esp8266::polledTimeout::periodicFastUs halfPeriod(500000); // use fully qualified type and avoid importing all ::esp8266 namespace to the global namespace
// the setup function runs only once at start
void setup() {
Serial.begin(115200);
Serial.println();
Serial.printf("periodic/oneShotMs::timeMax() = %u ms\n", (uint32_t)esp8266::polledTimeout::periodicMs::timeMax());
Serial.printf("periodic/oneShotFastMs::timeMax() = %u ms\n", (uint32_t)esp8266::polledTimeout::periodicFastMs::timeMax());
Serial.printf("periodic/oneShotFastUs::timeMax() = %u us\n", (uint32_t)esp8266::polledTimeout::periodicFastUs::timeMax());
Serial.printf("periodic/oneShotFastNs::timeMax() = %u ns\n", (uint32_t)esp8266::polledTimeout::periodicFastNs::timeMax());
#if 0 // 1 for debugging polledTimeout
Serial.printf("periodic/oneShotMs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicMs::rangeCompensate);
Serial.printf("periodic/oneShotFastMs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastMs::rangeCompensate);
Serial.printf("periodic/oneShotFastUs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastUs::rangeCompensate);
Serial.printf("periodic/oneShotFastNs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastNs::rangeCompensate);
#endif
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
using esp8266::polledTimeout::oneShotMs; // import the type to the local namespace
// STEP1; turn the led ON
ledOn();
// STEP2: wait for ON timeout
oneShotMs timeoutOn(2000);
while (!timeoutOn) { yield(); }
// STEP3: turn the led OFF
ledOff();
// STEP4: wait for OFF timeout to assure the led is kept off for this time before exiting setup
oneShotMs timeoutOff(2000);
while (!timeoutOff) { yield(); }
// Done with STEPs, do other stuff
halfPeriod.reset(); // halfPeriod is global, so it gets inited on sketch start. Clear it here to make it ready for loop, where it's actually used.
}
// the loop function runs over and over again forever
void loop() {
if (halfPeriod) { ledToggle(); }
}