Monitor Suhu Kelembaban dan Soil Moisture IOT Blynk 2.0
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana membuat sebuah alat yang dapat memonitor suhu kelembaban dengan menggunakan sensor DHT22 dan kelembaban tanah soil moisture dengan IOT Blynk 2.0. alat ini menggunakan ESP8266 sebagai mikrokontrollernya. untuk lebih jelasnya berikut adalah koding dan komponenya.
1. Komponen
2. Program Arduino IDE
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6wOC--xxx"
#define BLYNK_TEMPLATE_NAME "monitor daya"
#define BLYNK_AUTH_TOKEN "VOK0cWiFN5ycHj3SV_snEDXTfTfeixxx"
#include <SPI.h>
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN D3 // what digital pin we're connected to
#define DHTTYPE DHT22 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
int relay1 = D5;
int relay2 = D6;
int buzzer = D0;
int t, h;
int pinValue1, pinValue2;
int soil;
int soilx;
BlynkTimer timer;
char ssid[] = "hotspothpku";
char pass[] = "123456789";
BLYNK_WRITE(V3)
{
pinValue1 = param.asInt();
if(pinValue1 == 1){
digitalWrite(relay1, LOW);
}
if(pinValue1 == 0) {
digitalWrite(relay1, HIGH);
}
}
BLYNK_WRITE(V4)
{
pinValue2 = param.asInt();
if(pinValue2 == 1){
digitalWrite(relay2, LOW);
}
if(pinValue2 == 0) {
digitalWrite(relay2, HIGH);
}
}
void kirimdata()
{
Blynk.virtualWrite(V0,soilx);
Blynk.virtualWrite(V1,t);
Blynk.virtualWrite(V2,h);
}
void setup()
{
Serial.begin(9600);
dht.begin();
lcd.begin();
lcd.clear();
lcd.noCursor();
pinMode(buzzer,OUTPUT);
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
digitalWrite(buzzer,LOW);
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();
soil = analogRead(A0);
soilx = map(soil, 1024, 0, 0, 100);
lcd.setCursor(0,0);
lcd.print("T/H= ");
lcd.print(t);
lcd.print(" / ");
lcd.print(h);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("S= ");
lcd.print(soilx);
lcd.print(" % ");
if(soilx > 20){
digitalWrite(buzzer,HIGH);
}
if(soilx <= 20){
digitalWrite(buzzer,LOW);
}
Blynk.run();
timer.run(); // Initiates BlynkTimer
delay(100);
}
3. VIDEO HASILNYA
No comments:
Post a Comment