Job 5 Antarmuka DHT11 Dengan ESP8266 NodeMCU Sebagai Web Server
Job 5 Antarmuka DHT11 Dengan ESP8266 NodeMCU Sebagai Web Server
sebagai Web-server
A. Capaian Pembelajaran
1. Mahasiswa mampu menjadikan Modul ESP8266 pembaca Sensor Suhu DHT11
2. Mahasiswa mampu menampilkan data suhu melalui Webserver menggunakan board ESP8266
C. Dasar Teori
C.1 Cara kerja Sensor DHT11
Sensor DHT11 merupakan serangkaian komponen senor dan IC kontroller yang dikemas dalam satu
paket. Sensor ini ada yang memiliki 4 pin ada pula yang 3 pin. Tapi tidak menjadi masalah karena dalam
penerapannya tiak ada perbedaan. Didalam bodi sensor yang berwarna biru atau putih terdapat sebuah
Resistor dengan tipe NTC (Negative Temperature Coefficient).
Resistor jenis ini memiliki karakteristik dimana nilai resistansinya berbanding terbalik dengan kenaikan
suhu. Artinya, semakin tinggi suhu ruangan maka nilai resistansi NTC akan semakin kecil. Sebaliknya
nilai resistansi akan meningkat ketika suhu disekitar sensor menurun.
Selain itu didalamnya terdapat sebuah sensor kelembapan dengan karkteristik resistif terhadp perubahan
kadar air di udara. Data dari kedua sensor ini diolah didalam IC kontroller. IC kontroller ini akan
mengeluarkan output data dalam bentuk single wire bi-directional.
Adapun versi upgrade (peningkatan) dari sensor DHT11 adalah sensor DHT22. Tidak ada perbedaan
pada susunan pin, hanya saja akurasi dari DHT22 lebih tinggi dari DHT11, yakni sevbesar 0.5 °C
untuk temperature dan 2.5% untuk kelembapan.
2
D. Langkah Percobaan
D.1 Membaca sensor DHT-11
1. Install library sensor DHT dengan meng-klik tools>manage libraries dan ketik “dht” (tanpa
koma atas) pada kolom search seperti Gambar 5.2. Kemudian klik tombol install
3
3. Jalankan arduino IDE
4. Koneksikan NodeMCU dengan PC menggunakan kabel USB
5. Pastikan setting board dan com sesuai
6. Buat sketch program sebagai berikut :
#include <DHT.h>
// DHT Sensor
uint8_t DHTPin = D7;
void setup(){
Serial.begin(115200);
dht.begin();
}
void loop(){
float kelembaban = dht.readHumidity();
float suhu = dht.readTemperature();
Serial.print("kelembaban: ");
Serial.print(kelembaban);
Serial.print(" ");
Serial.print("suhu: ");
Serial.println(suhu);
}
4
Gambar 5.4 Tampilan Serial Monitor
Tugas D.1:
Modifikasi program anda agar mampu mengendalikan nyala Lampu LED Built-in
berdasar kondisi suhu dengan ketentuan:
- LED menyala jika suhu antara 32 – 37 C
- LED mati jika suhu <32 C atau > 37 C
// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
ESP8266WebServer server(80);
// DHT Sensor
5
uint8_t DHTPin = D7;
float Temperature;
float Humidity;
void setup() {
Serial.begin(115200);
delay(100);
pinMode(DHTPin, INPUT);
dht.begin();
Serial.println("Connecting to ");
Serial.println(ssid);
server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
void handle_OnConnect() {
6
Humidity = dht.readHumidity(); // Gets the values of the humidity
server.send(200, "text/html", SendHTML(Temperature,Humidity));
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}
ptr +="</div>\n";
ptr +="</body>\n";
ptr +="</html>\n";
return ptr;
}
7
Gambar 5.5 Tampilan Serial Monitor
8
Tugas D.2:
SELAMAT MENGERJAKAN