Translate

Monitor Suhu dan Kelembaban DHT11 dan Kendali Lampu via Blynk 2.0

Monitor Suhu dan Kelembaban DHT11 dan Kendali Lampu via Blynk 2.0 


       Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor suhu dan kelembaban secara online via Blynk 2.0 dan juga bisa kendali lampu secara online juga, jadi alat ini menggunakan sensor suhu DHt11 dan relay modul sebagain on off lampunya. untuk lebih jelasnya berikut adalah koding dan skemaya.


1. Skema
sumber gambar: https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/
sumber gambar: https://www.waveshare.com/temperature-humidity-sensor.htm 



2. Program Arduino IDE

#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL64nitwxxx"
#define BLYNK_TEMPLATE_NAME "suhu humy"
#define BLYNK_AUTH_TOKEN "xUHsu0yUSztbOyf6p4vL9wkvg7BqRxxx"

#include <SPI.h>
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <LiquidCrystal_I2C.h> 
#include "DHT.h"

#define DHTPIN D7     // what digital pin we're connected to
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);

int relay1 = D3;
int relay2 = D6;

int t, h;
int pinValue1, pinValue2;

BlynkTimer timer;

char ssid[] = "hotspothpku";
char pass[] = "1234567890";


BLYNK_WRITE(V2)
{
  pinValue1 = param.asInt();   

  if(pinValue1 == 1){
    digitalWrite(relay1, LOW);
  }
  
  if(pinValue1 == 0) {
    digitalWrite(relay1, HIGH);
  }
  
}

BLYNK_WRITE(V3)
{
  pinValue2 = param.asInt();   

  if(pinValue2 == 1){
    digitalWrite(relay2, LOW);
  }
  
  if(pinValue2 == 0) {
    digitalWrite(relay2, HIGH);
  }
  
}

void kirimdata()
{
  Blynk.virtualWrite(V0,t);
  Blynk.virtualWrite(V1,h);
}


void setup()
{
 Serial.begin(9600);
 dht.begin();
 lcd.begin();
 lcd.clear();
 lcd.noCursor();
 pinMode(relay1,OUTPUT);
 pinMode(relay2,OUTPUT);
 digitalWrite(relay1,HIGH);
 digitalWrite(relay2,HIGH);

 Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
 timer.setInterval(1000L, kirimdata); 
}

void loop()
{
 
 h = dht.readHumidity();
 t = dht.readTemperature();
 
  lcd.setCursor(0,0);
  lcd.print("Suhu= ");
  lcd.print(t);
  lcd.print(" C      ");
 
  lcd.setCursor(0,1);
  lcd.print("Humy= ");
  lcd.print(h);
  lcd.print(" %      ");
  
  Blynk.run();
  timer.run(); // Initiates BlynkTimer
   
delay(100);

}


3. VIDEO HASILNYA



No comments:

Post a Comment