//pembuat Program:M.ikbar
//apabila jarak kurang dari 25 cm maka lampu 1 menyala selama 2 detik setelah itu mati.
//jika jarak lebih dari 20 cm maka lampu 2 menyala selama 8 detik setelah itu padam,
//dan apabila push button bernilai 1 lampu 3 menyala selama 9 detik setelah itu mati.
#define BLYNK_TEMPLATE_ID "TMPLWZ_dBky1"
#define BLYNK_DEVICE_NAME "Responsi IOT"
#define BLYNK_AUTH_TOKEN "cu3f8GTajkPhvkJeoWwjlZDuafDaQ5RI"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Bastian";
char pass[] = "Fisabilillah";
#define led 8
#define led 7
#define led 6
#define ECHO_PIN 3
#define TRIG_PIN 4
long duration, distance;
BLYNK_WRITE(V0)
{
int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
if (pinValue == 8)
{
digitalWrite(8, HIGH);
}
else {
digitalWrite(8, LOW);
}
// process received value
}
BLYNK_WRITE(V1)
{
int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
if (pinValue == 7)
{
digitalWrite(7, HIGH);
}
else {
digitalWrite(7, LOW);
}
// process received value
}
BLYNK_WRITE(V2)
{
int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
if (pinValue == 6)
{
digitalWrite(6, HIGH);
}
else {
digitalWrite(6, LOW);
}
}
// process received value
void setup() {
Serial.begin(9600);
Blynk.begin(auth,ssid,pass,IPAddress(103,56,206,108),8080);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(led, OUTPUT);
}
float jarak_cm(){
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(5, LOW);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return (duration * 0.034 / 2);
}
void loop() {
float cm = jarak_cm();
cm = jarak_cm();
if ( cm <= 25 ) {
digitalWrite(8, HIGH);
delay(5000);
digitalWrite(8, LOW);
}
if ( cm > 20) {
digitalWrite(7, HIGH);
delay(7000);
digitalWrite(7, LOW);
}
Serial.print("jarak: ");
Serial.print("cm");
delay(1000);
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration * 0.034 / 2);
if(distance <= 27.3){
digitalWrite(led, HIGH);
delay(3000);
digitalWrite(led, LOW);
}
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(5);
Blynk.run ();
}