Menyalakan LED Saat Tombol Ditekan

Pelajari cara mengontrol LED menggunakan Push Button pada Arduino Uno R3 dengan metode INPUT_PULLUP. Panduan pemula ini mencakup konfigurasi pinout hardware, kode program C++ Active LOW yang optimal, simulator interaktif real-time, serta tiga tantangan praktikum terstruktur untuk menguji pemahaman logika digital mikrokontroler Anda secara langsung.

PEMULA • 15 MENIT

Push Button #1 — Menyalakan LED Saat Tombol Ditekan

Pelajari cara membaca input digital dari Push Button menggunakan internal resistor INPUT_PULLUP pada Arduino Uno R3. Melalui proyek ini, Anda akan memahami konsep logika pembacaan sinyal digital (Active LOW) untuk mengontrol komponen output seperti LED.

1. Konfigurasi Rangkaian (Pinout)

Komponen Pin Arduino Uno Keterangan
Push Button (Kaki 1) Pin 2 Digital Input (Internal Pull-Up)
Push Button (Kaki 2) GND Ground
LED (Anoda) Pin 13 Digital Output (LED Built-in)
LED (Katoda) GND Ground

2. Kode Program (C++)

// Definisi Pin
const int BUTTON_PIN = 2;
const int LED_PIN    = 13;

void setup() {
  // Mengaktifkan Pull-up Resistor Internal pada Pin 2
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  
  // Mengatur Pin 13 sebagai Output
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // Membaca status tombol (HIGH / LOW)
  int buttonState = digitalRead(BUTTON_PIN);

  // Logika Active LOW: Tombol ditekan = LOW
  if (buttonState == LOW) {
    digitalWrite(LED_PIN, HIGH); // LED Nyala
  } else {
    digitalWrite(LED_PIN, LOW);  // LED Mati
  }
}

3. Simulasi Interaktif

Simulasi Real-Time Sinyal & Hardware
LED (Pin 13)
Push Button (Pin 2)
digitalRead(2): HIGH (1) [Pull-Up]
digitalWrite(13): LOW (0)
Status Fisik LED: MATI (OFF)

4. Tantangan Praktikum

Tantangan 1: Pembalikan Logika (Active HIGH)

Ubah logika program agar LED justru menyala saat tombol dilepas, dan mati saat tombol ditekan.

Tantangan 2: Saklar Toggle (On / Off Persistent)

Modifikasi kode agar sekali tombol ditekan LED akan terus menyala. LED baru akan mati jika tombol ditekan kembali untuk kedua kalinya.

Share:

0 Comments:

Post a Comment

About

BTemplates.com