Tutorial #4: Digital Input Advance

Rentetan dari Tutorial #3, Tutorial #4 dan juga Tutorial #5 akan memberi gambaran bagaimana Digital Input yang simple dari Push-Button boleh melaksanakan Pelbagai Fungsi lain selain dari hanya menyalakan LED.

Algorythm baru yang anda akan pelajari adalah:

  • While() loop

Untuk tutorial ini, kami akan fokuskan penggunaan INPUT_PULLUP sahaja kerana sambungannya lebih mudah.

Dalam tutorial ini, komponen-komponen berikut perlu disediakan:

  1. Arduino Uno (atau yang lain) (1 unit)
  2. Traffic Light Module atau LED bersama Resistor 220 ohm (1 unit)
  3. Jumper cable module yang disediakan (1 unit)
  4. Push Button (2 unit)
  5. Breadboard (1 unit)

While() Loop

“While” boleh diertikan sebagai “SELAGI”.

Dalam konteks While() Loop, ia adalah satu loop yang semi-infinite di mana, ia akan berterusan selagi satu situasi itu masih benar.

while("SITUASI A"){
//laksanakan code dalam loop ini  
}

Penerangan coding di atas adalah , “WHILE()” loop akan sentiasa berjalan selagi “SITUASI A” adalah benar.

Atau dengan penerangan lain,
“Selagi Situasi A masih releven, teruskan loop algortyhm dalam loop ini”.

Dalam penggunaan WHILE() Loop bersama Push-Button, kita dapat mengarahkan sesuatu fungsi, sebagai contoh LED-Berkelip, supaya berhenti berkelip apabila Push-Button ditekan.

Teruskan memahami situasi ini dengan membuat contoh berikut.

LANGKAH #1: SAMBUNGAN LITAR

Sambungkan litar anda seperti gambarajah berikut:

Digital Input Advance - 1-1

LANGKAH #2: SAMBUNGKAN ARDUINO PADA USB KOMPUTER

sambung-arduino

LANGKAH #3: CODING/SKETCH 

Copy sketch di bawah dan pastekan dalam Arduino IDE anda.

//Tutorial #4-1 : Digital Input Advance 1
//Code disediakan oleh MatGyver.my

void setup() {
// masukkan code setup di sini, Void Setup berjalan sekali sahaja
 
 pinMode(7, INPUT_PULLUP); //PUSH BUTTON 1 untuk ON
 //declare pin 7 sebagai digital input PULLUP
 pinMode(6, INPUT_PULLUP); //PUSH BUTTON 2 untuk OFF
 //declare pin 6 sebagai digital input PULLUP

 pinMode(2, OUTPUT); //LED1
 //declare pin 2 sebagai digital OUTPUT
 pinMode(3, OUTPUT); //LED2
 //declare pin 3 sebagai digital OUTPUT
 pinMode(4, OUTPUT); //LED3
 //declare pin 4 sebagai digital OUTPUT

 digitalWrite(2, LOW);
 digitalWrite(3, LOW);
 digitalWrite(4, LOW);
 //setupkan supaya semua LED adalah OFF pada permulaan
}//penutup Void Setup

void loop() {
// masukkan code utama di sini, untuk program yang berulang
 
 if(digitalRead(7)==LOW){
 //Jika PUSH BUTTON 1 diTEKAN, ia memberi value LOW
 //dan teruskan dengan While loop
 
   while(digitalRead(6)==HIGH){
   //Selagi PUSH BUTTON 2 TIDAK diTEKAN, dan memberi value HIGH
   //loop akan sentiasa berulang
   //bermakna LED akan sentiasa berkelip
   //dan teruskan dengan While loop
   //TETAPI apabila PUSH BUTTON 2 DITEKAN, dan memberi value selain LOW
   //While loop akan terhenti

   //di bawah adalah sketch untuk mengelipkan 3 LED
     digitalWrite(2, HIGH);
     digitalWrite(3, HIGH);
     digitalWrite(4, HIGH);
     delay(500); //masa nyala adalah 0.5 saat
     digitalWrite(2, LOW);
     digitalWrite(3, LOW);
     digitalWrite(4, LOW);
     delay(500); //masa OFF adalah 0.5 saat
   } //penutup while loop
 } //penutup IF statement
} //penutup Void Loop

Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:

Setelah sketch diupload, apabila Push-Button 1 pada pin 7 ditekan, ia akan memulakan kelipan LED.

LED akan terus berkelip, dan kemudian terhenti jika anda menekan Push-Button 2 pada pin 6. Push-Button 2 harus ditekan selama 1 saat minimum kerana jarak masa While Loop adalah bergantung pada jumlah delay yang ada dalam loop. Dalam coding di atas, jumlah delay yang ada adalah 0.5 saat + 0.5 saat.

Dengan sedikit perubahan coding/algorythm, fungsi di atas ini boleh diubah untuk hanya menggunakan 1 Push-Button sahaja.

CIRCUIT #2: Operasi Matematik dengan Butang

Dalam coding/algorythm Arduino IDE, anda boleh lakukan pelbagai jenis operasi Matematik. Kemudian, setiap hasil pengiraan operasi boleh digunakan sebagai data Input mahupun Output untuk fungsi-fungsi dalam project anda.

Teruskan dengan Tutorial #5 melalui URL di bawah:

Senarai Tutorial asas Arduino MatGyver.my :

9 thoughts on “Tutorial #4: Digital Input Advance

  1. Pingback: Tutorial #10: Kawalan SERVO dengan Servo.h Library | MatGyver - DIY & Hobby Blog

  2. Pingback: Tutorial #9: AUTO Terang/Malap LED & for() Loop | MatGyver - DIY & Hobby Blog

  3. Pingback: Tutorial #8: Terang/Malap LED & PWM Output | MatGyver - DIY & Hobby Blog

  4. Pingback: Tutorial #7: Fungsi Mapping dan Analog Input | MatGyver - DIY & Hobby Blog

  5. Pingback: Tutorial #2: Traffic Light! | MatGyver - DIY & Hobby Blog

  6. Pingback: Tutorial #1: Digital Output Arduino dengan LED | MatGyver - DIY & Hobby Blog

  7. Pingback: Tutorial #11: Kawalan DC Motor Dengan Module L298N | MatGyver - DIY & Hobby Blog

  8. Pingback: Tutorial Beginners Arduino | MatGyver - DIY & Hobby Blog

  9. Pingback: Langkah Pertama dengan Arduino | Arduino | MatGyver - DIY & Hobby Blog

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out /  Tukar )

Google+ photo

Anda sedang menulis komen melalui akaun Google+ anda. Log Out /  Tukar )

Twitter picture

Anda sedang menulis komen melalui akaun Twitter anda. Log Out /  Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out /  Tukar )

w

Connecting to %s