"LAPORAN PROJECT #2 SISTEM EMBEDDED II2260"
“DIGITAL IO PADA ESP32”
Muhammad Ichsandro Daniswara Noor – 18219094
ABSTRAK
GPIO merupakan pin sinyal digital uncommitted pada papan sirkuit elektronik yang dapat digunakan sebagai input atau output, atau keduanya, dan dapat dikontrol oleh pengguna di runtime. Digital IO adalah singkatan dari Digital Input and Output. Input Digital memungkinkan mikrokontroler untuk mendeteksi logic states, dan Output Digital memungkinkan mikrokontroler untuk mengeluarkan logic states. Percobaan kali ini adalah membaca input digital dari Push Button untuk mengontrol output digital (LED) pada ESP32 yang diprogram menggunakan Arduino IDE.
Kata kunci: ESP32, Arduino IDE, GPIO, Digital IO.
I. PENDAHULUAN
GPIO
General Purpose Input / Output ( GPIO ) merupakan pin sinyal digital uncommitted pada sirkuit terpadu atau papan sirkuit elektronik yang dapat digunakan sebagai input atau output, atau keduanya, dan dapat dikontrol oleh pengguna di runtime.
GPIO tidak memiliki tujuan yang telah ditentukan dan tidak digunakan secara default Jika digunakan, tujuan dan perilaku GPIO ditentukan dan diimplementasikan oleh perancang sirkuit tingkat perakitan yang lebih tinggi: perancang papan sirkuit dalam kasus GPIO sirkuit terintegrasi, atau integrator sistem dalam kasus papan GPIO tingkat. (Wikipedia)
Digital IO
Digital IO adalah singkatan dari Digital Input and Output. Input Digital memungkinkan mikrokontroler untuk mendeteksi logic states, dan Output Digital memungkinkan mikrokontroler untuk mengeluarkan logic states. Setiap IO digital dapat dikonfigurasi secara individual ke salah satu dari 3 status: input, output-tinggi, atau output-rendah.
Input digital mendeteksi jika tegangan berada di atas atau di bawah ambang tertentu. Jika tegangan lebih tinggi dari nilai tertentu, komputer akan mendeteksi input digital sebagai tinggi atau 1. Jika tegangan lebih rendah dari beberapa nilai, komputer akan mendeteksi input digital sebagai rendah atau 0.
Output Digital: Output digital memungkinkan Anda untuk mengontrol tegangan dengan komputer. Jika komputer menginstruksikan output menjadi tinggi, output akan menghasilkan tegangan (umumnya sekitar 5 atau 3,3 volt). Jika komputer menginstruksikan output menjadi rendah, itu terhubung ke ground dan tidak menghasilkan tegangan. (LabJack)
II. METODOLOGI
Metodologi yang digunakan untuk penyelesaian tugas Project #2 diilustrasikan dalam diagram berikut:
Gambar 2.1 Diagram Metodologi
1. Menyiapkan Alat dan Bahan
Pada tahap ini dilakukan persiapan alat dan bahan yang dibutuhkan dalam bentuk software maupun hardware.
2. Perakitan Alat
Pada tahap ini dilakukan perakitan dari berbagai komponen yang telah disiapkan.
3. Membuat Program
Pada tahap ini dilakukan pemograman pada ESP32 yang telah disusun yang dilakukan menggunakan aplikasi Arduino IDE. Pemograman dilakukan agar ESP32 dapat membaca digital input dari button switch menyalakan lampu saat setelah tombol atau button ditekan.
4. Uji Coba
Pada tahap ini dilakukan uji coba dengan mengirimkan program yang telah dibuat dan kemudian menjalankan perintah pada ESP32.
5. Evaluasi
Pada tahap ini dilakukan evaluasi dari awal hingga akhir uji coba apakah perintah berhasil dilakukan oleh ESP32 sesuai yang diinginkan.
III. HASIL DAN ANALISIS
3.1. Persiapan Alat dan Bahan
a. ESP32 Board DevKit V1 (30 pins)
b. LED
c. Resistor 330 ohm
d. Resistor 10k ohm
e. Push Button
f. Breadboard
g. Jumper Wires
3.2 Schematic Diagram
Berikut ini merupakan diagram schematic yang digunakan untuk perakitan alat dalam project kali ini:
Berdasarkan diagram tersebut ada 3 LED yang digunakan dan kutub negatif dari masing-masing led dikoneksikan dengan resistor 330 ohm dan tersambung ke ground. Kutub positif dari LED merah tersambung ke GPIO 5. Kutub positif dari LED biru tersambung ke GPIO 2. Kutub positif dari LED warna-warni tersambung ke GPIO 19. Setiap Push Button pada diagram dikoneksikan dengan 3v3 dan resistor 10k ohm. Push Button pertama tersambung ke GPIO 4 dan Push Button kedua tersambung ke GPIO 18.
3.2.1 Hasil Perakitan Alat
Berikut ini merupakan hasil perakitan alat sesuai diagram schematic yang telah dibuat:
3.3 Kode Program
3.4 Menjalankan Program Digital IO
Bedasarkan kode program yang telah dibuat, LED Merah didefinisikan dengan ledPin1, LED Biru didefinisikan dengan ledPin2 dan LED warna-warni didefinisikan dengan ledPin3. Push Button Merah didefinisikan dengan buttonPin1 dan Push Button Hitam didefiniskan dengan buttonPin2. Dari program diatas dapat dilihat bahwa jika Push Button Merah ditekan maka LED Merah akan menyala dan LED Biru akan Mati, Namun jika Push Button Merah dilepas maka LED Biru akan menyala dan LED Merah akan mati sehingga LED Biru dan LED Merah akan menyala secara bergantian. Sedangkan untuk Push Button Hitam, jika Push Button Hitam ditekan maka LED warna-warni akan menyala dan jika dilepas akan mati.
Setelah melakukan verifikasi dan mengupload program, ESP32 dapat melakukan perintah dengan baik dan program berjalan dengan sesuai. LED Biru dan Merah menyala secara bergantian saat Push Button Merah ditekan dan LED warna-warni akan menyala saat Push Button Hitam ditekan.
Berikut ini merupakan video hasil uji coba:
3.5 Evaluasi
Setelah melakukan beberapa percobaan mulai dari perakitan hingga tahap uji coba, ada beberapa kendala yang dialami. Kendala pertama adalah tidak terhubungnya ESP32 dengan laptop. Hal ini terjadi dikarenakan kabel micro USB yang digunakan rusak dan solusinya dengan mengganti kabel mirco USB yang baru. Kedua lampu LED tidak menyala setelah program dijalankan. Hal ini terjadi dikarenakan beberapa kendala yaitu posisi lampu LED yang terbalik, ESP32 yang kurang menancap ke breadboard, dan variabel ledpin yang belum terdefinisi di dalam kode program. Setelah kendala tersebut diselesaikan, program dapat berjalan dan lampu bisa menyala dengan sesuai.
IV. KESIMPULAN
Dari percobaan yang telah dilakukan ada beberapa hal yang dapat disimpulkan:
4.1 Alat dan Bahan yang digunakan dalam percobaan ini meliputi komponen hardware yaitu ESP32, 3 LED, 2 Push button, 3 Resistor 330 ohm, 2 Resistor 10k ohm, Breadboard, Jumper wires, microUSB, laptop/komputer, dan komponen software yaitu Arduino IDE.
4.2 Proses perakitan alat disesuaikan dengan diagram schematic dan semua komponen dapat berfungsi dengan baik.
4.3 Proses verifikasi dan pengiriman kode program ke ESP32 berjalan dengan baik tanpa kendala.
4.4 Secara umum, ESP32 berhasil melakukan perintah dengan baik yang ditandai dengan LED Biru dan Merah menyala secara bergantian saat Push Button Merah ditekan dan LED warna-warni akan menyala saat Push Button Hitam ditekan.
V. DAFTAR PUSTAKA
Soin, K., Santos, S., Steve, Santos, R., Amit, & Salah. (2020, March 27). ESP32 digital inputs and digital outputs (Arduino IDE). Retrieved February 07, 2021, from https://randomnerdtutorials.com/esp32-digital-inputs-outputs-arduino/
Software. (n.d.). Arduino. https://www.arduino.cc/en/software/
Wikipedia. (2020, February 17). Retrieved February 07, 2021, from https://en.m.wikipedia.org/wiki/General-purpose_input/output
What are Digital i/o? (IO, D, Dio, Fio, Eio, CIO, MIO). (n.d.). Retrieved February 07, 2021, from https://labjack.com/support/faq/what-are-digital-io#:~:text=Digital%20Input%3A%20A%20digital%20input,above%2Fbelow%20a%20specific%20threshold.&text=Digital%20Output%3A%20A%20digital%20output,about%205%20or%203.3%20volts).
BONUS
PROJECT #2.1 "PWM PADA ESP32"
1. Alat dan Bahan
a. ESP32 Board DevKit V1 (30 pins)
b. LED
c. Jumper Wire
d. Resistor 330 ohm
2. Hasil Perakitan Alat
3. Kode Program
Komentar
Posting Komentar