Push button adalah sebuah komponen elektronika yang bermanfaat untuk menghubungkan listrik dan memutuskan listrik. Push button ini dapat kita gunakan sebagai inputan ke pada Arduino, apakah button ini dalam kondisi HIGH atau kondisi LOW.
Ada dua jenis kondisi push button yang biasa kita lihat pada rangkaian Arduino, Yang itu PULLDOWN dan PULLUP. Pulldown adalah dimana kondisi awal push button dalam kondisi LOW, dan PUllUP kondisi awal dalam kondisi HIGH. Untuk Lebih jelas nya bisa lihat pada gambar di bawah ini.
Pulldown dan Pullup
fungsi pulldown dan pullup ini adalah untuk memberikan kepastian data ketika pada pin Arduino apakah inputan ini dalam kondisi HIGH atau LOW ketika push button tidak terhubung. Ada beberapa PIN Arduino yang sudah mempunya internal pulldown dan internal pullup, atau bahkan tidak ada sama sekali, jadi pastikan pin tersebut dari datasheet dari jenis Arduino yang kita punya.
Pada modul trainner iot kita, push button terhubung ke PIN GPIO34, GPIO36 dan GPIO39 seperti pada rangkaian PULLUP di atas.
Code digitalRead Arduino
byte btn_1 = 34;
byte btn_2 = 36;
byte btn_3 = 39;
Variable btn_1, btn_2, dan btn_3 kita deklarasi sebagai pin Input Button yang terhubung ke GPIO34, GPIO36, dan GPIO39.
bool data_btn1=0;
bool data_btn2=0;
bool data_btn3=0;
Data button yang kita baca akan kita simpan dalam variable data_btn1, data_btn2, dan data_btn3. Karena kondisi nya hanya LOW dan HIGH, maka tipe data nya adalah bool. Butuh penjelasan lebih lanjut dengan tipe data cukup click tombol link di bawah ini,
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(btn_1, INPUT);
pinMode(btn_2, INPUT);
pinMode(btn_3, INPUT);
}
btn_1 = 34, btn_2 = 36, dan btn_3 = 39 kita set sebagai INPUT.
void loop() {
// put your main code here, to run repeatedly:
data_btn1 = digitalRead(btn_1);
data_btn2 = digitalRead(btn_2);
data_btn3 = digitalRead(btn_3);
Serial.println("---------------");
Serial.print("btn 1: ");
Serial.println(data_btn1);
Serial.print("btn 2: ");
Serial.println(data_btn2);
Serial.print("btn 3: ");
Serial.println(data_btn3);
delay(1000);
}
digitalRead(btn_1) di gunakan untuk membaca data input push button pada GPIO34, kemudian data nya di simpa pada variable data_btn1. Begitu juga dengan push button pada GPIO36 dan GPIO39. Data ini kemudian di serial Monitor.
Program Keseluruhan
byte btn_1 = 34;
byte btn_2 = 36;
byte btn_3 = 39;
bool data_btn1=0;
bool data_btn2=0;
bool data_btn3=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(btn_1, INPUT);
pinMode(btn_2, INPUT);
pinMode(btn_3, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
data_btn1 = digitalRead(btn_1);
data_btn2 = digitalRead(btn_2);
data_btn3 = digitalRead(btn_3);
Serial.println("---------------");
Serial.print("btn 1: ");
Serial.println(data_btn1);
Serial.print("btn 2: ");
Serial.println(data_btn2);
Serial.print("btn 3: ");
Serial.println(data_btn3);
delay(1000);
}
Sekarang Compile dan Upload Program nya, perhatikan di Serial monitor ketika push button di tekan dan dan dilepas, Apakah yang terjadi?
hasil nya akan seperti gambar di bawah ini,
Semua Latihan pemrograman kita ini menggunakan Trainner Iot, untuk lebih jelas nya cukup click tombol di bawah ini
Semoga Bermanfaat, Terimakasih