0% found this document useful (0 votes)
7 views8 pages

IoT LED Control & DHT Sensor Display

tugass monitoring

Uploaded by

Tamara Maharani
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views8 pages

IoT LED Control & DHT Sensor Display

tugass monitoring

Uploaded by

Tamara Maharani
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Mengatur LED dan menampilkan status LED, Menampilkan nilai

suhu dan Kelembaban pada panel MQTT


[Link]
[Link]

#include <WiFi.h>
#include <MQTT.h>
#include "DHT.h"
const char ssid[] = "Wokwi-GUEST";
const char pass[] = "";
WiFiClient net;
MQTTClient client;
#define DHT22Pin 5
#define ledRed 27
#define ledBlue 26

DHT dht(DHT22Pin, DHT22);


const int trigPin = 23;
const int echoPin = 22;
long duration;
int distance;
unsigned long lastMillis = 0;

void connect(){
// Menghubungkan ke WiFi
[Link]("Cek WiFi");
while([Link]() != WL_CONNECTED){
[Link](".");
delay(1000);
}
[Link]("");
[Link]("Sukses Terhubung ke WiFi");
}

void subscribeData(String &topic, String &data){


[Link]("Topic: ");
[Link](topic);
[Link]("Data: ");
[Link](data);

if(topic == "rumah/iot/led1"){
digitalWrite(ledRed, [Link]()); //control led 1
if([Link]()==1){
[Link]("rumah/iot/statusled1",String("ON"), true, 1);
}else{
[Link]("rumah/iot/statusled1",String("OFF"), true, 1);
}
}
else if(topic == "rumah/iot/led2"){
digitalWrite(ledBlue, [Link]()); //control led 2
if([Link]()==1){
[Link]("rumah/iot/statusled2",String("ON"), true, 1);
}else{
[Link]("rumah/iot/statusled2",String("OFF"), true, 1);
}
}
else if(topic == "rumah/iot/all LED ON"){
digitalWrite(ledBlue, HIGH);
digitalWrite(ledRed, HIGH);
[Link]("rumah/iot/statusled1",String("ON"), true, 1);
[Link]("rumah/iot/statusled2",String("ON"), true, 1);
}
else if(topic == "rumah/iot/all LED OFF"){
digitalWrite(ledBlue, LOW);
digitalWrite(ledRed, LOW);
[Link]("rumah/iot/statusled1",String("OFF"), true, 1);
[Link]("rumah/iot/statusled2",String("OFF"), true, 1);
}
}

void publish(){
float hum = [Link]();
float temp = [Link]();
[Link]("Temperature : ");
[Link](temp);
[Link](" C ");
[Link]("Humidity : ");
[Link](hum);
[Link](" % ");
ultrasonic();
[Link]("rumah/iot/dht/temp", String(temp), true, 1); //
[Link]("rumah/iot/dht/humi", String(hum), true, 1); // publish
variabel humidity ke topic rumah/iot/humi dengan QoS 1
[Link]("rumah/iot/level/cm", String(distance), true, 1);
}

void ultrasonic() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
[Link]("Distance: ");
[Link](distance);
if (distance>=0 && distance <51){
[Link]("rumah/iot/level/rendah",String("ON"), true, 1);
[Link]("rumah/iot/level/sedang",String("OFF"), true, 1);
[Link]("rumah/iot/level/tinggi",String("OFF"), true, 1);
} else if (distance >51 && distance<101){
[Link]("rumah/iot/level/rendah",String("OFF"), true, 1);
[Link]("rumah/iot/level/sedang",String("ON"), true, 1);
[Link]("rumah/iot/level/tinggi",String("OFF"), true, 1);
} else{
[Link]("rumah/iot/level/rendah",String("OFF"), true, 1);
[Link]("rumah/iot/level/sedang",String("OFF"), true, 1);
[Link]("rumah/iot/level/tinggi",String("ON"), true, 1);
}
}

void setup() {
pinMode(ledRed,OUTPUT);
pinMode(ledBlue,OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
[Link]();
[Link](9600);
[Link](ssid, pass);
connect();
broconnect();
}

void broconnect(){
[Link]("[Link]",net);
[Link](subscribeData);
[Link]("Cek Broker");
while(![Link]("")){ // Client ID boleh dikosongkan
[Link](".");
delay(1000);
}
[Link]("");
[Link]("Sukses Terhubung ke Server");
[Link]("rumah/iot/#", 1);
}

void loop() {
[Link]();
broconnect();//connect ulang ke broker
// publish a message roughly every second.
if (millis() - lastMillis > 1000) {
lastMillis = millis();
publish();
}
delay(10);
}
1. Install dan Buka MQTT Panel dari Playsotre

2. Tambahkan koneksi
[Link] Koneksi dengan nama smarthome [Link] panel Switch untuk mengatur
dengan Client ID sembarangan dan LED 1 dan LED 2
simpan

[Link] Panel Button untuk [Link] Panel LED INDICATOR


mengatur ALL LED ON dan ALL LED OFF sebagai kondisi LED 1 dan LED 2
[Link] Panel Gauge untuk [Link] Panel Progres untuk
Temperatur Kelembaban dengan type Vertical

[Link] Panel Line Graph untuk


Grafik Suhu dan Kelembaban

9. Koneksikan dengan mengclick tanda awan di atas

You might also like