Digital Input dan Digital Output dalam ESP32
Halo! Nama saya Dito dan disini saya akan mempraktekkan konsep Input dan Output digital pada ESP32 dengan cara menyalakan lampu LED menggunakan Push Button.
Komponen yang Digunakan:
- ESP32
- LED
- Resistor 330 ohm
- Resistor 10k ohm
- Breadboard
- Jumper Wire
Skema Diagram:
List Program:
Program yang kita buat kali ini cukup sederhana, yaitu program untuk membaca Input dari Push Button untuk mengontrol Output yang berbentuk nyala matinya LED. Sourcecode dari program ini sebagai berikut:
- Bagian setup
Pertama-tama kita membuat variabel konstan bernama button yang bernilai 4 dan led yang bernilai 5 untuk mendeklarasikan bahwa Push Button terhubung dengan GPIO 4 dan led terhubung dengan GPIO 5. Selanjutnya, kita inisialisasikan state dari Push Button yang pada awalnya bernilai 0 (tidak ditekan). Pada fungsi setup(), kita mulai dengan fungsi Serial.begin(115200) yang berarti kecepatan transmisi data untuk berkomunikasi dengan Serial Monitor adalah 115200 bits per detik. Lalu, kita assign variabel button sebagai input dan variabel led sebagai output
- Bagian loop
Pada fungsi loop(), pertama kita membaca input dari Push Button dengan menggunakan fungsi digitalRead(button) yang kita assign pada variabel state. Hal ini akan merubah nilai dari variabel state saat Push Button ditekan atau tidak. Lalu, kita menuliskan nilai dari variabel state kepada Serial Port atau ESP32 menggunakan fungsi Serial.println(state). Jika Push Button ditekan, state akan bernilai HIGH dan led akan menyala. Sedangkan, jika Push Button tidak ditekan, maka state akan bernilai LOW dan led akan dimatikan.
Eksperimen dan Demo:
Full Demo bisa ditemukan di video ini:
Analisis dan Hasil yang diperoleh:
Diketahui jika Push Button ditekan maka led akan menyala, dan jika Push Button tidak ditekan maka led tidak menyala.