Unit 2.1: Input dan Output Digital ESP32
Pendahuluan
Bagian ini akan menjelaskan cara membaca input digital seperti tombol dan mengontrol output digital seperti LED menggunakan ESP32 S3 dan Arduino IDE. Jika Anda sudah familiar dengan pemrograman Arduino atau ESP8266, topik ini mungkin sudah tidak asing lagi.
Fungsi Dasar
digitalWrite()
Untuk mengontrol output digital, gunakan fungsi digitalWrite()
. Fungsi ini membutuhkan dua argumen: GPIO yang dituju dan statusnya (HIGH atau LOW).
digitalRead()
Untuk membaca input digital, seperti tombol, gunakan fungsi digitalRead()
. Fungsi ini membutuhkan satu argumen: GPIO yang dituju.
Contoh Penggunaan:
Mari buat contoh sederhana untuk memahami fungsi-fungsi ini. Anda akan membaca status sebuah tombol dan menyalakan sebuah LED sesuai dengan status tersebut.
Komponen yang Dibutuhkan:
- ESP32 S3 Dev Module Board
- LED 5mm
- Resistor 330 Ohm
- Tombol
- Resistor 10k Ohm
- Breadboard
- Kabel jumper
Skematik Rangkaian:
- LED dihubungkan ke GPIO 5
- Tombol dihubungkan ke GPIO 4
Langkah-langkah:
- Membuat Variabel untuk Menyimpan Pin:
- Setup: Inisialisasi Serial Monitor dengan baud rate 115200, pin tombol sebagai input, dan pin LED sebagai output.
- Loop: Baca status tombol, tampilkan status tombol pada Serial Monitor, nyalakan LED jika tombol ditekan (status HIGH), dan matikan LED jika tombol tidak ditekan (status LOW).
Code secara keseluruhan:
Flowchart
Mengunggah Sketch
- Sebelum mengunggah kode, pilih papan yang digunakan dengan pergi ke Tools > Board dan pilih ESP32 S3 Dev Module.
- Pilih port COM yang sesuai untuk ESP32 Anda.
- Tekan tombol Upload dan tunggu hingga proses pengunggahan selesai dengan pesan “Done uploading”.
Menguji Proyek Anda
- Setelah mengunggah kode, uji rangkaian Anda.
- LED harus menyala ketika tombol ditekan.
- LED akan mati ketika tombol dilepaskan.
Kesimpulan
Pada bagian ini, Anda telah belajar cara membaca input digital dan mengontrol output digital dengan ESP32 menggunakan Arduino IDE. Semoga panduan ini bermanfaat dan selamat mencoba!
Jika ada pertanyaan lebih lanjut atau penjelasan tambahan yang diperlukan, jangan ragu untuk bertanya pada grup telegram https://t.me/kodingindonesia.
Referensi
- Random Nerd Tutorials. “ESP32 Digital Inputs and Outputs.” Diakses dari randomnerdtutorials.com.