MODUL 1
PEMROGRAMAN DASAR ESP8266
1
CV SPEKTRUM TEKNOLOGI
PEMROGRAMAN DASAR PADA ESP8266
LED Blink dan Sensor DHT11
A. Tujuan Pembelajaran
1. Peserta didik dapat memahami pemrograman dasar pada ESP8266.
2. Peserta didik dapat memahami cara kerja ESP8266 sebagai perangkat dalam
ekosistem Internet of Things (IoT).
3. Peserta didik dapat mengontrol LED Internal (built-in LED) ESP8266 sebagai
langkah awal dalam pemrograman dasar pada ESP8266.
4. Peserta didik dapat menggunakan Sensor DHT11 dengan ESP8266 sebagai
sensor suhu dan kelembapan yang dapat dimonitoring.
B. Dasar Teori
1. ESP8266
a. Pengertian
(a) (b)
Gambar 1.1 : (a) WeMos D1 Mini-ESP8266 dan (b) NodeMCU-ESP8266
NodeMCU bisa menjadi pilihan bagi anda yang suka praktis dan simpel.
NodeMCU bisa dikatakan Mikrokontroler yang sudah ditanami chip ESP8266
sehingga anda tidak perlu lagi membeli board mikrokontroler. Sementara WeMos
hampir mirip dengan NodeMCU yang merupakan module development board yang
berbasis WiFi dari keluarga ESP8266. Salah satu kelebihan WeMos dibandingkan
dengan module development board berbasis ESP8266 lainnya adalah terdapatnya
module shield sehingga cocok sebagai pendukung hardware plug and play. Dalam
pembahasan kali ini, ESP8266 yang digunakan berjenis WeMos D1 Mini, namun
jika tidak ada Anda dapat menggunakan jenis NodeMCU, atau jenis lainnya.
2
CV SPEKTRUM TEKNOLOGI
b. Index Board ESP8266
Berikut ditampilkan index board dari ESP8266 (ESP8266 chip pin-out). Dalam
pembahasan kali ini, ESP8266 yang digunakan berjenis WeMos D1 Mini, namun
jika tidak ada Anda dapat menggunakan jenis NodeMCU, atau jenis lainnya.
• ESP8266 12-E Chip PIN OUT
3
CV SPEKTRUM TEKNOLOGI
• WeMos D1 Mini ESP8266 Chip PIN OUT
Berikut ditampilkan Index GPIO ESP8266. Index GPIO ini dapat digunakan
sebagai referensi untuk identifikasi pin pada Modul WeMos D1 Mini, berlaku juga
untuk jenis NodeMCU, atau jenis ESP8266 lainnya.
4
CV SPEKTRUM TEKNOLOGI
d. Spesifikasi WeMos ESP8266 D1 Mini
Salah satu kelebihan dari WeMos D1 mini ini dibandingkan dengan module
development board berbasis ESP8266 lainnya yaitu adanya sejumlah “Module
Shield” untuk pendukung hardware secara plug and play.
Modul shield development tersebut meliputi: OLED Shield, Motor Shield, DHT
Shield, WS2812B RGB Shield, Battery LiPo Shield, Buzzer Shield, 1-Button Shield,
Relay Shield, ProtoBoard Shield, DC Power Shield, DHT11 Sheild, dan Micro SD
Card Shield.
5
CV SPEKTRUM TEKNOLOGI
2. ARDUINO IDE
a. Pengertian
6
CV SPEKTRUM TEKNOLOGI
2. Library
Library atau pustaka adalah file yang memberikan fungsi ekstra dari sketch yang
dibuat. Didalam arduino sendiri sudah include beberapa library yang berfungsi
untuk melakukan proses tertentu. Selain itu, pengguna juga bisa menambahkan
library eksternal untuk memperkaya library yang ada di dalam Arduino IDE. Untuk
menambahkan library eksternal cukup mudah. Bisa melalui fitur Library Manager,
Import file .zip, atau menyalin secara manual di folder libraries pada directory
arduino.
3. Serial Monitor
Merupakan suatu kotak dialog yang menunjukan proses pertukaran data antara
arduino dan komputer selama beroperasi. Sehingga serial monitor bisa digunakan
untuk menampilkan hasil operasi atau pesan error debugging. Serial monitor juga
digunakan untuk mengirim data dari komputer ke arduini dengan cara menuliskan
pesan pada text box dan menekan tombol Send.
7
CV SPEKTRUM TEKNOLOGI
3. Sensor DHT11
a. Pengertian
Sensor DHT adalah sebuah modul sensor yang dapat mengukur suhu dan
kelembaban udara secara bersamaan. Didalamnya terdapat thermistor tipe NTC
(Negative Temperature Coefficient) untuk mengukur suhu, dan sebuah sensor
kelembapan dengan karkteristik resistif terhadap perubahan kadar air di udara,
serta terdapat chip di dalamnya yang berfungsi untuk melakukan beberapa konversi
analog ke digital dan mengeluarkan output dengan format single-wire bi-directional
(kabel tunggal dua arah). Sehingga dengan hanya 1 kabel untuk output, dapat
digunakan untuk mengirimkan 2 data sekaligus.
(a) (b)
Sensor Suhu & Kelembaban DHT11 ini memiliki sensor yang kompleks dengan
output sinyal digital terkalibrasi. Dengan menggunakan akuisisi sinyal digital
eksklusif, ini memastikan keandalan yang tinggi dengan stabilitas jangka panjang
yang sangat baik.
Sensor ini mencakup pengukuran kelembaban tipe resistif, dan pengukuran suhu
NTC yang terhubung pada mikrokontroler 8-bit berkinerja tinggi, yang menawarkan
kualitas luar biasa, respons cepat, anti-interferensi, handal, dan ekonomis.
8
CV SPEKTRUM TEKNOLOGI
• DHT11 Shield Module
9
CV SPEKTRUM TEKNOLOGI
C. Alokasi Waktu
• 2 JS x 1 Pertemuan
Langkah Percobaan 1
1. Pertama, install Aplikasi Arduino IDE versi 1.8.13 atau diatasnya.
(Jika Anda sudah memiliki aplikasinya, silahkan lewati langkah ini).
Anda dapat menginstall melalui Microsoft Store, ataupun melalui Website
Arduino.
Gambar 1.15
b) Install Aplikasi Arduino IDE, (akan muncul keterangan “This product is
installed” setelah selesai mengunduh) seperti gambar berikut. Untuk
membuka, Anda dapat langsung menekan tombol “Launch”.
10
CV SPEKTRUM TEKNOLOGI
Gambar 1.16
Gambar 1.17
11
CV SPEKTRUM TEKNOLOGI
c) Kemudian Anda akan diarahkan kehalaman berikut, klik “Just Download”.
Gambar 1.18
d) Klik Download. Simpan file tersebut ditempat yang Anda inginkan. (tampilan
mungkin berbeda, sesuai browser dan downloader app yang Anda gunakan).
Gambar 1.19
e) Setelah selesai mengunduh, buka file .zip/.rar tersebut dan klik arduino.exe
dan install seperti biasa.
Gambar 1.20
12
CV SPEKTRUM TEKNOLOGI
2. Langkah berikutnya, buka aplikasi Arduino IDE. Kemudian pergi ke Tab “Tools”
, pilih “Board:”, dan kemudian klik “Boards Manager” seperti gambar berikut:
Gambar 1.21
Gambar 1.22
4. Setelah selesai, kembali ke Tab “Tools”, pilih “Board:”, dan kemudian klik
“ESP8266 Boards (2.7.3)”, pilih sesuai board/modul ESP8266 yang Anda
gunakan.
Dalam hal ini kita menggunakan WeMos D1 Mini, maka pilih “LOLIN(WEMOS)
D1 R2 & mini” seperti gambar 1.23.
13
CV SPEKTRUM TEKNOLOGI
Gambar 1.23
Gambar 1.24
6. Setelah muncul halaman Library Manager, Ketikkan “dht11”, pilih Select version
(pilih versi 1.4.0 atau diatasnya) dan klik Install. Jika sudah, pastikan keterangan
tertulis INSTALLED pada versi 1.4.0 seperti gambar 1.26.
Gambar 1.25
14
CV SPEKTRUM TEKNOLOGI
7. Setelah semuanya siap, selanjutnya kita akan mencoba menyalakan LED dalam
mode berkedip (blink) pada modul WeMos D1 Mini-ESP8266 dengan
mengetikkan sintaks berikut.
Gambar 1.26
(pastikan bahwa semua sintaks tetulis dengan lengkap, perhatikan huruf kecil dan
kapital, titik, dsb. sudah sesuai).
Untuk keterangan dari setiap fungsi program, dapat Anda perhatikan gambar 1.27.
Gambar 1.27
15
CV SPEKTRUM TEKNOLOGI
Gambar 1.30
10. Selanjutnya kembali ke Tab “Tools”, pilih “Port:”, dan pilih Port “COM” USB
sesuai dengan yang tercantum pada Device Manager. Pastikan bahwa pada
bagian “Board” sudah terpilih “LOLIN(WEMOS) D1 R2 & mini” .
16
CV SPEKTRUM TEKNOLOGI
Gambar 1.31
11. Setelah itu, klik tombol Upload untuk mengirim program yang sudah ada ke Board
WeMos D1 Mini-ESP8266 seperti gambar 1.32 berikut.
Gambar 1.32
Gambar 1.33
13. Jika sudah terupload, akan muncul keterangan “Done Uploading” seperti gambar
1.34 berikut.
Gambar 1.34
17
CV SPEKTRUM TEKNOLOGI
14. Periksa kembali board WeMos D1 Mini-ESP8266 pada Trainer, apakah lampu
LED pada board berkedip?
15. Tulis hasil percobaan pertama Anda pada kolom Hasil Percobaan.
Langkah Percobaan 2
Gambar 1.35
3. Selanjutnya pastikan bahwa library DHT11 sudah terpasang, jika sudah ketikkan
sintaks pada gambar 1.35 di aplikasi Arduino IDE.
18
CV SPEKTRUM TEKNOLOGI
Gambar 1.35
(pastikan bahwa semua sintaks tetulis dengan lengkap, perhatikan huruf kecil
dan kapital, titik, dsb. sudah sesuai).
Untuk keterangan dari setiap fungsi program, dapat Anda perhatikan pada Gambar 1.36.
19
CV SPEKTRUM TEKNOLOGI
Gambar 1.36
4. Selanjutnya hubungkan board WeMos D1 Mini-ESP8266 dengan PC seperti
pada Percobaan 1 langkah 8. Setelah itu, klik tombol Upload untuk mengirim
program yang sudah ada ke Board ESP8266.
5. Terakhir, buka kembali Serial Monitor, dan amati apakah DHT11 sudah bekerja
dengan baik seperti gambar 1.37.
(jika tidak ada data yang ditampilkan, cobalah menekan tombol Reset pada Board
ESP).
Gambar 1.37
20
CV SPEKTRUM TEKNOLOGI
G. Hasil Percobaan
a) Hasil Percobaan LED Blink
H. Kesimpulan
………………………………………………………………………………..…………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………..………………
……………………………………..………………………….………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………………
21
CV SPEKTRUM TEKNOLOGI
I. Tes Formatif
1. Jelaskan menurut pemahaman Anda tentang pengertian dan fungsi Modul ESP8266.
Jawab:
2. Jelaskan perbedaan mendasar antara Modul ESP8266 tipe NodeMCU dan WEMOS
D1 berdasarkan fungsi dan kegunaannya.
Jawab:
Jelaskan fungsi dan alur kerja sintaks dalam void loop di atas.
Jawab:
22
CV SPEKTRUM TEKNOLOGI
4. Perhatikan sintaks berikut.
Jelaskan fungsi dan alasan mengapa angka “2” digunakan pada sintaks di atas.
Jawab:
Jelaskan fungsi dan alur kerja sintaks dalam void loop di atas.
Jawab:
23
CV SPEKTRUM TEKNOLOGI
J. Kunci Jawaban - Tes Formatif Modul 1
Jelaskan fungsi dan alur kerja sintaks dalam void loop di atas.
Jawab:
Fungsi sintaks dalam void loop di atas adalah untuk menyalakan dan mematikan Built-
in LED yang terdapat dalam board ESP8266. Pada program diatas, mula-mula Build-
in LED akan menyala dengan perintah digitalWrite (LED_BUILTIN, HIGH) diikuti
dengan perintah delay (1000) yang akan mengaktifkan lampu selama 1000 milisecond
(1 detik). Setelah Built-in LED menyala, Build-in LED akan padam dengan perintah
digitalWrite (LED_BUILTIN, LOW) diikuti dengan perintah delay (1000) yang akan
menonaktifkan lampu selama 1000 milisecond (1 detik). Fungsi Void Loop akan
melakukan pengulangan secara terus menerus sesuai sintaks/program yang ditulis
didalamnya.
24
CV SPEKTRUM TEKNOLOGI
4. Perhatikan sintaks berikut.
Jelaskan fungsi dan alasan mengapa angka “2” digunakan pada sintaks di atas.
Jawab:
Pada sintaks di atas, #define DHTPIN 2 berfungsi untuk mendefinisikan bahwa PIN
yang digunakan untuk membaca data digital input yang dikirim Sensor DHT11 adalah
PIN 2 pada ESP8266. Dalam hal ini, PIN 2 merupakan GPIO 2 (General Purpose
Input-Output) pada Modul ESP8266 yang pada dasarnya dalam Board ESP8266
tersebut GPIO 2 ditulis sebagai PIN D4. Dengan demikian, pada pemrogramannya
alamat PIN ditulis dalam alamat GPIO (2), walau beberapa board masih dapat
berfungsi ketika alamat pin yang ditulis adalah alamat yang tertulis pada board
ESP8266 (PIN D4).
Jelaskan fungsi dan alur kerja sintaks dalam void loop di atas.
Jawab:
Fungsi sintaks dalam void loop di atas digunakan untuk membaca data digital yang
dikirimkan Sensor DHT11. Pada program diatas, mula-mula perintah delay (1000)
akan aktif, yang berfungsi untuk memberi jeda waktu pembacaan Sensor DHT11
selama 1000 milisecond (1 detik). Kemudian fungsi float akan mengubah argumen
yang berupa bilangan menjadi tipe float atau bilangan desimal yang pada akhirnya
ditampilkan sebagai hasil pembacaan Sensor DHT11 sebagai bilangan desimal
melalui Serial Monitor.
Dalam program diatas, ada 2 variabel yang digunakan dalam fungsi float, yaitu
kelembapan yang diberi alamat “h”, dan temperatur yang diberi alamat “t”.
Apabila terjadi error, maka selanjutnya sintaks if (isnan (h) ||isnan (t)) akan tereksekusi
dan menampilkan keterangan error melalui tulisan yang ada dalam sintaks
Serial.println.
Jika tidak terdeteksi error, maka perintah akan dilanjutkan ke sintaks berikutnya dalam
Serial.print (F (“Humidity: “); dan seterusnya.
Fungsi Void Loop akan melakukan pengulangan secara terus menerus sesuai
sintaks/program yang ditulis didalamnya.
25