Menggunakan Input Push Button

Menggunakan Input Push Button

Sekarang kita akan pelajari mengenai push button.  Di mana push button ini atau kita sebut sebagai tactile switch adalah sebuah perangkat yang bekerja secara digital. Sekarang kita akan belajar bagaimana caranya untuk membaca nilai dari perangkat yang bekerja secara digital, menggunakan sinyal digital.  Saat ditekan, tactile switch menghasilkan nilai 1, dan saat dilepas, menghasilkan nilai 0, tergantung pada cara wiring yang digunakan. Nah tactile switch ini bentuknya seperti ini, ataupun teman-teman jika menemukan bentuk tombol, push button yang lain, cara kerjanya sama, dia memutus dan menyambung aliran listrik.  Ketika listrik tersambung, berarti ada sinyal digital 1.  Ketika listrik terputus, berarti tidak ada sinyal digital 1 atau sinyalnya adalah 0.  Oleh karena itu, dengan menggunakan tactile switch ini atau push button, dia bekerja dengan memberikan sinyal digital 0101. 

Tapi nanti yang digunakan hanya 2 pin saja, 2 kaki saja. Yaitu untuk tegangan positif dan tegangan negatif.  Kita akan coba langsung untuk membuat wiring di tactile switch-nya. Jadi silahkan teman-teman siapkan tactile switch-nya. Dan siapkan juga breadboard serta ESP32-nya.  Untuk tactile switch di wokwi namanya adalah push button.  Di sini disediakan 2 ukuran. Ada yang kecil, ada yang besar. Ini opsional, teman-teman ingin menggunakan yang mana. 

Jadi ada 2 jenis tactile switch. Di wokwi kita bisa memilihnya, ingin jenis yang mana.  Yang bounce atau yang tidak.  Kita akan cek list yang bounce-nya.  Ketika seseorang menekannya, tombol melepaskan koneksi bounce-nya saat dilepaskan. Tidak ada fitur penguncian. Tactile switch ini memiliki 4 kaki. Kaki atas dan kaki bawah saling terhubung secara internal. Namun, saat tombol ditekan, hanya kaki atas dan kaki bawah yang terhubung, sedangkan keduanya tidak terhubung dalam kondisi normal.

 Oke kita akan buat wiring-nya. Untuk tactile switch ini sebenarnya membutuhkan sebuah resistor.Namun di ESP32 sudah ada fitur input pull-up resistor-nya. Sehingga teman-teman tidak membutuhkan resistor eksternal lagi. Bisa menggunakan resistor yang ada di ESP32-nya.  Teman-teman bisa hubungkan ke ground.  Dan yang satu lagi teman-teman bisa hubungkan ke pin GPIO.  Katakanlah kita akan hubungkan di pin nomor 25. Nah karena teman-teman menggunakan breadboard, maka untuk ground dan VCC-nya bisa kita gabungkan saja .
Sehingga ini akan kita hubungkan ke ground, kaki yang ini. Saya akan ganti warna kabelnya menjadi hitam.  Kemudian di bagian sini akan kita hubungkan ke pin GPIO. Saya gunakan pin nomor 25.

Saat seseorang menekannya, kabel ini dan kabel tersebut akan terhubung satu sama lain. Dan akan menghasilkan sinyal digital.  Pin mod, kemudian pin nomor 25 sebagai input pull up.  Kalau teman-teman hanya menggunakan inputnya saja, seperti itu, maka membutuhkan resistor tambahan. Tapi kalau teman-teman menggunakan input pull up, maka tidak perlu ada resistor tambahan lagi.

KODE

bool button  ;

void setup() {
pinMode(25, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
  button = digitalRead(25);
  Serial.println(button);
  delay(500);
}

 Oke, kemudian kita akan simpan nilai dari push button-nya ke dalam sebuah variable. Saya akan gunakan variable dengan tipe data bolehan, karena 0101. Dan saya akan beri nama variable-nya button, seperti itu. Dan kita akan tampilkan atau kita akan baca button sama dengan digital read.  Ingat, kalau inputan gunakan read, output menggunakan write.  Dan bergantung sinyalnya, kalau inputannya berupa digital, maka gunakan digital read. Kalau outputnya merupakan digital, maka gunakan digital write.   Jika inputannya menggunakan analog, maka gunakan analog read.  Kalau outputannya menggunakan analog, maka gunakan analog write.  Seperti sebelumnya kita gunakan potentiometer, maka kita gunakan analog read. Jadi seperti itu.  Dan di sini digital read-nya kita akan baca di pin nomor 25. Lalu button-nya akan kita tampilkan ke serial monitor, serial.println atau seperti itu.  

~Kita akan lanjutkan di materi selanjutnya.~

Leave a Comment

Comments

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

    Tinggalkan Balasan

    Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *