Menyalakan LED Blink dengan Arduino IDE
Memulai proyek pertamamu dengan ESP32? Program “LED Blink” adalah langkah awal yang sempurna! Dalam tutorial ini, kamu akan belajar cara menyalakan LED internal ESP32 menggunakan Arduino IDE.
Persiapan Awal
Sebelum memulai, pastikan kamu sudah menyiapkan:
Board ESP32 (misalnya: DevKit v1)
Kabel USB data (bukan hanya charger)
Arduino IDE versi terbaru
Board support ESP32 (install via Board Manager)
Catatan: LED internal pada sebagian besar board ESP32 terhubung ke pin GPIO 2.
Langkah-Langkah Instalasi
Buka Arduino IDE
Masuk ke menu:
File > Examples > 01.Basics > Blinkatau salin kode di bawah ini:
/*
ESP32 LED Blink Example
Menggunakan LED internal pada pin GPIO 2
*/
const int ledPin = 2; // Mendefinisikan pin LED internal pada GPIO 2
void setup() {
pinMode(ledPin, OUTPUT); // Set pin sebagai output
}
void loop() {
digitalWrite(ledPin, HIGH); // Nyalakan LED
delay(1000); // Tunggu 1 detik
digitalWrite(ledPin, LOW); // Matikan LED
delay(1000); // Tunggu 1 detik
}
Mengunggah Program ke ESP32
Pilih board:
Tools > Board > ESP32 Dev ModulePilih port COM yang sesuai:
Tools > Port > COMxKlik tombol Upload (ikon panah kanan)
⚠️ Jika proses macet di “Connecting...”, tekan dan tahan tombol BOOT (atau IO0) di board hingga proses upload dimulai, lalu lepaskan.
Hasil
Jika berhasil, LED internal akan berkedip setiap 1 detik. Kamu bisa mengubah kecepatan kedipan dengan mengganti nilai delay()—misalnya, delay(500) untuk kedipan lebih cepat.
Troubleshooting: LED Tidak Menyala?
| Masalah Umum | Solusi Praktis |
|---|---|
| LED tidak berkedip | Pastikan pin GPIO benar (biasanya GPIO 2) |
| Upload gagal | Tekan tombol BOOT saat upload |
| Tidak ada output | Tambahkan Serial.println("Program mulai"); di setup() |
| Tidak ada daya | Gunakan kabel USB data yang baik |
| Board tidak terdeteksi | Cek port COM dan driver USB |
| Masih gagal | Coba board lain atau reset board |
Alternatif Sketch Sederhana
const int LED_PIN = 2;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
Comments
Post a Comment