Embedded Project #1: Pemrograman menggunakan Arduino IDE/Platform IO (Serial Communication)

Anindita Putri Paramarta
5 min readFeb 7, 2023

--

Perkenalkan nama saya Anin, mahasiswi semester 4 jurusan Sistem dan Teknologi Informasi ITB. Pada kesempatan kali ini, saya akan berbagi pengalaman proyek saya dalam mata kuliah II2290 Sistem Embedded. Sistem Embedded adalah sistem komputer yang memiliki tujuan khusus dengan seluruh bagian yang diperlukan dimasukkan menjadi satu dalam perangkat tersebut. Proyek ini akan menghasilkan suatu karya yang dibuat dengan mikrokontroler ESP32 pada environment Arduino Uno. Pada proyek pertama ini, saya akan menjelaskan Pemrograman menggunakan Arduino IDE/Platform IO (Serial Communication).

Arduino IDE adalah software yang digunakan untuk membuat sketch pemrograman atau dengan kata lain Arduino IDE sebagai media untuk pemrograman pada board yang ingin diprogram. Arduino IDE ini berguna untuk mengedit, membuat, meng-upload ke board yang ditentukan, dan meng-coding program tertentu. Arduino IDE dibuat dari bahasa pemrograman JAVA, yang dilengkapi dengan library C/C++(wiring), yang membuat operasi input/output lebih mudah.

So, what are you waiting for? Let’s get to know it !

STEP BY STEP

Gambar 2.1 Arduino IDE Download Options
  • Konfigurasi Arduino IDE

(File > Preferences > Isi Kolom Additional Boards Manager URLs)

URLs : https://dl.espressif.com/dl/package_esp32_index.json

Gambar 2.2 Preferences
  • Install ESP32

(Tools > Board > Board Manager > Cari esp32 > Install)

Gambar 2.3 Install ESP32

Setelah proses install selesai, jangan lupa untuk mengatur board yang kita gunakan sebagai ESP32 (Tools > Board > ESP32 Arduino > DOIT ESP32 DEVKIT V1).

Gambar 2.4 Mengatur Board
  • Download driver USB to UART

Kemudian, kita perlu meng-install serial port dengan cara download driver USB to UART. Download here .

Gambar 2.5 Install driver USB to UART

Lalu klik (Tools > Port). Jika port berhasil di-klik, driver USB to UART sudah berhasil ter-install.

Gambar 2.6 Port berhasil terhubung

Jika sudah, maka port berhasil terhubung. Kita bisa memulai pemrograman.

  • Pemrograman dengan Arduino IDE

#Struktur Kode

void setup() {
// put your setup code here, to run once:
}

void loop() {
// put your main code here, to run repeatedly:
}

Pada Arduino IDE, kode dibagi menjadi 2 prosedur utama yaitu setup() dan loop(). Setup() adalah prosedur atau program yang dijalankan sekali pada awal mikrokontroler nyala. Loop() adalah prosedur atau program yang akan dijalankan berulang kali selama mikrokontroler tersebut menyala.

#Input Output

Input dan output data pada mikrokontroler dapat dilakukan dengan menggunakan serial melalui komunikasi UART. Berikut adalah contoh dari pemakaiannya:

void setup() {
Serial.begin(9600);
}

void loop() {
if (Serial.available()) {
char c = Serial.read();
Serial.print("Huruf yang masuk : ");
Serial.println(c);
}
}

Beberapa fungsi yang dapat digunakan untuk input:

  • Serial.read() untuk membaca karakter.
  • Serial.readString() untuk membaca kata atau kalimat.
  • Serial.parseInt() untuk membaca integer.

Untuk menghasilkan output kita bisa menuju Tools > Serial Monitor. Jangan lupa juga menghubungkan dengan ESP32.

Gambar 2.7 Serial Monitor

Lalu ketik kalimat atau huruf yang akan dimasukkan. Berikut adalah hasil output diatas:

Gambar 2.8 Hasil Output

#if/then

if/then digunakan untuk mengecek situasi sebelum menjalankan program.

#Looping

Looping digunakan untuk menjalankan kode secara berulang. Terdapat dua fungsi yang dapat digunakan sebagai looping yaitu:

  • while (<kondisi){<program}
  • for (<iterasi>){<program>}

#Fungsi/prosedur

Fungsi/prosedur digunakan untuk membuat sebuah program kecil dengan parameter tertentu untuk dapat digunakan kembali secara berulang sesuai dengan kondisi tertentu.

Berikut adalah contoh pemakaiannya:

void setup() {
Serial.begin(9600);

}

int faktorial (int x){
int hasil = 1;
if (x <= 0) {
hasil = -999;
} else {
while (x > 0) {
hasil = hasil * x;
x = x - 1;
}
return hasil;
}
}


void loop() {
if (Serial.available()){
int i = Serial.parseInt();
if (faktorial(i) == -999){
Serial.print("Nilai faktorial tidak dapat dihitung");
} else {
Serial.print("Nilai faktorial dari angka tersebut: ");
Serial.println(faktorial(i));
}
}
}

Berikut adalah hasil dari outputnya:

Gambar 2.9 Hasil Output

Dari percobaan pemrograman yang telah dilakukan, kita bisa memulai pemrograman untuk ESP32 di proyek selanjutnya.

Selama melakukan proyek Pemrograman menggunakan Arduino IDE/Platform IO (Serial Communication) ini tentunya tidak begitu saja mulus, terdapat kendala bagi saya yaitu tidak teliti dalam pengetikan kode dan lupa untuk menghubungkan dengan ESP32 jika ingin mengeluarkan output. Jika sudah sesuai, akan keluar output sesuai yang diinginkan.

Hal yang dapat dipelajari dalam proyek ini adalah telah terdapat beberapa input dan output yang dapat digunakan pada Pemrograman menggunakan Arduino IDE, yaitu struktur kode, if/then, looping, dan fungsi/prosedur. Kita juga harus teliti dalam memasukan kode dan jangan lupa menghubungkan dengan ESP32 jika ingin mengeluarkan output. Setelah melakukan percobaan pemrograman input dan output diatas, kita bisa mencoba memulai pemrograman untuk ESP32 di proyek selanjutnya.

Jika ingin referensi tambahan:

  1. Instalasi board ESP32 dengan Arduino IDE : https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/
  2. Troubleshooting masalah umum yang terjadi pada board ESP 32: https://randomnerdtutorials.com/esp32-troubleshooting-guide/

Hope it is useful! Good luck and see you in another project^^

Written by :
Anindita Putri Paramarta — 18221019

--

--