arduino mengakses switch button

Cara mengakses switch button menggunakan Arduino

Switch atau saklar merupakan komponen elektronika yang dimana dapat mengalirkan atau memutuskan arus yang mengalir dalam suatu rangkaian dengan prinsip mengalihkan satu konduktor ke konduktor lainnya.

Mekanismenya yaitu dioperasikan secara langsung oleh operator untuk mengendalikan sirkuit misalnya saklar lampu tidur atau tombol keyboard pada personal Computer, dapat juga dioperasikan oleh beberapa sensor antara lain sensor tekanan, suhu dan lain sebagainya.

Meskipun saklar termasuk kedalam golongan komponen yang sederhana, namun memiliki fungsi yang paling vital di antara komponen listrik yang lainnya.

Jenis – jenis saklar atau switch dibedakan menjadi 6 macam antara lain  :

  1. Toggle switch : saklar yang sering digunakan pada rangkaian elektronika yang dimana digunakan sebagai saklar on – off catu daya utama.
  2. Push Button terdapt 3 jenis tipe yaitu
    • NO (Normally Open) : nama lainnya yaitu tombol start dikarenakan kondisi kontak akan tersambung jika button ditekan dan akan terbuka kembali jika dilepaskan. Kondisi waktu button ditekan maka terjadi pergeseran kontak yang akan mengenai kontak tetap yang berakibat aliran arus listrik dalam rangkaian akan mengalir.
    • NC (Normally Close) : merupakan kebalikan dari NO atau juga disebut dengan tombol emergency dikarenakan sifat kontak yang akan membuka pada saat ditekan dan setelah itu akan kembali tertutup pada saat dilepaskan.
    • Penggabungan antara NO dan NC : pada model tipe ini mempunayi empat buah terminal kontak, sehingga kondisi waktu button tidak ditekan menyebabkan sepasang kontak dalam kondisi NC sedangkan 2 kontak lainnya dalam kondisi NO. Pada saat button ditekan maka akan terjadi sebaliknya dari kondisi awal.
  3. SPST merupakan saklar sederhana jenis on dan off, yang biasanya dipakai untuk sakelar penerangan atau baybuses rumit yang memerlukan sakelar on off. Sakelar jenis ini hanya memungkinkan untuk mengubah sirkuit antara terbuka dan tertutup.
  4. SPDT merupakan jenis switch yang memungkinkan untuk merubah antara dua jenis sirkuit tertutup dan sirkuit terbuka. Contoh pemakaian switch ini adalah swicth pada kipas angin yang membutuhkan perbedaan kecepatan.
  5. DPST merupakan switch yang berguna jika dibutuhkan satu gerakan tertutup switch yang menyambungkan beberapa item sekaligus.
  6. DPDT merupakan switch yang memiliki enam buah terminal dan memungkinkan untuk merubah dua arah yang berbeda. Bisa dipakai dalam baybuses tegangan ganda serta mengubah tegangan di sirkuit yang rumit.

Tutorial Arduino mengakses Switch

Bahan yang perlu disiapkan antara lain:

Skema pengujian

Program yang akan dibuat :

Mengendalikan nyala LED dengan penekanan switch push button. Apabila ditekan LED akan menyala dan apabila dilepas LED akan mati.

Koding programnya

/* --- www.nyebarilmu.com --- */
//Mengontrol LED dengan penekanan push button

const int PIN_2 = 2;
const int PIN_13 = 13;

void setup () {
pinMode (PIN_2, INPUT); //Deklareasi nama alias PIN_2 sebagai inputan
pinMode (PIN_13, OUTPUT); //Deklarasi nama alias PIN_13 sebagai outputa
}

void loop() {
int kondisiPB = digitalRead(PIN_2);
if (kondisiPB == HIGH) //kondisi jika pushbutton ditekan
digitalWrite(PIN_13, HIGH);
else digitalWrite(PIN_13, LOW);
delay (1000);
}

Memahami Sketch program

  1. int kondisiPB = digitalRead(PIN_1); > merupakan pembacaan kondisi push button yang dimana dipasang sebagai pull up (cek disini resistor), apabila ditekan akan aktif  berlogika HIGH atau 1, sedangkan kondisi normal berlogika LOW atau o
  2. Pernyataan kondisi “if” yang menentukan output ke LED
    if (kondisiPB == HIGH)
    digitalWrite(PIN_13, HIGH);
    else
    digitalWrite(PIN_13, LOW);
    Yang artinya apabila kondisiPB berlogika HIGH maka output di PIN_13 berlogika HIGH juga yang dimana akan ditandai dengan nyalanya LED, sedangkan jika berlogika LOW maka output di PIN_13 juga berlogika LOW juga

Tutorial lanjutan teknik debouncing push button

Pada tutorial ini yang digunakan untuk mengurangi kesalahan pembacaan penekanan push button.

Koding programnya

/* www.nyebarilmu.com */
//teknik debouncing push button

//deklarasi variabel data
const int ledPin_13 = 13; //nama alias pin 13 dengan nama ledPin
const int buttonPin_2 = 2; //nama alias pin 2 dengan nama buttonPin

int buttonState = LOW; //kondisi awal push button saat tidak ditekan "LOW", sedangkan saat ditekan "HIGH"
int ledState = -1; //Kondisi LED jika nilai "-" > "OFF", sedangkan nilai "+" > "ON"

long lastDebounceTime = 0;
long debounceDelay = 50;

void setup() {
  //set mode pin input atau output
  pinMode(ledPin_13, OUTPUT);
  pinMode(buttonPin_2, INPUT);
}

void loop() {
  //Contoh keadaan tombol - apakah ditekan atau tidak?
  buttonState = digitalRead(buttonPin_2);

  //setting a time buffer untuk menyaring adanya gangguan
  if ( (millis() - lastDebounceTime) > debounceDelay) {

    //Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
    if ( (buttonState == HIGH) && (ledState < 0) ) {

      digitalWrite(ledPin_13, HIGH); //turn LED on
      ledState = -ledState; //Sekarang LED menyala, kita perlu mengubah keadaan
      lastDebounceTime = millis();
    }
    else if ( (buttonState == HIGH) && (ledState > 0) ) {

      digitalWrite(ledPin_13, LOW); //matikan LED
      ledState = -ledState; //Sekarang LED dimatikan, kita perlu mengubah keadaan
      lastDebounceTime = millis();
    }
  }
}

Tutorial Ketiga menggunakan library

Library yang dibutuhkan : [ddownload id=”2212″]

Pеlеtаkаn Lіbrаrу раdа mаѕіng – mаѕіng Oреrаtіоn Sуѕtеm

  • PC (Wіndоwѕ) : Prоgrаm fіlе(x86)/Arduіnо/ lіbrаrіеѕ
  • Mас : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе Cоntеnt)/Cоntеntѕ/Jаvа/Lіbrаrіеѕ
  • Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ
#іnсludе <Buttоn.h>
#dеfіnе BUTTON_PIN 2
#dеfіnе PULLUP truе
#dеfіnе INVERT truе

#dеfіnе DEBOUNCE_MS 20
#dеfіnе LED_PIN 13

Buttоn mуBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);
bооlеаn lеdStаtе;

vоіd ѕеtuр(vоіd)
{
ріnMоdе(LED_PIN, OUTPUT);
}

vоіd lоор(vоіd)
{
mуBtn.rеаd();

іf (mуBtn.wаѕRеlеаѕеd()) { //If thе buttоn wаѕ rеlеаѕеd, сhаngе thе LED ѕtаtе
lеdStаtе = !lеdStаtе;
dіgіtаlWrіtе(LED_PIN, lеdStаtе);
}
}

Program diatas hampir sama dengan kondisi tutorial kedua, apabila ditekan sekali led builtin menyala, ditekan kedua led mati.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *