DC
Kelas Digital Creative
Robotika · IoT · Scratch · Canva · CapCut · AI
← kembali ke Home

LED Menyala dengan Push Button

⏱ 30 Menit Arduino August 2026 🔧 Arduino Uno, LED, Push Button, Resistor 220Ω, Kabel Jumper

Project ini bikin LED menyala hanya saat push button ditekan, dan mati saat dilepas. Cocok buat belajar cara membaca input digital dari tombol dan konsep pull-up resistor.

Yang akan kamu pelajari

  • Membaca input digital dari push button
  • Konsep INPUT_PULLUP dan kenapa logikanya terbalik (LOW = ditekan)
  • Menggunakan if-else untuk mengambil keputusan berdasarkan input

Peta Pin / Wiring

Komponen Pin Arduino Fungsi
Anoda LED (kaki panjang) Pin 13 Menyalakan LED
Katoda LED (kaki pendek) GND (lewat resistor 220Ω) Jalur kembali arus
Kaki 1 Push Button Pin 2 Membaca status tombol
Kaki 2 Push Button (diagonal) GND Jalur ground tombol

Langkah 1: Siapkan rangkaian

Pasang LED di breadboard, kaki panjang (anoda) ke pin 13 lewat resistor 220Ω, kaki pendek (katoda) ke GND. Pasang push button di breadboard, satu kaki ke pin 2, kaki diagonalnya ke GND. Tidak perlu resistor tambahan untuk tombol karena kita pakai pull-up internal Arduino.

Langkah 2: Buka Arduino IDE

Sambungkan Arduino ke laptop pakai kabel USB, pastikan board dan port sudah dipilih dengan benar di menu Tools.

Langkah 3: Upload kode

Salin kode di bawah ini ke Arduino IDE, klik tombol Upload, dan tunggu sampai muncul tulisan “Done uploading”.

// Program: LED menyala saat Push Button ditekan
// Pin 13 = LED, Pin 2 = Push Button

const int tombolPin = 2;   // Pin push button
const int ledPin = 13;     // Pin LED

int statusTombol = 0;      // Variabel penyimpan status pembacaan tombol

void setup() {
  pinMode(ledPin, OUTPUT);        // LED sebagai output
  pinMode(tombolPin, INPUT_PULLUP); // Tombol sebagai input dengan pull-up internal
}

void loop() {
  statusTombol = digitalRead(tombolPin);

  if (statusTombol == LOW) {   // LOW = tombol ditekan (karena INPUT_PULLUP)
    digitalWrite(ledPin, HIGH); // LED menyala
  } else {
    digitalWrite(ledPin, LOW);  // LED mati
  }
}

Cara Kerja Kode

Bagian terpenting dari project ini adalah INPUT_PULLUP. Tanpa mode ini, pin tombol yang tidak ditekan akan “mengambang” (floating) dan pembacaannya jadi tidak stabil. Dengan INPUT_PULLUP, Arduino otomatis menjaga pin tetap HIGH saat tombol tidak ditekan, dan berubah jadi LOW begitu tombol ditekan dan terhubung ke GND. Itu sebabnya logikanya terbalik dari yang biasanya dibayangkan.

Kalau LED menyala terus tanpa ditekan atau tidak merespons sama sekali, cek kembali apakah kabel dari tombol ke GND sudah benar-benar terhubung.

Latihan

  1. Balik logikanya: buat LED menyala saat tombol TIDAK ditekan, dan mati saat ditekan
  2. Tambahkan LED kedua di pin 12, buat menyala hanya jika tombol ditekan sebanyak genap kali (hint: butuh variabel counter)
  3. Ganti fungsi tombol jadi toggle: sekali ditekan LED menyala terus sampai ditekan lagi untuk mematikan

Coba Simulasi di Wokwi