Hi Guys! I want to when I click on button widget (pin V19) (PUSH BUTTON) it turn ON per 1seg and OFF the D3 pin and blink LED on pin D9 for 20 seg
(1 button, 2 task)
how can I do that?
here is the code
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <DHT.h>
#include <SimpleTimer.h>
/***********************************************************************************************************************************************/
char auth[] = "545db7988exxxxxxxxxx6b99bc25";
/***********************************************************************************************************************************************/
#define W5100_CS 10
#define SDCARD_CS 4
#define DHTPIN 2
#define DHTTYPE DHT11
/***********************************************************************************************************************************************/
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
/***********************************************************************************************************************************************/
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
/***********************************************************************************************************************************************/
void setup()
{
Serial.begin(9600);
pinMode(SDCARD_CS, OUTPUT);
digitalWrite(SDCARD_CS, HIGH);
Blynk.begin(auth);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
dht.begin();
timer.setInterval(1000L, sendSensor);
}
BLYNK_WRITE(V9)
{
if (param.asInt() == 0)
{
digitalWrite(5, HIGH);
}
else
{
digitalWrite(5, LOW);
}
}
BLYNK_WRITE(V15)
{
if (param.asInt() == 0)
{
digitalWrite(6, HIGH);
}
else
{
digitalWrite(6, LOW);
}
}
BLYNK_WRITE(V7)
{
if (param.asInt() == 0)
{
digitalWrite(7, HIGH);
}
else
{
digitalWrite(7, LOW);
}
}
BLYNK_WRITE(V8)
{
if (param.asInt() == 0)
{
digitalWrite(8, HIGH);
}
else
{
digitalWrite(8, LOW);
}
}
BLYNK_WRITE(V19)
{
if (param.asInt() == 0)
{
digitalWrite(3, HIGH);
}
else
{
digitalWrite(3, LOW);
delay(2000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(500);
}
}
/***********************************************************************************************************************************************/
void loop()
{
Blynk.run();
timer.run();
}
/***********************************************************************************************************************************************/