Belajar Arduino : Mode Selector dengan 1 Push Button

Salah satu komponen dasar yang sering digunakan untuk input arduino adalah push button. Push button atau saklar tekan berfungsi untuk pmutus atau penyambung arus listrik. Ada beberapa jenis push button seperti push button Normally Open (NO) yaitu push button yang akan terhubung ketika ditekan dan terbuka ketika tidak ditekan. Ada pula push button Normally Close (NC) yang kerjanya kebalikan dari tipe NO. 
Pada tulisan kali ini kita akan mencoba mensimulasikan penggunaan push button tipe NO dengan arduino. Dimana input digital pin arduino dihubungkan dengan push button NO yang satu sisi lainnya terhubung ground. Sehingga push button akan aktif ketika terhubung ground atau active low. Disini digunakan active low agar rangkaianya lebih mudah. Karena arduino sudah memiliki internal pullup pada pin digitalnya sehingga kita tak perlu lagi menambah resistor pullup eksternal. Untuk percobaan pertama kita akan membuat rangkaian dan program yang akan menampilkan tulisan “tombol ditekan” pada virtual terminal ketika push button ditekan. Rangkaiannya sebagai berikut:

Adapun programnya sebagai berikut:

bool button;
void setup() {
Serial.begin(9600);
pinMode(7,INPUT_PULLUP);
}
void loop() {
button=digitalRead(7);
if (button==0){
Serial.println("tombol ditekan");
delay(200);
  }
}


Dalam program simulasi diatas terdapat delay 200 mili detik, tujuannya agar tombol tidak terlalu sensitif sehingga tidak terlau cepat berubah antara kondisi 0 dan 1 nya. Tentu saja delay ini harus disesuaikan dengan kebutuhan.
Hasil simulasi dari rangkaian dan program diatas ketika push button ditekan adalah sebagai berikut:

Selanjutnya kita kan mencoba membuat pemilihan beberapa mode (mode selector) dengan menggunakan sebuah push button. Seperti saat kita memilih mode dalam jam digital antara mode jam, kalender, stopwatch dan alarm. Idenya, ketika tombol ditekan maka akan menambah nilai (dalam hal ini variabel mode) dan akan di looping untuk mengecek terus kondisi push button. Disini kita akan mencoba membuat 4 mode yaitu 0, 1 ,2 dan 3. Dengan cara seperti ini kita dapat menghemat penggunaan push button dan juga penggunaan pin digital arduino. Selain itu, tentu saja rangkaian nya menjadi lebih sederhana dibanding menggunakan 1 push button untuk setiap mode nya. Rangkaian yang digunakan masih sama dengan sebelumnya. Adapun program nya kita menggunakan looping sederhana dengan if - else, keseluruhan programnya sebagai berikut:

bool button;
int mode; 

void setup() {
Serial.begin(9600);
pinMode(7,INPUT_PULLUP);
mode=0;
}
void loop() {
button=digitalRead(7);
if (button==0){
if (mode<3){
mode++;
}else{mode=0;}
delay(200);
}
Serial.print("Mode : ");
Serial.println(mode);


Hasil simulasi dari rangkaian dan program diatas sebagai berikut:
  • ketika di jalankan pertama kali

  • ketika push button ditekan 1 kali

  • ketika push button ditekan 2 kali

  • ketika push button ditekan 3 kali

  • ketika push button ditekan 4 kali
Ketika ditekan untuk ke empat kalinya maka mode kembali ke mode 0.




Untuk lebih jelasnya kita buat rangkaian dan program pemilihan mode diatas untuk memilih mode 3 buah led. Aturannya pada saat mode 0 kondisi led mati sema, mode 1 hanya led 1 yang menyala, mode 2 hanya led 2 yang menyala dan mode 3 hanya led 3 yang menyala. Rangkaian yang dibuat ditunjukan gambar dibawah: 


Programnya adalah sebagai berikut:

bool button;
int mode;
void setup() {
pinMode(7,INPUT_PULLUP);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
mode=0;
}

void loop() {
button=digitalRead(7);
if (button==0){
if (mode<3){
mode++;
}else{mode=0;}
delay(200);
}
if (mode==0){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
} else if(mode==1){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
}else if(mode==2){
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
}else if(mode==3){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
   }
}

Hasil nya adalah sebagai berikut:
  • Ketika pertama dijalankan



  • Ketika push button ditekan 1 kali


  • Ketika push button ditekan 2 kali

  • Ketika push button ditekan 3 kali
  • Ketika push button ditekan 4 kali
Ketika ditekan untuk ke empat kalinya maka mode kembali ke mode 0.

Video simulasinya dapat dilihat pada video dibawah ini:


Demikian cara sederhana menggunakan push button sebagai selector mode pada arduino. Untuk yang lebih lanjutnya bisa dengan memilih mode ketika tombol ditahan (hold) atau juga menggunakan interupt pada arduino agar menjamin program akan merespon ketika tombol ditekan pada saat apapun. Sekian tulisan kali ini, semoga bisa bermanfaat dan mohon maaf apabila terdapat kesalahan.


Bagikan Ke:

Komentar:

Komentar