Kategori
IoT

Praktek Push Button (IoT)

Pengertian Push Button

Push button merupakan tombol yang digunakan sebagai input pada rangkaian elektronika. Push button bersifat aktif saat ditekan, namun non-aktif saat push button dilepas, artinya push button harus selalu mendapatkan tekanan untuk dapat bekerja.

Push Button
Kondisi Push Button

Konfigurasi Push Button

Pemasangan push button akan lebih stabil jika menggunakan konfigurasi resistor secara pull up atau pull down tergantung kondisi. Resistor pull up dan pull down adalah resistor yang digunakan untuk memastikan input pada komponen berada pada HIGH atau LOW.

Hal tersebut dikarenakan terdapat fenomena floating pada mikrokontroler karena tegangan yang diterima tidak memenuhi 5 volt dan juga 0 volt. Sehingga mikrokontroler tidak dapat menentukan apakah kondisinya HIGH atau LOW.

Resistor Pull Up dan Down

Resistor Pull Up

Penggunaan resistor pull up yaitu resistor dihubungkan dengan tegangan input (5 volt). Sehingga saat kondisi normal (tombol tidak ditekan) tegangan 5 volt akan mengalir ke mikrokontroler. Biasanya mode seperti ini digunakan pada tombol Aktif LOW.

Resistor Pull Down

Resistor pull down yaitu resistor dihubungkan dengan Ground, sehingga saat kondisi normal (tombol tidak ditekan) mikrokontroler akan terhubung dengan ground. Biasanya mode ini digunakan pada tombol Aktif HIGH.

Push Button dengan 1 LED

Rangkaian

  • Tambahkan push button yang digunakan untuk menyalakan LED.
  • Tambahkan juga resistor yang digunakan sebagai PULL DOWN
  • Hubungkan push button, resistor, dan arduino seperti pada gambar disamping
  • Atur warna kabel melalui diagram.json agar mudah dalam membedakan koneksi pin berdasarkan warna kabel

Diagram (Wiring) JSON

  • Untuk mengubah warna kabel, dll masuk ke menu diagram.json
  • Ubah warna LED menjadi hijau pada “attrs” wokwi-led menjadi green
  • Ubah nilai resistor menjadi 470 ohm pada “attrs” menjadi 470
  • Pada “conncetions” merupakan koneksi/kabel pada rangkaian. Kita bisa mengubah koneksi pin, warna kabel, dll.
  • Ubah warna kabel GND dengan warna hitam, dll.
Push Button + 1 LED

Kode Program

void setup() {
  // put your setup code here, to run once:
pinMode(8, OUTPUT);
pinMode(4, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
if(digitalRead(4) == HIGH){
  digitalWrite(8, HIGH);
}
else{
  digitalWrite(8, LOW);
}
}

Jalankan Program

  • Pada bagian simulation, klick start the simulation
  • Klik push button maka LED akan menyala.
  • Sebaliknya, saat push button tidak ditekan, maka LED akan mati.
  • Klik Stop Simulation untuk menghentikan simulasi.

Push Button dengan 3 LED

Skenario Program

  • Buatlah program seperti ditunjukan pada gambar.
  • Terdapat penambahan variabel status dengan tipe data integer yang berfungsi untuk menunjukkan status atau nilai yang dihasilkan dari push button.
  • Program bekerja dengan menambahkan nilai status setiap push button ditekan satu kali.
  • Saat status bernilai 1 (push button ditekan 1 kali) maka akan menghidupkan led hijau.
  • Saat status bernilai 2 (push button ditekan 2 kali) maka akan menghidupkan led biru.
  • Saat status bernilai 3 (push button ditekan 3 kali) maka akan menghidupkan led merah.
  • Saat status bernilai 4 (push button ditekan 4 kali) nilai status menjadi 0, atau direset sehingga semua LED mati.

Rangkaian

Push Button + 3 LED

Kode Program

#define LED_hijau 13
#define LED_biru 12
#define LED_merah 11
#define tombol 8

int status = 0;

void setup() {
  // put your setup code here, to run once:
pinMode(LED_hijau, OUTPUT);
pinMode(tombol, INPUT);
pinMode(LED_biru, OUTPUT);
pinMode(LED_merah, OUTPUT);
digitalWrite(LED_hijau, LOW);
digitalWrite(LED_biru, LOW);
digitalWrite(LED_merah, LOW);
}

void loop() {
  // put your main code here, to run repeatedly:
if(digitalRead(tombol)==HIGH)
{
  status++;
  delay(1000);
}
if(status == 1)
{
  digitalWrite(LED_hijau,HIGH);
}
else if (status == 2)
{
  digitalWrite(LED_biru,HIGH);
}
else if (status == 3)
{
  digitalWrite(LED_merah,HIGH);
}
else if (status == 4)
{
 status=0;
}
else
{
  digitalWrite(LED_hijau,LOW);
  digitalWrite(LED_biru,LOW);
  digitalWrite(LED_merah,LOW);
  
}
}

Jalankan Program

  • Jalankan simulasi dengan klik Start Simulation
  • Tekan push button satu kali, maka LED warna hijau akan menyala.
  • Tekan push button satu kali lagi, maka LED warna hijau dan biru akan menyala.
  • Tekan push button satu kali lagi, maka LED warna hijau, biru, dan merah akan menyala.
  • Tekan push button satu kali lagi, maka semua LED akan mati atau kondisi reset.

Ref : [1][2][3]