[2nd Project of Embedded System] Playing Digital Things with ESP32

Kemal Lutfian Cicero
4 min readFeb 5, 2021

--

Hello, Guys. Kembali lagi dengan blog saya dengan proyek menarik lainnya. Pada blog ini, proyek yang saya ingin bagikan dengan kalian adalah Digital Input/Output. Jadi, Digital Input akan mendeteksi suatu tegangan dengan suatu batas tertentu. Jika tegangan yang dideteksi ini lebih tinggi dari batasnya, maka kondisi high akan diterima oleh komputer dan jika tegangan ini lebih rendah dari batasnya, maka kondisi low akan diterima oleh komputer. Kalau begitu, Digital Output itu apa? Tentu saja sesuai dengan namanya, Digital Output adalah suatu keluaran yang dihasilkan dari diterimanya Digital Input. Digital Output ini akan menerima instruksi dari komputer, yaitu high atau low. Jika input yang diterima adalah high, maka outputnya akan memproduksi tegangan sebesar 3.3 V dan jika tegangannya adalah low, maka outputnya akan terhubung dengan ground dan tidak memproduksi tegangan apapun.

Bagaimana dengan introduction singkat di atas? Apakah terdengar menarik? Kalau begitu, ayo kita mulai saja proyek ini!

Parts Required

Komponen-komponen yang dibutuhkan untuk mengerjakan proyek ini adalah:

  1. ESP32
  2. USB micro-B Cable
  3. Resistor 330 Ohm
  4. Resistor 10k Ohm
  5. Push Button
  6. Jumper Wires
  7. 5 mm LED

Illustration

Ilustrasi Proyek Digital I/O dengan ESP32

Program Details

Nah, setelah semua kebutuhan-kebutuhan sudah dipenuhi, maka yang kita perlukan adalah program di Arduino IDE. Program pada proyek kali ini juga cukup mudah dipahami karena hanya ada sedikit perkembangan dari kode LED Blink.

Program untuk Digital I/O dengan 2 LED

Hands On

Sekarang, kalian tertarik kan bagaimana hasil dari proyek ini? Ayo dilihat pemasangan komponen komponen dan hasilnya yang akan membuat kalian semakin tertarik akan proyek ini!

Oiya, saya juga mau mengingatkan bahwa terdapat dua hasil yang akan saya perlihatkan, yaitu proyek dengan 1 LED dan proyek dengan 2 LED. Pada proyek ini, saya lebih menjelaskan digital i/o dengan 2 LED. Tapi, jangan khawatir! Proyek dengan 1 LED lebih mudah daripada 2 LED. Tunggu apa lagi? Ayo simak baik-baik vidio di bawah ini!

Vidio di atas menunjukkan pemasangan komponen-komponen yang saya lakukan.

Vidio di atas menunjukkan eksperimen saya dengan menggunakan 2 LED

Sedangkan vidio di atas menunjukkan hasil eksperimen saya menggunakan 1 LED saja.

Analysis

Perlu diperhatikan bahwa pada setiap proyek yang saya buat, terdapat dua prosedur yang selalu digunakan, yaitu setup() dan loop(). Prosedur setup() ini digunakan untuk mempersiapkan keadaan program sebagai input/output.

Setelah itu, prosedur loop() digunakan untuk terus-menerus menjalankan kode-kode yang ada di dalamnya. Prosedur loop() ini berfungsi untuk melakukan pengecekan apakah pushbutton ditekan atau tidak dan prosedur ini juga berfungsi untuk menyalakan LED-LED yang tersambung pada ESP32 ini. Jika push button sedang ditekan, maka ledPin yang terhubung dengan pin nomor 5 akan menyala, sedangkan ledPin2 yang terhubung dengan pin nomor 2 akan menyala dan begitu pun sebaliknya jika push button tidak ditekan.

Dari proyek ini, perlu diperhatikan beberapa hal yang cukup penting, yaitu nomor-nomor pin yang digunakan. Jujur saja, saya kira pada awalnya saya dapat menggunakan nomor pin yang acak pada program tanpa memperhatikan nomor pin mana yang digunakan pada ESP32.

Selain itu, dapat dilihat bahwa pin 3v3 tersambung ke pin positif dan ground tersambung ke pin negatif. Hal ini diperlukan karena 3v3 menghasilkan tegangan positif yang bergerak ke tegangan negatif. Kemudian, dapat terlihat juga bahwa pada setiap input dan output yang digunakan pada proyek ini, masing-masing terhubung dengan resistor. Resistor pada proyek ini berfungsi sebagai hambatan agar tegangan yang masuk ke LED tidak terlalu besar. Jika terlalu besar, tegangan ke LED bisa putus dan tidak bisa digunakan lagi.

Problem Occured

Tentu saja saat saya mengerjakan proyek ini terdapat masalah yang saya hadapi. Permasalahan yang saya hadapi adalah pada saat saya memasangkan push button pada breadboardnya. Kesalahan saya dapat dilihat pada gambar berikut.

Dapat terlihat bahwa push button yang saya pasang pada breadboard tidak dipasang tepat di tengah-tengah. Hal ini menyebabkan push button saya tidak akan bekerja.

Closing

Yah, sekian untuk proyek kali ini. Kalian juga cobalah untuk mengerjakan proyek-proyek ini. Saya yakin proyek ini dapat kalian kerjakan dengan mudah. Kalau begitu, sampai jumpa di blog-blog lain!

References

  1. https://randomnerdtutorials.com/esp32-digital-inputs-outputs-arduino/
  2. https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

--

--