Dalam tutorial kali ini anda akan pelajari asas menggunakan fungsi algorythm Digital Input dengan Arduino dengan menggunakan butang Push-Button untuk menyalakan LED.
Sebelum meneruskan dengan tutorial ini, kami syorkan anda baca artikel berikut dahulu untuk memahami dengan lebih jelas mengenai Digital Input dan algorythm-algorythm yang berkaitan.
2 Jenis Digital Input
Terdapat 2 jenis algorythm INPUT yang boleh digunakan pada Arduino untuk membaca kondisi butang. Apa yang penting, adalah cara sambungan wiring dan Value yang dikeluarkan oleh setiap jenis INPUT:
- INPUT
+Memberi Value HIGH apabila butang ditekan
+Memberi Value LOW apabila butang dilepas
+Sambungan PERLU menggunakan Resistor 10k yang disambung pada ground. Lihat rajah berikut:
- INPUT_PULLUP
+Memberi Value LOW apabila butang ditekan
+Memberi Value HIGH apabila butang dilepas
+Sambungan TIDAK perlu tambahan Resistor dan boleh terus disambung pada ground seperti berikut:
Untuk tutorial ini, kami akan fokuskan penggunaan INPUT_PULLUP sahaja kerana sambungannya lebih mudah.
Dalam tutorial ini, komponen-komponen berikut perlu disediakan:
- Arduino Uno (atau yang lain) (1 unit)
- Traffic Light Module atau LED bersama Resistor 220 ohm (1 unit)
- Jumper cable module yang disediakan (1 unit)
- Push Button (1 unit)
- Breadboard (1 unit)
LANGKAH #1: SAMBUNGAN LITAR
Sambungkan litar anda seperti gambarajah berikut:

LANGKAH #2: SAMBUNGKAN ARDUINO PADA USB KOMPUTER

LANGKAH #3: CODING/SKETCH
Copy sketch di bawah dan pastekan dalam Arduino IDE anda.
//Tutorial #3 : Digital Input //Code disediakan oleh MatGyver.my void setup() { // masukkan code setup di sini, Void Setup berjalan sekali sahaja pinMode(2, OUTPUT); //LED HIJAU //declare pin 2 sebagai digital output pinMode(5, INPUT_PULLUP); //PUSH BUTTON //declare pin 5 sebagai digital input PULLUP //Coding di bawah memastikan semua LED dalam keadaan OFF //ketika Start-Up digitalWrite(2,LOW); } void loop() { // masukkan code utama di sini, untuk program yang berulang //Baca kondisi butang di pin 5 //Jika keadaan butang diTEKAN, ia memberi value LOW (dengan INPUT_PULLUP) if (digitalRead(5) == LOW){ //Jika Pin 5 LOW(ditekan) , Nyalakan LED Hijau di Pin 2 digitalWrite(2,HIGH);//Green LED } //Baca kondisi butang di pin 5 //Jika keadaan butang diLEPAS, ia memberi value HIGH (dengan INPUT_PULLUP) if (digitalRead(5) == HIGH){ //Jika Pin 5 HIGH(diLEPAS) , OFF-kan LED Hijau di Pin 2 digitalWrite(2,LOW);//Green LED } }
Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:
Setelah sketch diupload, LED Merah akan menyala apabila butang ditekan, dan LED “Off” apabila butang dilepas.
Ini merupakan asas wiring dan coding butang On/Off untuk mana-mana project, di mana, apabila butang ditekan, Arduino akan supply Digital 5V pada Output Pin.
KOMPONEN PENTING DALAM TUTORIAL INI
- Declare pin input sebagai INPUT_PULLUP dalam Void Setup()
void setup() { pinMode(5, INPUT_PULLUP); //declare pin 5 sebagai Input_Pullup }
- Membaca Kondisi Pin Input dengan algorythm digitalRead()
digitalRead(5); //membaca kondisi Pin 5
- Memberi arahan pada Arduino untuk melaksanakan sesuatu apabila Pin berubah kondisi dengan menggunakan algorythm if(*statement*)
if (//--sesuatu berlaku--//){ //nyatakan apa aktiviti Arduino perlu lakukan }
Di atas adalah basic IF Statement, di bawah adalah algorythm yang digunakandalam tutorial ini.
//Jika keadaan butang diTEKAN, ia memberi value LOW (dengan INPUT_PULLUP) if (digitalRead(5) == LOW){ //Jika Pin 5 LOW(ditekan) , Nyalakan LED Hijau di Pin 2 digitalWrite(2,HIGH);//Green LED }
TAMBAHAN (Serial Monitor)
Dalam tutorial tambahan ini, anda akan pelajari bagaimana melihat jenis data output yang dikeluarkan apabila butang ditekan dengan Digital Input.
Data akan di paparkan pada Serial Monitor.
Untuk memahami asas Serial Monitor, ikuti artikel berikut:
- Asas Serial Monitor
SAMBUNGAN WIRING

CODING DAN SKETCH
Copy sketch di bawah dan pastekan dalam Arduino IDE anda, kemudian Upload.
//Tutorial #3-T : Digital Input Tambahan //Code disediakan oleh MatGyver.my void setup() { // masukkan code setup di sini, Void Setup berjalan sekali sahaja Serial.begin(9600); // mulakan Serial Monitor pada kelajuan Baud Rate 9600 pinMode(5, INPUT_PULLUP); //PUSH BUTTON //declare pin 5 sebagai digital input PULLUP } void loop() { // masukkan code utama di sini, untuk program yang berulang //Baca kondisi butang di pin 5 //Jika keadaan butang diTEKAN, ia memberi value LOW (dengan INPUT_PULLUP) if (digitalRead(5) == LOW){ //Jika Pin 5 LOW(ditekan) , Printkan data atau value pin tersebut Serial.println(digitalRead(5)); } //Jika keadaan butang diLEPAS, ia memberi value HIGH (dengan INPUT_PULLUP) if (digitalRead(5) == HIGH){ //Jika Pin 5 HIGH(diLEPAS) , Printkan data atau value pin tersebut Serial.println(digitalRead(5)); } delay(100); //berikan sedikit delay pada loop supaya Serial Monitor tidak Over-Load }
Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:
Setelah sketch diupload, buka Serial Monitor dengan menekan Icon di atas-kanan IDE:

Selepas Serial Monitor dibuka, anda akan mendapat bacaan “1” yang berderet ke bawah. Ini menunjukkan Push Button “TIDAK DITEKAN” dan mengeluarkan output signal HIGH atau bersamaan dengan “1”.

Apabila butang ditekan, bacaan akan menunjukkan “0” bermakan signal LOW.
Teruskan dengan Tutorial #4 melalui URL di bawah:
Senarai Tutorial asas Arduino MatGyver.my :
- Langkah Pertama dengan Arduino
- Tutorial #1: Digital Output Arduino dengan LED
- Tutorial #2: Traffic Light!
- Tutorial #3: Digital Input dengan Push-Button
- Tutorial #4: Digital Input Advance
- Tutorial #5: Digital Input & Operasi Matematik
- Tutorial #6: Analog Input dengan Potentiometer
- Tutorial #7: Fungsi Mapping dan Analog Input
- Tutorial #8: Terang/Malap LED & PWM Output
- Tutorial #9: AUTO Terang/Malap LED & for() Loop
- Tutorial #10: Kawalan Servo dengan Servo.h Library
- Tutorial #11:
One thought on “Tutorial #3: Digital Input dengan Push Button”