Anda di halaman 1dari 18

TIMBANGAN HARGA

Dibuat untuk memenuhi tugas mata kuliah “Praktikum Sistem Embedded”


Dosen pengampu: “ Sidik Nurcahyo, S.T., M.T.”

Disusun Oleh:

Aghil Musha Hada

01 / 2031110098

3B - D3 Teknik Elektronika

JURUSAN TEKNIK ELEKTRO


POLITEKNIK NEGERI MALANG
2022
ARTIKEL RESUME SYSTEM EBDEDDED

Judul Mini project : Timbangan Harga

Nama : Aghil Musha Hada

Kelas : 3B D3TE
Absen : 01
NIM : 2031110098

Partner Mini project: Bintang Putra Saylendra


Materi yang telah dikuasai
BAB 1 Instalasi Ubuntu
menerangkan tentang instalasi ubuntu. Untuk step pertama yaitu download ubuntu
kemudian download rufus. Setelah itu siapkan USB dan masukkan downloadan ubuntu ke
rufus gunanya untuk mengubah usb agar bisa digunakan instal ubuntu. Setelah itu membuat
partisipasi ubuntu 30GB untuk menginstal ubuntu kemudian restart dan masuk booting dan
pilih USB, setelah masuk pilih normal instalation dan klik download update jika tersedia
koneksi internet. Kemudiam pilih “Something Else” agar data di windows tidak hilang.
Setelah itu pilih free spase 30GB menjadi device terpilih. Klik tombol + untuk membuat
partisi linux. Seting size bernilai 25000MB karena
sisanya (sekitar 5000MB) akan dipakai sebagai partisi swap, yaitu partisi yang
berfungsi sebagai RAM Ubuntu namun berada didalam hardisk. Ketik di mount pain “/”.
kemudian pilih partisipasi yang akan digunakan bootlooder ubuntu. Kemudian instal
ubuntu dan tunggu sampai selesai.

BAB 2 Getting Started


- Embedded System
Embedded system adalah sistem elektronik terprogram yang ditanamkan (di-
embedded-kan) pada sistem lain atau sistem induk. Fungsi embedded system ialah untuk
mengatur kerja dari sistem lain atau sistem induk sehingga sistem induk dapat bekerja
seperti yang diharapkan. Perlu ditegaskan kembali bahwa sistem elektronik (embedded
system) yang digunakan adalah berjenis terprogram, artinya didalam embedded system
tersebut terdapat mikroprosesor yang menjalankan program khusus untuk sistem induk
itu. Sifat penting embedded system, diantaranya ialah program yang dijalankan bersifat
khusus terkait dengan kegunaan dari sistem induknya.
- Instalasi tool Program dari ESP32
buka terminal ubuntu (Ctrl+Alt+T) kemudian ketik “sudo apt update”, kemudian
perlu program yang diperlukan ESP-IDF python, setelah itu buat direktori ~esp setelah
itu install tool program ESP-IDF pada subdirektori tolls442. Seting variabel-variabel
environment ESP-IDF supaya tool program yang sudah diinstall bisa digunakan dari
terminal aktif. Kemudian dilakukan sekali pada setiap terminal Ubuntu yang akan kita
gunakan untuk mengakses ESP-IDF. Tahapannya tidak hanya menjalankan file export.sh
tetapi juga perlu mendefinisikan variabel IDF_TOOLS_PATH. . Hal yang perlu
diperhatikan pada saat instalasi tool program yaitu pada saat update link repository jika
ada packages yang perlu diupdate disarankan tidak perlu dilakukan update dikarenakan
akan menghabiskan memori penyimpanan.
- Menggunakan Tool Program
Pada menggunakan tool program ada beberapa tahapan yang akan di download antara
lain:
Buka terminal dengan menekan Ctrl+Alt+T, lalu ketikkan perintah berikut untuk
mengexport variabel ESP-IDF, Copy contoh program hello_world ke direktori home,
Masuk ke direktori hasil copy-an, Seting esp target berjenis esp32, masuk ke
menuconfig untuk mengubah ukuran flash, Compilasi program menggunakan instruksi
berikut. idf.py build, Jika ingin menge-flash sekaligus memonitor ESP32 gunakan
perintah. idf.py flash monitor.

BAB 3 IDE Visual Studio Code

- Instalasi VsCode dan Extension ESP-IDF

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

Compile/Flash/Monitor Program dapat dilakukan dengan cara tekan Ctrl+E lalu B


