Coding
Coding
LAMPIRAN
LAMPIRAN 1. Coding Keseluruhan
#include <NewPing.h>
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <LiquidCrystal_I2C.h>
#define triggerPin D6
#define echoPin D5
#define MAX_DISTANCE 300
SimpleTimer timer;
WidgetLCD lcd(V1); //lcd android
void sendSensor()
{ //lcd to android && LCD to board lcd
int POT = analogRead(A0);
Serial.print(POT);
34
lcd.print(0,0,"KEADAAN");
LCD.setCursor(0,0);LCD.print("KLMB");LCD.setCursor(5,0);LCD.print(POT);
LCD.print(" ");
lcd.print(0,1,"PUMP"); LCD.setCursor(0,1);LCD.print("PUMP");
Blynk.virtualWrite(V0, POT);
if (POT>500){
Serial.println("KERING");//ke serial monitor
lcd.print(8,0,"KERING"); LCD.setCursor(9,0);LCD.print("KERING");
lcd.print(5,1,"ON "); LCD.setCursor(5,1);LCD.print("ON ");
digitalWrite(pump,LOW);
for(int x=0; x<=10; x++){ LCD.setCursor(9,1);LCD.print(x);
lcd.print(9,1,x);delay(500);}
lcd.clear(); LCD.clear();
digitalWrite(pump,HIGH);
lcd.print(0,0,"AIR MERESAP"); LCD.setCursor(0,0);LCD.print("AIR
MERESAP");
lcd.print(0,1," WAIT"); LCD.setCursor(0,1);LCD.print(" WAIT");
for(int x=9; x>0; x--){ LCD.setCursor(9,1);LCD.print(x);
lcd.print(9,1,x);delay(500);}
lcd.clear(); LCD.clear();
}
else if (POT>400&&POT<500){
Serial.println("NORMAL");
lcd.print(8,0,"NORMAL"); LCD.setCursor(9,0);LCD.print("NORMAL");
lcd.print(5,1,"OFF"); LCD.setCursor(5,1);LCD.print("OFF");
digitalWrite(pump,HIGH);
}
else if (POT<400){
Serial.println("BASAH");
lcd.print(8,0,"BASAH "); LCD.setCursor(9,0);LCD.print("BASAH ");
35
lcd.print(5,1,"OFF"); LCD.setCursor(5,1);LCD.print("OFF");
digitalWrite(pump ,HIGH);
}
}
void setup()
{
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
pinMode(pump, OUTPUT);
lcd.clear();
LCD.init();
LCD.backlight();
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
}
void loop()
{
{
Blynk.run();
timer.run();
delay(100);
}
WidgetLCD lcd(V2); //lcd android
{
long duration, distance;
digitalWrite(triggerPin, LOW);
36
lcd.print(5,1,"OFF"); LCD.setCursor(5,1);LCD.print("OFF");
digitalWrite(pump ,HIGH);
}
}
void setup()
{
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
pinMode(pump, OUTPUT);
lcd.clear();
LCD.init();
LCD.backlight();
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
}
void loop()
{
{
Blynk.run();
timer.run();
delay(100);
}
WidgetLCD lcd(V2); //lcd android
{
long duration, distance;
digitalWrite(triggerPin, LOW);
37
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1 ;