Rangkaian dan Program Fungsi ON-OFF Satu-Tombol (Toggle-Button) Menggunakan Arduino


Sebelum membahas rangkaian dan program Toggle-Button, mari kita bahas dulu secara singkat tentang perbedaan antara Switch (Saklar) dan Button (Tombol).

Switch dan Button memiliki fungsi yang sama, yaitu menghubungkan 2 kontak yang terpisah, sehingga arus listrik bisa mengalir dari kontak yang satu ke kontak yang lain. Atau, memutuskan 2 kontak yang terhubung, sehingga aliran arus akan terputus.

Switch memiliki mekanisme dengan sistem pengunci. Ketika kondisi switch berpindah dari OFF (OPEN) menjadi ON (CLOSE), maka kondisi switch akan tetap ON meskipun tombol atau tuas switch kita lepaskan.

Button tidak memiliki mekanisme pengunci. Button menggunakan mekanisme spring (pegas) tanpa pengunci. Jadi perubahan kondisinya bersifat sementara. Ketika Button ditekan, maka kontak akan terhubung. Dan ketika Button dilepas, maka kontak akan kembali terputus.

Nah, setelah jelas perbedaan antara Switch dan Button, sekarang kita bahas tentang apa itu Toggle-Button.

Yang dimaksud dengan Toggle-Button dalam tulisan ini adalah sebuah Button biasa yang dengan trik pemrograman sederhana bisa berfungsi sebagai Button ON dan Button OFF secara bergantian.

Semisal, ketika ditekan (dan kemudian dilepas), maka LED akan menyala. Dan ketika ditekan lagi (dan kemudian dilepas lagi), maka LED akan padam.

Sekarang kita langsung saja melakukan eksperimen untuk menjadikan sebuah tombol (button) biasa menjadi Toggle-Button.

Rangkaian dari eksperimen ini adalah sebagai berikut:

Dengan rangkaian seperti gambar di atas, sekarang kita buat program agar sistem bekerja dengan skenario sebagai berikut:

  • Ketika Button ditekan, maka LED akan ON. Dan ketika Button dilepas, LED tetap ON.
  • Ketika Button ditekan lagi, maka LED akan OFF. Dan ketika Button dilepas, LED teteap OFF.

Nah, berikut ini adalah kode program atau skrip Arduino untuk menghasilkan kerja dengan skenario di atas.

#define LED 8
#define BUTTON 9

int LED_IS_ON = false;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(BUTTON)==LOW)
  {
    delay(50);
    if (digitalRead(BUTTON)==LOW)
    {
      if (LED_IS_ON==false)
      {
        LED_IS_ON = true;
        digitalWrite(LED, HIGH);
      }
      else if (LED_IS_ON==true)
      {
        LED_IS_ON = false;
        digitalWrite(LED, LOW);
      }
      while (digitalRead(BUTTON)==LOW);
    }
  }
}

Rangkai rangkaian seperti gambar di atas dan upload kode program di atas, maka Anda akan mendapatkan contoh Fungsi ON-OFF Satu Tombol atau Toggle-Button.

Penjelasan Program

Untuk pembahasan atau penjelasan mengenai kode program di atas, silakan mengajukan pertanyaan pada kolom Komentar dan saya akan menjelaskan juga melalui kolom Komentar.

Semoga bermanfaat. Selamat belajar. Selamat berkarya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.