Mata Kuliah: MKK.10.01.005 — Kecerdasan Buatan & Internet of Things (TW1). Durasi: 120 menit (Tatap Muka). Penyusun: Irfan Yusin Syahrullah.
Tujuan Pembelajaran
- Memahami konsep tegangan digital HIGH dan LOW pada pin GPIO
- Mempraktikkan pemakaian pinMode dan digitalWrite untuk mengendalikan LED
- Merangkai LED eksternal dengan resistor pembatas arus yang tepat
- Membuat program variasi kedipan sederhana
Capaian Pembelajaran
Mahasiswa mampu merangkai LED eksternal ke ESP32 dan menulis program digital untuk menyalakan serta memadamkan LED dengan pola yang terprogram.
Konsep Materi
Pin GPIO (General Purpose Input/Output) pada ESP32 dapat berfungsi sebagai keluaran (output) atau masukan (input) digital. Pada mode digital, tegangan pada pin dianggap dua keadaan: HIGH (sekitar 3,3 V) dan LOW (sekitar 0 V). Keadaan ini mewakili logika biner 1 dan 0.
Untuk menggunakan pin sebagai keluaran, kita memanggil fungsi pinMode(pin, OUTPUT) di dalam setup, lalu mengatur keadaannya dengan digitalWrite(pin, HIGH) atau digitalWrite(pin, LOW). Fungsi delay() menjeda program dalam milidetik sehingga kita dapat mengatur pola waktu kedipan.
LED (Light Emitting Diode) adalah komponen satu arah yang hanya mengalirkan arus apabila kaki anoda (kaki panjang) diberi tegangan lebih tinggi daripada katoda (kaki pendek). Karena itu LED harus dipasang dengan kaki yang benar.
Penting untuk memakai resistor pembatas arus (biasanya 220 ohm sampai 330 ohm) secara seri dengan LED. Tanpa resistor, arus terlalu besar dan dapat merusak LED maupun pin ESP32. Perhitungannya: R = (Vsupply – Vled) / Iled.
Perancangan rangkaian yang rapi menggunakan breadboard memudahkan percobaan. Perhatikan bahwa tegangan logika ESP32 adalah 3,3 V, lebih rendah dari Arduino Uno (5 V), sehingga komponen tahan 5 V seperti buzzer butuh pertimbangan tegangan.
Langkah Praktik
- Rangkai LED pada breadboard: kaki panjang (anoda) dihubungkan ke resistor lalu ke pin GPIO 4, kaki pendek (katoda) ke GND.
- Pastikan koneksi tegangan 3,3V dan GND tersambung benar ke breadboard.
- Tulis program untuk menyalakan LED selama 1 detik dan memadamkan selama 1 detik secara berulang.
- Unggah program dan perhatikan pola kedipan; coba ubah waktu delay untuk membuat pola unik.
- Tantang diri membuat pola SOS (titik-titik-garis) menggunakan kombinasi delay.
Kode Contoh
#define LED_PIN 4 // LED eksternal pada GPIO4
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // nyala
delay(500);
digitalWrite(LED_PIN, LOW); // padam
delay(500);
}
Latihan / Proyek
- Rangkaian LED tiga buah pada pin 2, 4, dan 5, lalu buat pola bergantian (berjalan seperti lampu kelap-kelip).
- Hitung besar resistor yang diperlukan untuk LED dengan tegangan jatuh 2 V dan arus 10 mA pada suplai 3,3 V.
- Tulis program pola SOS dan jelaskan bagian mana yang berfungsi sebagai titik dan garis.
Rekap & Tindak Lanjut
Mahasiswa kini memahami mode digital GPIO dan mampu mengendalikan LED eksternal. Latihan lanjutan pola lampu dan perhitungan resistor memperkuat pemahaman dasar rangkaian elektronika digital.
