Halo, apa kabar semuanya? Perkenalkan saya Muhammad Vito Ibrahim. Pada kesempatan kali ini saya akan mencoba bermain-main dengan mikrokontroler ESP32, alih-alih hanya bermain, project kali ini juga merangkap sebagai rekam jejak atau laporan saya untuk mata kuliah ( II2260 Sistem Embedded ). Untuk percobaan pertama kali dan yang paling dasar, saya akan mencoba instalasi ESP32 dan memulai program Blink. Apakah Blink itu? Blink jika diterjemahkan secara harfiah ke Bahasa Indonesia adalah kelap-kelip, nah, oleh karena itu saya akan mencoba mengkelap-kelipkan led internal pada ESP32. Sebelum memulai project, akan dijelaskan terlebih dahulu mengenai perangkat lunak maupun keras yang akan digunakan.
Perangkat dan komponen yang digunakan:
1. Mikrokontroler ESP32 Development Board
2. Arduino IDE
3. Laptop/Desktop dengan USB port
4. Kabel micro usb to USB A ( kabel data/charger biasanya )
5. Breadboard (*optional)
*optional : boleh menggunakan maupun tidak tergantung ketersediaan
Penjelasan beberapa perangkat dan komponen:
1. Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu.
2. ESP-32 Development Board adalah adalah mikrokontroler chip dengan rangkaian sistem hemat biaya dan rendah daya pada dilengkapi Wi-Fi yang terintegrasi dan Bluetooth.
3. Arduino IDE (Integrated Development Environment) adalah software yang di gunakan untuk memprogram di arduino, dengan kata lain Arduino IDE sebagai media untuk memprogram board Arduino. Pada kali ini bisa juga digunakan untuk memprogram mikrokontoler lainnya yaitu ESP32 dengan konfigurasi tambahan.
4. Breadboard adalah papan tempat komponen elektronik tanpa harus disolder.
Pendahuluan :
Board ESP32 yang tersedia saat ini terdapat 3 model, apa sajakah? terdapat model dengan 30,36, maupun 38 pin? Lalu gunakan yang mana? Tergantung ketersediaan, tetapi pada kesempatan pertama ini saya akan menggunakan ESP32 dengan 30 pin
Langkah pengerjaan :
1. Instalasi perangkat lunak Arduino IDE
a. Download dan install IDE dari https://www.arduino.cc/en/software/
2. Konfigurasi Arduino IDE agar kompatibel dengan ESP32
a. Menginstall addon ESP32 pada Arduino IDE
File -> Preferences
3. Menghubungkan ESP32 ke Arduino IDE
a. Pasang ESP32 pada Breadboard, kenapa menggunakan Breadboard? Karena ESP32 rentan rusak apalagi jika kontak langsung dengan tangan, oleh karena itu dengan mnenggunakan Breadboard akan meminimalisir terjadinya kerusakan pada ESP32 bahkan mengurangi kemungkinan terjadinya "kesetrum" atau arus pendek dan juga dapat memperpanjang umur ESP32.
b. Hubungkan kabel USB ke ESP32, masukkan ujung microusb pada lubang di ESP32
c.Buka tools -> Board lalu pilih DOIT ESP32 DEVKIT V1, saat ini saya memiliki development board DOIT, terdapat berbagai macam versi lainnya
secara umum dipilih port COM4 namun jika terdapat lebih dari satu port, gunakan port yang berhasil ketika proses uploading/flashing nanti
4. Uploading/Flashing program dasar Blink
Buka File -> Examples -> 01.Basic -> Blink
void setup() { pinMode(LED_BUILTIN, OUTPUT); // output adalah LED internal ESP32}// fungsi perulangan loopvoid loop() { digitalWrite(LED_BUILTIN, HIGH); // Voltasi tinggi akan menghidupkan LED delay(1000); // jeda 1000 milidetik atau 1 detik digitalWrite(LED_BUILTIN, LOW); // Voltasi rendah akan menghidupkan LED delay(1000); // jeda 1000 milidetik atau 1 detik} |
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // output adalah LED internal ESP32
}
// fungsi perulangan loop
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Voltasi tinggi akan menghidupkan LED
delay(1000); // jeda 1000 milidetik atau 1 detik
digitalWrite(LED_BUILTIN, LOW); // Voltasi rendah akan menghidupkan LED
delay(1000); // jeda 1000 milidetik atau 1 detik
}
Pada kode blink tersebut terdapat void setup dan void loop. Fungsi ini digunakan untuk menginisiasi variabel, mendeklarasikan pin yang digunakan, menggunakan library, dll.
Fungsi void setup() hanya akan dijalankan sekali saja setiap ESP32 mulai atau saat direstart.
Fungsi void loop() dijalankan setelah fungsi setup() sudah selesai dijalankan, void loop() bertujuan untuk mengeksekusi dan menjalankan program yang sudah dibuat. Fungi ini akan secara aktif mengontrol board ESP32 baik membaca input atau merubah output.
berbeda dengan void setup() yang hanya dijalankan sekali, fungsi void loop() akan dijalankan berulang kali oleh ESP32 secara terus-menerus.
Fungsi pinMode() pada IDE adalah sebuah perintah yang fungsinya untuk mengkonfigurasi pin tertentu agar bekerja menjadi sebuah input atau output.
pinMode() biasanya digunakan pada void setup() untuk melakukan konfigurasi pada suatu pin.
Fungsi digitalWrite()adalah salah satu perintah yang berfungsi untuk memberi nilai 1 atau 0 kepada pin digital yang ada pada board ESP32 maupun breadboard. 1/0 bisa juga disebut dengan nilai HIGH dan LOW ke pin digital.
Sintaks: digitalWrite(pin, value)
Parameter pin di digitalWrite() juga berguna untuk menampung pin yang akan digunakan, bisa pin 1,2,3 atau yang lain sesuai kebutuhan dan penggunaan
Parameter value atau yang berarti nilai berfungsi sebagai tempat untuk memberikan nilai yang nantinya akan dikirim ke pin yang ada di ESP32. Jika ingin menyalakan LED artinya harus memberi nilai HIGH, jika ingin mematikan LED tinggal berikan nilai LOW
Pada kali ini saya menggunakan default kode blink dari example tanpa mengubah apapun dengan pin builtin yang artinya saya menggunakan pin internal dari ESP32 dan hanya akan menghidupkan LED internal dari ESP32 dengan delay 1000ms.
Upload, untuk proses uploading selanjutnya, jika ESP32 telah diisi program sebelumnya maka proses uploading dilakukan sambil menekan tombol reset/boot pada ESP32 (untuk beberapa versi tertentu ESP32).
Upload dapat dilakukan dengan cara mengklik tombol upload atau verify terlebih dahulu lalu klik upload. Verify digunakan untuk menngompilasi dan mengecek kesalahan pada kode program sedangkan pada tombol upload akan dilakukan proses mengompilasi dan uploading ke board ESP32.
5. Demo
Proses Blink berlangsung secara loop. Proses loop atau kode yang berulang ini sudah diatur secara default pada ESP32. Sehingga proses blink/kelap-kelip akan berlangsung non-stop kecuali mengupload lagi kode/program kosong dari Arduino IDE setelahnya maka ESP32 kembali normal.
Error dan Troubleshooting :
1. Saya sempat mengalami kendala gagal upload ke ESP32 solusinya mengubah port hingga berhasil upload
2. Saya juga mengalami kendala saat gagal flashing/upload ulangESP32 yang telah terisi program dan menurut beberapa forum yang saya baca versi ESP32 terbaru hampir semuanya perlu sambil menekan tombol boot ketika proses uploading/flashing berlangsung, ada juga yang mengatakan mengubah port USB di laptop, jadi kabel USB dihubungkan ke port USB 3.0 ( biasanya ditandai dengan warna biru pada portnya ), terdapat juga metode lain menurut dengan menghubungkan ESP32 dengan kapasitor 10mikroOhm tetapi saya pribadi belum mencobanya.
Video Pengerjaan :
Analisis :
Proses yang telah dilakukan adalah pemograman mikrokontroler ESP32 dilakukan dengan menulis kode pada Arduino IDE lalu diupload ke ESP32, kode yang telah diupload lalu disimpan oleh memori lalu diproses mikrokontroler ESP32 sehingga menghasilkan output dari kode yang telah dilakukan yaitu blink atau kelap-kelip yang terjadi pada LED Internal yang telah tertanam atau embedded pada mikrokontroler ESP32. Kode yang ditulis merupakan perulangan dan secara default ESP32 akan mengulang kode yang telah dikirim ataui diupload sehingga proses blink/kelap-kelip akan berlangsung secara terus menerus.
Pengayaan :
Memprogram ESP32 Development Board dengan VSCODE dan PLATFORMIO IDE.
1. Install VSCODE pada windows (saya menggunakan windows).
buka https://code.visualstudio.com/ dan ikuti langkah instalasi
2. Install python pada windows https://python.org/download
3. Konfigurasi VSCODE agar dapat memogram ESP32 dengan menginstall PlatformIO IDE
Buka ekstensi lalu cari platformIO dan install ekstensi pada VSCODE dan pastikan PLatformIO IDE enabled
4. Menggunakan VSCODE dengan ekstensi PlatformIO untuk memogram ESP32
a. new project dan konfigurasi
b. Buka Blink project atau nama project yang telah dibuat tadi dari tab explorer
c. Mengupload kode ke ESP32 dengan VSCODE
Masukkan kode berikut ke main.cpp yang terdapat di folder src atau buat file baru yang bernama main.cpp pada tab explorer di Blink project
#include <Arduino.h>
#define LED 2
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
Serial.println("LED is on");
delay(1000);
digitalWrite(LED, LOW);
Serial.println("LED is off");
delay(1000);
}Jika benar akan terlihat seperti di atas.
Setelah itu save dan buka project tasks PIO
Proses upload dan compiling sukses, perbedaannya dengan menggunakan Arduino IDE, menurut saya port terdeteksi secara otomatis, dan tidak ada error bahkan jika ESP32 sudah terisi program sebelumnya, tidak perlu menekan tombol reset dan menggunakan VSCODE kode program berhasil upload.
Referensi :
1. https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/
2. wikipedia
3. www.masahen.com


















0 Komentar