Kamis, 24 Oktober 2019

Antarmuka tombol push button menggunakan arduino

Antarmuka tombol push button menggunakan arduino - Tombol adalah komponen elektronik yang berfungsi memberikan informasi logika apabila ditekan. Salah satunya adalah tombol push button. Nama lain dari tombol ini adalah microswitch, tact switch maupun momentary switch. Prinsip kerja tombol ini sangat sederhana, yaitu kedua pin akan terhubung apabila bagian tengahnya diberikan tekanan yang cukup. Bentuk fisik tombol push button dapat dilihat pada gambar dibawah ini:

Project Arduino
Tombol push button banyak digunakan pada rangkaian yang memerlukan input logika, seperti untuk memilih menu pada display, sebagai input angka atau password, maupun memilih level intensitas. 

Pada penerapannya di rangkaian, tombol sering dikonfigurasikan common ground , common VCC, pull up maupun pulldown.  Logika keluaran dari setiap konfigurasi berbeda- beda. Untuk melihat konfigurasi tombol dapat dilihat pada gambar dibawah ini :

Konfigurasi tombol arduino

Data keluaran dari setiap konfigurasi terserbut adalah :
  1. (A) Konfigurasi Common ground akan menghasilkan data Low (0) apabila tombol ditekan.
  2. (B) Konfigurasi Common VCC akan menghasilkan data High (1) apabila tombol ditekan.
  3. (C) Konfigurasi Pull up menghasilkan data low (0) bila ditekan, dan bila tidak ditekan  menghasilkan data high (1).
  4. (D) konfigurasi Pull down menghasilkan data high (1) bila ditekan, dan bila tidak ditekan menghasilkan data low (0).

Pada project kali ini membahas tentang antarmuka tombol push button menggunakan konfigurasi common ground. Namun pada program akan ditambahkan resistor pull up internal sehingga tombol akan memberikan logika 1 bila tidak ditekan, dan bila ditekan maka akan memberikan logika 0.
Skema rangkaian dapat dilihat pada gambar dibawah ini:

Skema rangkaian


LISTING PROGRAM

bool sw1, sw2, sw3;
bool kon1, kon2, kon3;
const int led1=5,led2=6,led3=7;
void setup()
{
  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
}

void loop() 
{
  sw1=digitalRead(2);
  sw1=digitalRead(2);
  sw1=digitalRead(2);

  if (sw1==0 && kon1==0){kon1=1;} // sw1 ditekan
  if (sw1!=0 && kon1==1){kon1=0; kondisi=1;}//sw1 dilepas
  
  if (sw2==0 && kon1==0){kon2=1;} // sw2 ditekan
  if (sw2!=0 && kon1==1){kon2=0; kondisi=2;}//sw2 dilepas
  
  if (sw3==0 && kon1==0){kon3=1;}//sw3 ditekan
  if (sw3!=0 && kon1==1){kon3=0; kondisi=3;} // sw2 dilepas

  if (kondisi==1)
  {
    digitalWrite(led1,HIGH); // led1 nyala
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
  }

  
  if (kondisi==2)
  {
    digitalWrite(led1,LOW);
    digitalWrite(led2,HIGH); // led2 nyala
    digitalWrite(led3,LOW);
  }

  
  if (kondisi==3)
  {
    digitalWrite(led1,LOW);
    digitalWrite(led2,LOW);
    digitalWrite(led3,HIGH);// led3 nyala
  }
}

PENJELASAN PROGRAM

Inti dari program diatas adalah mendeteksi penekanan saklar terhadap sw1, sw2 dan sw3. Karena menggunakan konfigurasi common ground, maka jika saklar ditekan akan menghasilkan logika LOW (0). data saklar kemudian dibandingkan dengan variabel kon, jika benar maka kon diset menjadi 1. 

Ketika saklar dilepas, sesuai data dari konfigurasi common ground maka tidak akan menghasilkan logika apapun alias mengambang. maka dari itu pada inisialisasi awal void setup, pin diset dengan INTERNAL_PULLUP agar dapat menghasilkan logika awal HIGH (1).  

Data ini dibandingkan kembali dengan variabel kon. Jika benar maka variabel kondisi akan diisi dengan nilai sesuai penekanan saklar.  Pada baris selanjutnya variabel kondisi dibandingkan untuk menentukan led mana yang akan menyala.

baca juga :Pengertian dan Penjelasan Sifat Bahan Listrik : Konduktor, Isolator, Semikonduktor dan Superkonduktor

Tidak ada komentar:
Write comment