Disusun Oleh:
01 / 2031110098
3B - D3 Teknik Elektronika
Kelas : 3B D3TE
Absen : 01
NIM : 2031110098
install terlebih dahulu VsCode, install dua extension C++ intellisense dan ESP-IDF lalu
konfigurasi ESP-IDF extension.
- Membuka Project Program
Terdapat tiga cara yang dapat dilakukan untuk membuka project program ESP32
sebagai berikut yaitu melalui command line, melalui VsCode dan melalui file explorer
(nautilus).
a. Jika melalui command line maka buka terminal lalu jalankan VsCode dengan
parameter berupa direktori project yang akan dibuka.
b. Jika melalui VsCode maka jalankan VsCode lalu jalankan menu File->Open
Folder, cari folder hello_world yang ada di direktori home, klik open.
c. Jika melalui file explorer (nautilus) maka jalankan file explorer lalu masuk ke
direktori lokasi project, klik kanan pada direktori project tersebut, pilih “Open
With Other Application” kemudian pilih “Visual Studio Code” lalu klik tombol
Select.
d. Untuk menyeting target berupa esp32, tekan Ctrl+Shift+P lalu ketikkan “idf
target”, pilih “ESP-IDF set device target” tekan enter lalu pilih esp32 tekan enter
lalu pilih direktori ~/hello_world, tekan enter
- Compile/Flash/Monitor Program
Project program ESP32 dapat dibuat melalui dua cara, yaitu melalui command line
dan melalui extension ESP-IDF didalam VsCode. Jika project program dibuat melalui
terminal menggunakan command line. Tahapan jika pembuatan project program
ESP32 dilakukan menggunakan extension ESP32 sebagai berikut :
Jalankan VsCode, tekan Ctrl+Shift+P lalu ketikkan “idf new”, pilih ESP-IDF: New
Project, Setting nama project, lokasi direktori penyimpanan lalu klik Choose
Template, pada pilihan yang ada di espressif.esp-idf-extention-1.5.0 klik template-app,
ketika muncul tampilan berikut, klik tombol “Create Project using ...”, Ketika muncul
popup window di pojok kanan bawah seperti berikut, klik Yes, tutup jendela VsCode
yang lama dan gunakan jendela VsCode yang baru saja terbuka untuk memulai
pemrograman pada project program tersebut.
- Edit Program
1. Ada dua hal yang harus dilakukan pada saat sebelum mulai mengedit program
atau menambahkan kode program ke project program yang baru saja dibuat antara
lain sebagai berikut: Batasi komponen yang dikompilasi hanya komponen “main”
saja. Caranya, buka file CMakeLists.txt yang ada dibawah direktori project, bukan
yang ada didalam direktori main. Tambahkan set(COMPONENTS main) sebelum
instruksi include, lalu save dan tutup file tersebut, Aktifkan intellisense dengan
menambahkan field compile command pada file .vscode/c_cpp_properties.json.
2. Kemudian buka terminal IDF dengan menekan Ctrl+Shift+P lalu ketikkan “idf
terminal” dan tekan enter maka akan muncul terminal di bagian bawah dari
VsCode. Ketikkan “idf.py build” pada terminal tersebut untuk memicu proses
compile. Jika Intellisense masih belum aktif, reload VsCode dengan menekan
Ctrl+Shift+P lalu ketikan “reload” dan tekan enter.
3. Untuk membahas proses editing, buka file main.c yang ada didalam direktori main
dengan cara meng-klik direktori main lalu double-klik main.c sehingga terbuka
pada jendela bagian tengah dari VsCode seperti ditunjukkan dalam Gambar 3.8.
Letakkan cursor dibawah #include lalu ketikkan #include “freertos/FreeRTOS.h”.
Ketika pengetikan mencapai #include “fr” akan muncul jendala popup berisi
rekomendasi perintah. Jika diharapkan VsCode melakukan penyimpanan secara
otomatis terhadap setiap proses edit atau perubahan file maka seting VsCode
supaya auto save dengan cara menjalankan menu File --> Auto Save.
4. Fitur Intellisense pada VsCode juga mempermudah dalam menelusuri fungsi atau
variabel. Sebagai contoh, letakkan cursor pada instruksi vTaskDelay lalu tekan
F12 atau klik kanan instruksi vTaskDelay lalu pilih Goto Definition maka VsCode
akan menampilkan detail instruksi vTaskDelay.
- Compile/Flash/Minitor
Proses compile/flash/minitor dapat dilakukan dengan cara klik icon-icon yang ada di
bagian taskbar bawah dari jendela VsCode. Ketika icon ke-7 dari kiri (berbentuk api)
di klik maka VsCode secara berturut-turut akan mengcompile, mengeflash dan
memonitor jalannya program. Sebelum proses flash, VsCode menyodori user untuk
memilih port (DFU, UART, JTAG). Pilih UART karena devkit menggunakan protokol
UART melalui USB. Selanjutnya VsCode menyodori user untuk memilih direktori
lokasi project program, maka pilih sesuai dengan lokasi direktori project sekarang.
Selanjutnya VsCode melakukan flash dan dilanjutkan dengan proses monitor.
a. ESP-IDF menyediakan file driver untuk semua peripheral ESP32, termasuk file
driver untuk GPIO yaitu berupa file header gpio.h dan file source gpio.c. Sebelum
dapat menggunakan file driver GPIO didalam program, perlu mencantumkan
preprosesor #include.
b. Untuk mengaktifkan sebuah pin sebagai GPIO perlu memanggil fungsi berikut.
gpio_pad_select_gpio(uint8_t gpio_num);
c. untuk mengaktifkannya sebagai input atau output perlu memanggil fungsi berikut.
gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode); dengan parameter
gpio_num berjenis gpio_num_t.
- Led Berkedip
Pada led berkedip ini membahas program yang menyalakan LED dengan pola
berkedip, yaitu nyala mati secara bergantian setiap durasi tertentu misalnya setiap 0,5
detik. LED yang akan digunakan ialah LED yang sudah tersedia pada Devkit ESP32.
LED ini secara fisik tersambung ke GPIO2. Kemudian masukkan listing program
untuk LED berkedip. Untuk membuat project programnya, copy direktori project yang
pad bab sebelumnya dibuat kemudian dirubah namanya sesuai yang diinginkan lalu
buka project yang baru tersebut melalui file explorer (nautilus). lalu hapus direktori
build karena berisi hasil compile project sebelumnya, kemudian edit file main.c .
setelah itu compile, flash monitor Kemudian juga akan terlihat pada DevKit ESP32
bahwa LED warna biru (GPIO2) berkedip nyala mati dengan durasi 500ms atau 0,5
detik.
- Deteksi Tombol
Pada deteksi tombol program ini sudah ditambahkan instruksi untuk mengaktifkan
pullup internal. Dengan cara ini ketika tombol tersebut tidak sedang ditekan maka
pin IO0 akan berlogika 1. Jika diperhatikan lebih cermat, terlihat bahwa nomor GPIO
hanya tampak pada baris 9. Untuk membuat project programnya, copy direktori
project sebelumnya menjadi project “deteksi_tombol”, buka project program
deteksi_tombol ini melalui file explorer (nautilus).
Terdapat dua hal yang harus dilakukan supaya program ini dapat dicompile
dengan baik, meliputi:
4. Project program sekarang siap untuk dikompilasi. Buka dulu terminal dengan
menekan Ctrl+Shift+P lalu ketikkan “idf terminal”, tekan enter, ketikkan “idf.py
flash monitor” pada terminal tersebut maka proses compile, flash dan monitor
secara berutur-turut akan dijalankan.
a. Subbab ini membahas contoh cara membuat library sendiri bernama myGpio yaitu
library yang akan digunakan untuk akses GPIO. Jika library ini sudah selesai
dibuat maka bisa digunakan seperti contoh berikut.
#include “myGpio.h”
e. Selanjutnya copy paste file CMakeLists.txt yang ada didalam direktori main ke
dalam direktori mygpio. Buka file hasil copy-an ini lalu ubah isinya
a. Tambahkan library mygpio ke dalam project program dengan cara membuka file
CMakeLists.txt project program (yang langsung dibawah direktori tesLibrary,
bukan didalam direktori mygpio maupun didalam direktori main), tambahkan
“mygpio” kedalam instruksi baris ke-6.
b. Buka file main.cpp lalu ubah instruksi. Project program sekarang siap untuk
dicompile, diflash dan dimonitor tetapi project program sekarang menggunakan
library buatan sendiri yang bersifat object oriented, yaitu adanya obyek-obyek Led
dan Tombol. Model pemrograman seperti ini tampak lebih natural atau lebih
mudah dipahami. Jika diperhatikan, library myGpio tersusun atas fungsifungsi
yang ada di library Arduino, mencakup pinMode, digitalWrite, dan digitalRead.
Cara menulis program berorientasi obyek seperti ini dapat dipelajari lebih lanjut
melalui materi terkait dengan pemrograman C++.
BAB 7 Library Pihak Ketiga
Step 1
buka Vscode kemudian ketik coding dibawah ini
Step 2
setelah selesai buka browser dan cari library liquid crystal i2c yang “johnrickman”
kemudian copy link tersebut dan copy di vscode. Setelah itu masukkan coding dibawah ini
Step 3
setelah itu buat CmakeList di folder liquidcrystal caranya dengan mengcopy dari cmakelist
main dan ketikkan
Step 4
kemudian tambahkan coding di main.cpp seperti dibawah ini
Step 5
buat new file di main dengan nama “i2c-lcd.cpp” kemudian pergi ke liquidcrystal dan cari
helloworld.pde. Copy semua di helloworld.pde ke i2c-lcd.cpp dan tambahkan coding
dibawah ini
Step 6
kemudian di cmakelists luar no 5 tambahkan nama di components liquidcrystali2c (copy
saja di components)
step 7
setelah itu di cmakelist main dibawah SRCS diganti “i2c-lcd.cpp” setelah itu di build
MINI PROJECT
1. instal library seven segment max7219