untuk mengcompile program. Untuk menge-flash tekan Ctrl+E lalu F. Shortcut-
shortcut untuk instruksi lainnya bisa dilihat langsung dengan menekan Ctrl+Shift+P
lalu ketikkan “esp-idf”, gunakan tombol panah atas atau tombol panah bawah untuk
melihat shortcut-shortcut. Untuk meng-flash sekaligus monitor, tekan Ctrl+E lalu D.
compile dan flash juga bisa dilakukan melalui terminal ESP-IDF dengan menekan
Ctrl+Shift+P lalu ketikkan “idf terminal” dan tekan enter.
- Membuat Project 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.

BAB 4 Akses GPIO

- File Driver GPIO

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).

BAB 5 Library ESP32 Arduino

- Instalasi ESP32 Arduino

Dalam pemograman ESP32 perlu instalasi ESP32 arduino dimana dapat


dilakukan menggunakan 2 cara yaitu Cara pertama menggunakan Board Manager IDE
Arduino. Cara kedua menggunakan cloning library dari internet ke komputer secara
langsung. Cara kedua lebih disukai dan akan dibahas pada subbab ini karena tidak
perlu menginstall IDE Arduino. Instalasi library ESP32 Arduino mencakup tahapan
sebagai berikut: buka terminal, lalu masuk ke direktori esp, cloning library ESP32
Arduino kedalam direktori ~/esp/Arduino.
- Menggunakan ESP32 Arduino

Terdapat dua hal yang harus dilakukan supaya program ini dapat dicompile
dengan baik, meliputi:

1. Menyeting lokasi library arduino, caranya: buka file CmakeLists.txt yang


terluar (bukan yang ada didalam direktori main), tambahkan instruksi
berikut diatas baris yang berisi instruksi include.
set(EXTRA_COMPONENT_DIRS “$ENV{HOME}/esp/arduino”)
set(COMPONENTS arduino main)
2. Menambahkan component esp_http_client dan esp_https_ota ke arduino,

caranya: buka file CMakeLists.txt yang ada di direktori $HOME/esp/Arduino lalu


tambahkan “esp_http_client esp_https_ota” sebelum tanda kurung tutup yang ada
pada baris ke-209 sehingga tampak seperti berikut.
3. bootloader_support openssl bt esp_ipc esp_hid esp_http_client esp_https_ota)
Menambahkan compile_commands.json ke file .vscode/c_cpp_properties yang ada
di project sekarang. Sebelum proses compile, edit dulu file main.cpp.

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.

BAB 6 Membuat Library

- Membuat Library myGpio

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”

myGpio Led(2); //definisikan obyek Led tersambung pada


pin 2 Led.set(); //nyalakan Led
Led.clear(); //matikan Led
b. Didalam VsCode dan hapus direktori build karena berisi file-file hasil compile
project sebelumnya. Selanjutnya buat direktori “components” didalam project
program lalu buat direktori “mygpio” didalam direktori “component tersebut.
Untuk membuat direktori, pilih direktori induknya lalu klik icon New Folder.
c. Lalu buat file mygpio.h dan mygpio.cpp didalam direktori mygpio, dengan cara
klik direktori mygpio lalu klik icon New File (ada di sini kiri icon New Folder)
dan beri nama filenya. Buka file mygpio.h dan ketikkan beberapa instruksi.

d. Baris 3 meng-include library arduino supaya library myGpio dapat menggunakan


library arduino terkait gpio seperti fungsi pinMode, digitalWrite, dan digitalRead.
Baris 5 sampai 13 merupakan deklarasi class myGpio. Didalam scope public
terdapat deklarasi sebuah constructor (baris 7) dan tiga buah deklarasi fungsi
masing-masing bernama set, clear dan isClear. Baris 12 mendeklarasikan variabel
private _pin yang digunakan untuk menyimpan nomor pin obyek gpio tersebut.
Variabel ini nanti digunakan oleh fungsi set, clear dan isClear. Selanjutnya buka
file mygpio.cpp dan ketikkan beberapa instruksi.

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

- Menggunakan Library myGpio

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

cd components && git clone --recursive https://github.com/arduino-libraries/LiquidCrystal


&& cd ..

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

git clone –recursive https://github.com/johnrickman/LiquidCrystal_I2C

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

mendefinisikan variabel private


memberi nama default

menambahkan pin pada demo


fungsi display text untuk menampilkan tulisan

2. instal library LCD i2c


3. instal library rotary encoder
mengsetting pin A, pin B, dan pin button

4. instal library HX711


mematikan HX711 untuk menghemat listrik

Anda mungkin juga menyukai