Source Code For Blynk IOT
Source Code For Blynk IOT
System
Language:Python
/* Connections
Relay. D3
Btn. D7
Soil. A0
PIR. D5
SDA. D2
SCL. D1
Temp. D4
*/
#include <LiquidCrystal_I2C.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
BlynkTimer timer;
int PIR_ToggleValue;
void checkPhysicalButton();
double T, P;
char status;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.backlight();
pinMode(PIR, INPUT);
pinMode(RELAY_PIN_1, OUTPUT);
digitalWrite(RELAY_PIN_1, LOW);
pinMode(PUSH_BUTTON_1, INPUT_PULLUP);
digitalWrite(RELAY_PIN_1, relay1State);
Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
dht.begin();
lcd.setCursor(0, 0);
lcd.setCursor(a, 1);
lcd.print(".");
delay(500);
lcd.clear();
lcd.setCursor(11, 1);
lcd.print("W:OFF");
timer.setInterval(100L, soilMoistureSensor);
timer.setInterval(100L, DHT11sensor);
timer.setInterval(500L, checkPhysicalButton);
void DHT11sensor() {
float t = dht.readTemperature();
if ( isnan(t)) {
return;
}
Blynk.virtualWrite(V0, t);
lcd.setCursor(0, 0);
lcd.print("T:");
lcd.print(t);
void soilMoistureSensor() {
Blynk.virtualWrite(V3, value);
lcd.setCursor(0, 1);
lcd.print("S:");
lcd.print(value);
lcd.print(" ");
void PIRsensor() {
if (value) {
LED.on();
} else {
WidgetLED LED(V5);
LED.off();
BLYNK_WRITE(V6)
PIR_ToggleValue = param.asInt();
BLYNK_CONNECTED() {
Blynk.syncVirtual(VPIN_BUTTON_1);
BLYNK_WRITE(VPIN_BUTTON_1) {
relay1State = param.asInt();
digitalWrite(RELAY_PIN_1, relay1State);
void checkPhysicalButton()
if (digitalRead(PUSH_BUTTON_1) == LOW) {
if (pushButton1State != LOW) {
digitalWrite(RELAY_PIN_1, relay1State);
Blynk.virtualWrite(VPIN_BUTTON_1, relay1State);
pushButton1State = LOW;
} else {
pushButton1State = HIGH;
void loop() {
if (PIR_ToggleValue == 1)
lcd.setCursor(5, 1);
lcd.print("M:ON ");
PIRsensor();
else
lcd.setCursor(5, 1);
lcd.print("M:OFF");
WidgetLED LED(V5);
LED.off();
if (relay1State == HIGH)
lcd.setCursor(11, 1);
lcd.print("W:ON ");
lcd.setCursor(11, 1);
lcd.print("W:OFF");