Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Lampiran

LISTING PROGRAM

#include <CayenneMQTTESP8266.h>

#include <HCSR04.h>

HCSR04 hc(14,12);

int TRIGGER = D5;

int ECHO = D6;

int ledH = 13; //pin D7

int ledM = 15; //pin D8

int ledOn = 16; //pin D0

float v, p, r, l, f, g;

long duration, h1, cm;

char ssid[] = "Coba";

// Your WIFI Name

char wifiPassword[] = "iin12345678";

// Your WIFI password

char username[] = "b48dd4f0-3a41-11e9-8f2a-a7100372a66b";

// Your MQTT cayenne username

char Password[] = "a6fea1da04011f5155c4529639bd762247f2667e";

// Your MQTT cayenne Password

char clientID[] = "b3e75c80-9c7d-11e9-b4eb-6bf2c2412b24";

void setup() {

pinMode (ledH, OUTPUT);

pinMode (ledM, OUTPUT);


pinMode (ledOn, OUTPUT);

pinMode (TRIGGER,OUTPUT);

pinMode (ECHO, INPUT);

Cayenne.begin(username, Password, clientID, ssid,

wifiPassword);

Serial.begin(9600);

void loop() {

digitalWrite(ledOn, HIGH);

digitalWrite(TRIGGER, LOW); delayMicroseconds(8);

digitalWrite(TRIGGER, HIGH); delayMicroseconds(8);

digitalWrite(TRIGGER, LOW); delayMicroseconds(8);

duration = pulseIn(ECHO, HIGH);

cm = (duration/2)*0.03448;

h1 = 9-cm;

r = 4.5;

p = 3.141592654;

l = 20;

g = (h1-4.5)/4.5;

f = (4.5-h1)/4.5;

if (h1>=4.5){

v = ((p*r*r-((p*r*r*(acos(g)*180/p)/180)-((h1-r)*(sqrt(r*r-

((h1-r)*(h1-r)))))))*l)/1000;

else {

v = (((p*r*r*(acos(f)*180/p)/180)-((r-h1)*(sqrt(r*r-((h1-

r)*(h1-r))))))*l)/1000;
}

Cayenne.virtualWrite(1,h1,"analog_sensor","null"); delay(1000);

Cayenne.virtualWrite(2,v,"analog_sensor","null"); delay(1000);

Serial.print(h1);

Serial.println(" cm" );

Serial.print(v);

Serial.println(" ltr" );

Cayenne.loop();

if (h1 >= 4.5 && 1 <= 9 ) {

digitalWrite(ledM, HIGH);

digitalWrite(ledH, LOW);}

if (h1 >= 1 && h1 <= 4.4) {

digitalWrite(ledH, HIGH);

digitalWrite(ledM, LOW);}

You might also like