Why if i want to activate V1 ON (All The Light On), before you have to D1 D2 D3 and D4 ON first? because if you want V1 ON we have to activate D1-D4 ON first … I use relay 4 ch 5V with Nodemcu
what’s wrong?
Thank you
My Code
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <DHT.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "PULPSTONE";
char pass[] = "internet";
bool pirEnabled = false;
BLYNK_WRITE(V1){
int control4DigitalPins = param.asInt();
if(control4DigitalPins == 1){
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D7, HIGH);
}
else{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D7, LOW);
}
}
}
BLYNK_WRITE(V3){ // button in switch mode
if(param.asInt()){
pirEnabled = true;
}
else{
pirEnabled = false;
}
}
#define DHTPIN 2 // What digital pin we're connected to
#define ledPower 16
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
int h = dht.readHumidity();
int t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
int p=digitalRead(14);
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
if((p==HIGH) && (pirEnabled == true)){
Blynk.notify("Gerakan terdeteksi");
}
}
void setup()
{
pinMode (ledPower,OUTPUT);
digitalWrite (ledPower, HIGH);
pinMode(14,INPUT);
Serial.begin(9600); // See the connection status in Serial Monitor
Blynk.begin(auth, ssid, pass);
dht.begin();
// Setup a function to be called every second
timer.setInterval(10000L, sendWifi);
timer.setInterval(1000L, sendSensor);
}
void sendWifi()
{
Blynk.virtualWrite(V2, map(WiFi.RSSI(), -105, -40, 0, 100) );
}
void loop()
{
Blynk.run(); // Initiates Blynk
timer.run(); // Initiates SimpleTimer
}