1
CV SPEKTRUM TEKNOLOGI
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
ESP8266 adalah modul WiFi yang cukup populer di kalangan pengembang perangkat
keras baru-baru ini. Selain harganya yang sangat terjangkau, modul WiFi multi fungsi ini
sudah menjadi SoC (System on Chip), jadi kita bisa langsung memprogram ESP8266 tanpa
perlu mikrokontroler tambahan. Keunggulan lainnya adalah ESP8266 ini dapat bertindak
sebagai access point (AP) sementara dan sekaligus client.
Modul ini memiliki keluarga (family) dimana terdapat macam-macam tipe ESP8266
yang memiliki kelebihan dan kekurangannya masing-masing diantaranya adalah ESP8266
Module Series (ESP-01 sampai ESP-14), WeMos, NodeMCU, dan ESPduino. Dari beberapa
jenis tersebut, yang paling umum dijual dipasaran adalah WeMos (tipe D1 Mini) dan
NodeMCU seperti gambar dibawah ini.
(a) (b)
Gambar 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
3
CV SPEKTRUM TEKNOLOGI
4
CV SPEKTRUM TEKNOLOGI
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
Arduino IDE Merupakan sebuah software untuk memprogram board-arduino, ataupun
Mikrokontroler lainnya seperti NodeMCU. Pada software inilah dilakukan “coding” untuk
melakukan fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino
menggunakan bahasa pemrograman C yang dimodifikasi. Kita sebut saja dengan bahasa
pemrograman C for Arduino.
Sedangkan IDE sendiri merupakan kependekan dari Integrated Developtment
Enviroenment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang
digunakan untuk melakukan pengembangan. Disebut sebagai lingkungan karena melalui
software inilah Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang
dibenamkan melalui sintaks pemrograman.
Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk
memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual
ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program “Bootlader” yang
berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler.
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.
• DHT11 Sensor
8
CV SPEKTRUM TEKNOLOGI
9
CV SPEKTRUM TEKNOLOGI
E. Langkah Percobaan
1. Pertama, Anda harus menginstall 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.
Cara install melalui Microsoft Store:
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
d) Klik Download. Simpan file tersebut ditempat yang Anda inginkan. (tampilan
mungkin berbeda, sesuai browser dan downloader app yang Anda gunakan).
11
CV SPEKTRUM TEKNOLOGI
e) Setelah selesai mengunduh, buka file .zip/.rar tersebut dan klik arduino.exe dan
install seperti biasa.
2. Langkah berikutnya, buka aplikasi Arduino IDE. Kemudian pergi ke Tab “Tools” , pilih
“Board:”, dan kemudian klik “Boards Manager” seperti gambar berikut:
3. Setelah muncul halaman Boards Manager, Ketikkan “esp8266”, pilih Select version (pilih
versi 2.7.3, karena yang lebih stabil) dan klik Install. Jika sudah, pastikan keterangan
tertulis INSTALLED pada versi 2.7.3 seperti gambar dibawah.
12
CV SPEKTRUM TEKNOLOGI
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 berikut:
(jika Anda menggunakan Modul ESP8266 jenis lain, Anda dapat memilih sesuai nama
dalam daftar tersebut, atau jika tidak tahu jenisnya dapat memilih “Generic ESP8266
Module” seperti gambar dibawah).
13
CV SPEKTRUM TEKNOLOGI
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 dibawah.
7. Setelah semuanya siap, selanjutnya kita akan mencoba menyalakan LED dalam mode
berkedip (blink) pada modul ESP8266 dengan mengetikkan sintaks berikut.
(pastikan bahwa semua sintaks tetulis dengan lengkap, perhatikan huruf kecil dan kapital,
titik, dsb. sudah sesuai).
14
CV SPEKTRUM TEKNOLOGI
Untuk keterangan dari setiap fungsi program, dapat Anda perhatikan dibawah ini.
8. Setelah semua dirasa sudah lengkap, selanjutnya hubungkan Board WeMos D1 Mini
ESP8266 (atau modul ESP8266 lainnya) ke Port USB Komputer/Laptop Anda seperti
gambar dibawah.
(Sebelumnya pastikan Sensor DHT11 Shield telah terpasang pada board ESP8266).
9. Kembali ke Tab “Tools”, pilih “Port:”, dan pilih Port “COM” USB sesuai dengan yang
tercantum pada Device Manager. Pastikan kembali bahwa pada bagian “Board” sudah
terpilih “LOLIN(WEMOS) D1 R2 & mini” (jika belum, ulangi langkah No. 4).
15
CV SPEKTRUM TEKNOLOGI
10. Berikut merupakan tampilan Device Manager (Klik kanan pada logo Windows di Taskbar
> Pilih Device Manager). Jika Port tidak terdeteksi atau terdapat tanda peringatan pada
kolom USB-SERIAL, silahkan Anda instal terlebih dahulu Driver CH340 melalui URL berikut:
https://www.wemos.cc/en/latest/ch340_driver.html
Atau melalui URL berikut jika Board Anda menggunakan Driver Silabs CP210x:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
11. Setelah itu, klik tombol Upload untuk mengirim program yang sudah ada ke Board
ESP8266 seperti gambar berikut.
16
CV SPEKTRUM TEKNOLOGI
13. Jika sudah terupload, akan muncul keterangan “Done Uploading” seperti gambar berikut.
14. Periksa kembali board ESP8266 Anda, apakah ada lampu yang berkedip?
15. Tulis hasil percobaan pertama Anda pada kolom Hasil Percobaan.
---------------------------------------------------------------------------------------------------------------------
16. Setelah mempelajari hal tersebut, selanjutnya Anda akan mempelajari cara membaca
data dari Sensor DHT11 dengan Serial Monitor.
17. Pastikan bahwa library DHT11 sudah terpasang (lihat kembali pada langkah percobaan
nomor 6), jika sudah ketikkan sintaks berikut.
(pastikan bahwa semua sintaks tetulis dengan lengkap, perhatikan huruf kecil dan
kapital, titik, dsb. sudah sesuai).
17
CV SPEKTRUM TEKNOLOGI
Untuk keterangan dari setiap fungsi program, dapat Anda perhatikan dibawah ini.
18. Setelah itu, klik tombol Upload untuk mengirim program yang sudah ada ke Board
ESP8266. (jangan lupa cek kembali alamat port dan laiinya seperti Langkah No.9).
19. Terakhir, buka kembali Serial Monitor, dan amati apakah DHT11 sudah bekerja dengan
baik seperti gambar dibawah ini.
(jika tidak ada data yang ditampilkan, cobalah menekan tombol Reset pada Board ESP).
20. Tulis hasil percobaan kedua Anda pada kolom Hasil Percobaan.
21. Buat kesimpulan dari apa yang telah Anda pelajari dalam modul pelatihan ini.
18
CV SPEKTRUM TEKNOLOGI
F. Hasil Percobaan
a) Hasil Percobaan LED Blink
G. Kesimpulan
………………………………………………………………………………..……………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………..……………………………………………………..………………………….…
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………..……………………………………….…
………………………………………………………………………………………………………………………………………………
19
CV SPEKTRUM TEKNOLOGI
H. 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:
20
CV SPEKTRUM TEKNOLOGI
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:
21
CV SPEKTRUM TEKNOLOGI
1. Jelaskan menurut pemahaman Anda tentang pengertian dan fungsi Modul ESP8266.
Jawab:
ESP8266 adalah modul WiFi yang cukup populer di kalangan pengembang perangkat keras
baru-baru ini. Selain harganya yang sangat terjangkau, modul WiFi multi fungsi ini sudah
menjadi SoC (System on Chip), jadi kita bisa langsung memprogram ESP8266 tanpa perlu
mikrokontroler tambahan. Keunggulan lainnya adalah ESP8266 ini dapat bertindak sebagai
access point (AP) sementara dan sekaligus client.
2. Jelaskan perbedaan mendasar antara Modul ESP8266 tipe NodeMCU dan WEMOS D1
berdasarkan fungsi dan kegunaannya.
Jawab:
NodeMCU bisa dikatakan sebuah “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. Bedanya, WeMos memiliki banyak konfigurasi module shield sehingga
cocok sebagai pendukung hardware plug and play yang simpel dan praktis.
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.
22
CV SPEKTRUM TEKNOLOGI
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.
23