Salah satu proyek paling dasar namun penting dalam dunia mikrokontroler adalah mengendalikan LED dengan tombol (push button). Proyek ini sangat cocok bagi pemula yang ingin belajar bagaimana membaca input digital dan mengontrol output digital menggunakan Arduino.
Prinsip kerja proyek ini sangat sederhana: ketika tombol ditekan, LED akan menyala, dan ketika tombol dilepas, LED akan mati. Dari proyek dasar ini, kita bisa memahami cara kerja logika digital HIGH
dan LOW
, serta belajar fungsi pinMode()
, digitalRead()
, dan digitalWrite()
yang sering digunakan dalam berbagai proyek Arduino lainnya.
Meskipun tampak sederhana, proyek ini adalah pondasi penting yang bisa dikembangkan menjadi banyak hal seperti saklar digital, sistem keamanan, tombol start mesin, atau sistem input manual untuk berbagai aplikasi otomasi.
Komponen yang Digunakan
- 1x Arduino Uno / MFB ATMEL 328 micro
- 1x LED
- 1x Resistor 220Ω (untuk LED)
- 1x Push Button
- Kabel jumper
- Breadboard
Skema Rangkaian

Koneksi Rangkaian
Komponen | Pin Arduino |
---|---|
LED Anoda (+) | D3 |
LED Katoda (–) | GND via resistor 220Ω |
Tombol Salah Satu Kaki | D2 |
Tombol Kaki Lainnya | GND |
Library yang Harus Ditambahkan
Proyek ini tidak memerlukan library tambahan. Semua fungsi yang digunakan adalah bawaan dari Arduino IDE.
Kode Program Lengkap
//PROGRAM INI DI BUAT OLEH : MANFAHBOT INDUSTRIAL AUTOMATION
//HAK CIPTA PROGRAM/CODING : LUKMAN HAKIM A.
//WEBSITE : http://manfahbot.cc
const int buttonSaya = 2; // Tombol input di pin D2
const int ledSaya = 3; // LED output di pin D3
int buttonStatusSaya = 0; // Variabel untuk menyimpan status tombol
void setup() {
pinMode(ledSaya, OUTPUT); // Mengatur LED sebagai output
pinMode(buttonSaya, INPUT_PULLUP); // Mengatur tombol sebagai input
}
void loop() {
buttonStatusSaya = digitalRead(buttonSaya); // Membaca status tombol
// Jika tombol ditekan (status LOW), nyalakan LED
if (buttonStatusSaya == LOW) {
digitalWrite(ledSaya, HIGH);
}
else {
digitalWrite(ledSaya, LOW); // Jika tidak, matikan LED
}
}
Penjelasan Singkat Program
pinMode(buttonSaya, INPUT_PULLUP);
mengatur pin 2 sebagai input digital dengan pullup internal.digitalRead(buttonSaya)
membaca status tombol (HIGH saat ditekan, LOW saat dilepas).digitalWrite(ledSaya, HIGH);
menyalakan LED saat tombol ditekan.- Program ini dijalankan terus menerus dalam fungsi
loop()
, membuat sistem merespons secara real-time saat tombol ditekan.
Kesimpulan
Proyek ini adalah salah satu cara terbaik untuk belajar dasar-dasar pemrograman Arduino, khususnya dalam membaca input dan mengontrol output. Dengan menekan tombol, kamu dapat memicu berbagai aksi, tidak hanya menyalakan LED tetapi juga bisa mengaktifkan buzzer, motor, atau mengirim data ke perangkat lain. Proyek ini juga dapat dikembangkan menjadi sistem saklar otomatis, pemicu alarm, atau input untuk sistem yang lebih kompleks.