Anda di halaman 1dari 6

Nama : Muhammad Aidil FA NPM : 062030701650

Kelas : 5 CC Mata Kuliah : P. Internet of Thing

Dosen : Faris Humam, M.Kom. Tanggal : 14-10-2022

TUGAS 4

1. Buatlah rangkaian dan program untuk mengukur suhu menggunakan sensor DHT 11/22 dan
ditampilkan melalui LCD, dengan kondisi suhu akan terbaca “normal” jika berada di
rentang 20 – 32o C, suhu “dingin” jika dibawah 20 o C, dan suhu panas jika diatas 32 o C !
2. Analisislah masing – masing komponen yang terhubung dan program yang dibuat pada
rangkaian dan berikan kesimpulan !
3. Kumpulkan dalam format PDF berisi gambar dan link simulasi wokwi beserta analisis nya.

HASIL

1. Link simulasi Wokwi


https://wokwi.com/projects/3454778101800638265

2. Rangkaian dan program


• Suhu dingin atau suhu dibawah 20°C.
Berikut simulasi dengan suhu -6.00°C
• Suhu normal atau suhu diantara 20 – 32 °C
Berikut simulasi dengan suhu 25.0°C

• Suhu panas atau suhu diatas 32°C


Berikut simulasi dengan suhu 40.50
3. Analisis komponen dan program
KOMPONEN

• Sensor Suhu dan Kelembaban DHT11


Ini terdiri dari sensor kelembaban kapasitif dan termistor. Ada juga chip di DHT11 yang
dapat melakukan konversi analog-ke-digital dan mengeluarkan sinyal digital yang
berhubungan dengan suhu dan kelembaban. Sinyal digital ini dapat dengan mudah
dibaca dengan mikrokontroler apa pun
• ESP32
Sensor suhu dan kelembaban DHT11 dihubungkan langsung ke ESP32 ke pin 15.

• LCD
Mampu mengeluarkan output yang di proses kontroler dari input sensor suhu.

PROGRAM

#include "DHTesp.h" Untuk menambahkan library DHTesp.h untuk


#include <LiquidCrystal_I2C.h> suhu dan LiquidCrystal_I2C.h untuk I2C LCD.
const int DHT_PIN = 15; → deklarasi konstanta integer DHT_PIN bernilai 15. Digunakan
untuk pin 15 pada ESP32.
int lcdColumns = 16; → deklarasi integer lcdColumns bernilai 16
int lcdRows = 2; → deklarasi integer lcdRows bernilai 2
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
→ 0 × 27 untuk mengatur alamat LCD, lcdColumns untuk tampilan 16 karakter,
lcdRows untuk tampilan 2 baris
DHTesp dhtSensor; → untuk mengukur suhu dan kelembaban udara disekitarnya
void setup() { → Untuk mendeklarasikan variable (int, char, long dsb), mode pin yang
digunakan (INPUT atau OUTPUT), memulai menggunakan libraries.
Serial.begin(115200); → Untuk mengirim data ke port serial
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
lcd.init(); → Untuk inisiasi LCD
lcd.backlight(); → Untuk menyalakan lampu latar LCD
}
void loop() { → Untuk mengeksekusi perintah dari program yang dibuat secara berulang dan
berjalan terus menerus selama board arduino aktif (program berjalan).
TempAndHumidity data = dhtSensor.getTempAndHumidity();
→ Untuk mengubah data TempAndHumidity dengan fungsi dhtSensor
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
→ menampilkan output “Temp: ” pada baris pertama di serial
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
→ menampilkan output “Humadity: ” pada baris pertama di serial
Serial.println("---");→ menampilkan output “--- ” diserial.
delay(1000); → menunggu jeda waktunya 1000 milidetik
lcd.setCursor(0, 0); → untuk mengatur kursor ke kolom pertama, baris pertama
lcd.print("Temp: " + String(data.temperature, 2) + " C");
→ menampilkan output “Temp: ” pada baris pertama.
delay(1000); → menunggu jeda waktunya 1000 milidetik
lcd.clear(); → mengosongkan tampilan untuk menampilkan pesan baru
lcd.setCursor(0,1); → untuk mengatur kursor ke kolom pertama, baris ke-dua
lcd.print("Humidity: " + String(data.humidity, 1));
→ menampilkan output “Humadity: ” pada baris pertama di lcd.
delay(1000); → menunggu jeda waktunya 1000 milidetik
lcd.clear(); → mengosongkan tampilan untuk menampilkan pesan baru
if (data.temperature < 20){ → kondisi jika data.temperature lebih besar dari 20.

lcd.print("Suhu : ");→ menampilkan output “Suhu” pada baris pertama di LCD


lcd.setCursor(0,1); → untuk mengatur kursor ke kolom pertama, baris ke-dua
lcd.println("Dingin");→ menampilkan output “Dingin” pada baris ke dua di LCD
delay(1000); menunggu jeda waktunya 1000 milidetik
lcd.clear();→ mengosongkan tampilan untuk menampilkan pesan baru
}
else if (data.temperature > 32){ → kondisi jika data.temperature lebih besar dari 32.
lcd.print("Suhu : ");→ menampilkan output “Suhu” pada baris pertama di LCD
lcd.setCursor(0,1); → untuk mengatur kursor ke kolom pertama, baris ke-dua
lcd.println("Panas");→ menampilkan output “Panas” pada baris ke dua di LCD
delay(1000);→ menunggu jeda waktunya 1000 milidetik
lcd.clear();→ mengosongkan tampilan untuk menampilkan pesan baru
}
else if (data.temperature > 20 < 32){ → kondisi jika data.temperature diantara 20
lebih kecil dari 32.
lcd.print("Suhu : ");→ menampilkan output “Suhu” pada baris pertama di LCD
lcd.setCursor(0,1); → untuk mengatur kursor ke kolom pertama, baris ke-dua
lcd.println("Normal");→ menampilkan output “Normal” pada baris ke dua di LCD
delay(1000); menunggu jeda waktunya 1000 milidetik
lcd.clear();→ mengosongkan tampilan untuk menampilkan pesan baru
}
delay(1000); → menunggu jeda waktunya 1000 milidetik
}
4. Kesimpulan
Sensor suhu dan kelembaban dht11 memiliki kinerja, daya tahan dan akurasi untuk
mengukur suhu dan kelembaban. Sensor ini digunakan untuk mengukur suhu Celcius dan
persen kelembaban. Lcd sebagai output pada rangkaian dapat digunakan untuk
menampilkan hasil proses ESP32, mudah diimplementasikan.

Anda mungkin juga menyukai