Read more
Input
Sebelumnya kita telah belajar tentang bagaimana mengendalikan LED. Untuk mengendalikan LED kita menjadi pin pada Arduino sebagai OUTPUT. Pada bagian ini kita akan membahas tentang bagaimana menjadikan pin Arduino sebagai INPUT dan sebagai aplikasinya, kita akan menggunakan komponen pushbotton dan potensiometer sebagai input untuk mengendalikan LED. Bagian ini akan menjadi dasar agar Anda memahami bagaimana membuat Arduino bisa membaca sensor untuk mendeteksi kondisi lingkungan sekitar.
Pushbutton
Pertama kita akan bermain dengan tombol pushbutton (tactile) atau tombol push on. Ketika tombol ini ditekan, maka jalur akan tertutup (ON), ketika dilepas jalur akan kembali terbuka (OFF). Tombol banyak digunakan untuk peralatan seperti remote, keypad, keyboard, atau tombol untuk pengaturan TV, ld atau sejenisnya.
Gambar 3.1 merupakan bentuk fisik pushbutton dan salah satu simbol pushbotton jenis NO (Normally Open) dalam rangkaian elektronik. Berdasarkan simbol tersebut, Normally Open berarti ondisi normal (sebelum ditekan), maka terminal dalam kondisi tidak tersambung (open, terbuka). Tapi ketika ditekan, maka masing -masing terminal akan terhubung.
Selain jenis NO, ada juga pushbutton jenis NC (Normally Close), artinya ketika kondisi normal (sebelum ditekan), kaki terminal dalam keadaan terturup / tersambung (Close), tapi ketika ditekan, kaki terminalnya terbuka (tidak tersambung). Dalam ebook ini, kita akan
menggunakan jenis pushbutton NO.
Satu Tombol dan Satu LED
Percobaan kali ini adalah untuk mengendalikan hidup/matinyanya LED dengan tombol pushbutton. Jika tombol ditekan, LED akan menyala, jika dilepas, LED kembali padam.
Untuk melakukan percobaan ini, siapkan sebuah pushbutton, sebuah LED, dan sebuah resistor. Siapkan juga beberapa kabel jumper untuk merangkai komponen-komponen tersebut.
Rangkaian
Silakan buat rangkaian seperti Rangkaian 3.1 berikut:
1. Siapkan LED dan pushbutton pada project board. Karena karena pushbutton memiliki 4 buah kaki yang masing-masing terpisah, maka silakan tancapkan pushbutton di tengah-tengah lajur project board sehingga kaki-kainya tidak tersambung.
2. Salah satu kaki pushbutton dihubungkan ke GDN di project board, sedangkan kaki pasangannya disambungkan ke pin 2 pada board Arduino. Bagaimana cara mengetahui pasangan kaki-kaki pada pushbutton? Anda bisa mengeceknya dengan AVO meter.
Setting AVO meter untuk menghitung resistansi, kemudian cek masing-masing pin pushbutton dengan probe. Jika tombol ditekan jarum AVO meter bergerak menyimpang, berarti kaki-kaki tersebut sepasang.
3. Untuk LED, sambungkan kaki negatif (pin yang lebih pendek) ke GND dengan resistor
4. Kaki positif (kaki yang lebih panjang) disambungkan ke pin 8 pada board Arduino dengan jumper.
Program
Sketch Mengendalikan LED dengan pushbutton
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// pin 2 sebagai input dan pin 8 sebagai output
const int pinButton = 2;
const int pinLED = 8;
void setup() {
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor
digitalWrite(pinButton, HIGH);
}
void loop() {
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
}
Pertama kali dijalankan, maka awalnya LED akan padam. ketika kita menekan tombol pushbutton, maka LED akan menyala. LED akan kembali padam ketika tekanan tombol dilepas. Pada Sketch 3.1 di atas ada beberapa baris kode baru:
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor
digitalWrite(pinButton, HIGH);
Baris 6 berfungsi untuk mengeset pinButton sebagai INPUT. Jika sebuah pin diset sebagai INPUT, maka mikrokontroller akan mengambil data dari pin tersebut. Jika sebuah pin diset sebagai OUTPUT, maka mikrokontroller akan menuliskan data pada pin tersebut. dalam hal ini, mikrokontroller akan mengambil data yang dari pushbutton.
Perhatikan baris ke-14. Nilai pinButton awalnya diset HIGH. Kenapa diset HIGH? Kenapa bisa diset nilai pinnya menjadi HIGH, padahal pin tersebut tidak terhubung dengan +5V?
Begini, pemilihan settingan awal dengan HIGH atau LOW untuk pinButton tergantung pada rangkaian yang akan digunakan. Rangkaian 3.1 menghubungkan pinButton (pin 8) ke GND, artinya, ketika pushbutton ditekan maka pinButton (pin 8) akan menjadi 0 (LOW). Padahal defaultnya, setiap pin bernilai LOW. Jika pin awalnya bernilai LOW, kemudian ditekan tetap bernilai LOW, lalu apa gunanya pushbutton?
Padahal, fungsi utama dari saklar (dalam hal ini adalah pushbutton) adalah mengubah nilai yang awalnya LOW menjadi HIGH, atau sebaliknya. Nah, karena ketika pushbutton ditekan akan bernilai LOW (ke GND), maka awalnya harus kita set menjadi HIGH. Sehingga logika untuk pushbutton tersebut adalah: ketika tidak ditekan HIGH, ketika ditekan LOW.
Kondisi tersebut yang akan digunaka untuk mendeteksi apakah pushbutton tersebut ditekan atau tidak. Silakan perhatikan baris ke-18.
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
Pada baris 18, fungsi digitalRead() untuk membaca logika pada pinButton. Jika pinButton ditekan (LOW), maka hidupkan LED dengan perintah digitalWrite(pinLED,HIGH). Ketika pinButton bernilai HIGH, matikan LED. Sederhana bukan?
Untuk pertanyaan yang kedua, kenapa pin INPUT bisa diset HIGH?
Ketika kita menjadi pin INPUT sebagai HIGH, maka secara internal Arduino akan menghubungkan pin tersebut pada resistor pullup bernilai 20k ohm. Apa itu pull-up resistor? Jika ada pull-up, apakah juga ada pull-down resistor?
Begini, dalam elektronika digital, jika sebuah pin diset sebagai INPUT, kemudian pin tersebut belum tersambung ke VCC atau GND, maka logika pada pin tersebut masih mengambang (floating). Oleh sebab itu, pin tersebut harus ditentukan apakah akan diberi resistor pull-up (sehingga bernilai HIGH) atau diberi pull-down (sehingga bernilai LOW).
Jika pin tersebut diset HIGH, dalam internal mikrokontroller pin tersebut akan disambungkan ke VCC dengan pengaman sebuah resistor yang diistilahkan sebagai resistor pull-up. Begitu juga jika pin tersebut diset LOW, maka pin tersebut akan dihubungkan ke GND dengan pengaman resistor kemudian diistilahkan dengan resistor pulldown. Gambar 3.2 adalah rangkaian dasar pull-up resistor untuk rangkain di atas tanpa LED.
Semoga penjelasan tentang pull-up resistor bisa dipahami. Jika ada yang kurang jelas, mari kita diskusikan di website.
Sebelumnya kita telah belajar tentang bagaimana mengendalikan LED. Untuk mengendalikan LED kita menjadi pin pada Arduino sebagai OUTPUT. Pada bagian ini kita akan membahas tentang bagaimana menjadikan pin Arduino sebagai INPUT dan sebagai aplikasinya, kita akan menggunakan komponen pushbotton dan potensiometer sebagai input untuk mengendalikan LED. Bagian ini akan menjadi dasar agar Anda memahami bagaimana membuat Arduino bisa membaca sensor untuk mendeteksi kondisi lingkungan sekitar.
Pushbutton
Pertama kita akan bermain dengan tombol pushbutton (tactile) atau tombol push on. Ketika tombol ini ditekan, maka jalur akan tertutup (ON), ketika dilepas jalur akan kembali terbuka (OFF). Tombol banyak digunakan untuk peralatan seperti remote, keypad, keyboard, atau tombol untuk pengaturan TV, ld atau sejenisnya.
![]() |
Pushbutton dan simbolnya |
Selain jenis NO, ada juga pushbutton jenis NC (Normally Close), artinya ketika kondisi normal (sebelum ditekan), kaki terminal dalam keadaan terturup / tersambung (Close), tapi ketika ditekan, kaki terminalnya terbuka (tidak tersambung). Dalam ebook ini, kita akan
menggunakan jenis pushbutton NO.
Satu Tombol dan Satu LED
Percobaan kali ini adalah untuk mengendalikan hidup/matinyanya LED dengan tombol pushbutton. Jika tombol ditekan, LED akan menyala, jika dilepas, LED kembali padam.
Untuk melakukan percobaan ini, siapkan sebuah pushbutton, sebuah LED, dan sebuah resistor. Siapkan juga beberapa kabel jumper untuk merangkai komponen-komponen tersebut.
Rangkaian
Silakan buat rangkaian seperti Rangkaian 3.1 berikut:
![]() |
Rangkaian Pushbutton dan LED |
1. Siapkan LED dan pushbutton pada project board. Karena karena pushbutton memiliki 4 buah kaki yang masing-masing terpisah, maka silakan tancapkan pushbutton di tengah-tengah lajur project board sehingga kaki-kainya tidak tersambung.
2. Salah satu kaki pushbutton dihubungkan ke GDN di project board, sedangkan kaki pasangannya disambungkan ke pin 2 pada board Arduino. Bagaimana cara mengetahui pasangan kaki-kaki pada pushbutton? Anda bisa mengeceknya dengan AVO meter.
Setting AVO meter untuk menghitung resistansi, kemudian cek masing-masing pin pushbutton dengan probe. Jika tombol ditekan jarum AVO meter bergerak menyimpang, berarti kaki-kaki tersebut sepasang.
3. Untuk LED, sambungkan kaki negatif (pin yang lebih pendek) ke GND dengan resistor
4. Kaki positif (kaki yang lebih panjang) disambungkan ke pin 8 pada board Arduino dengan jumper.
Program
Sketch Mengendalikan LED dengan pushbutton
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// pin 2 sebagai input dan pin 8 sebagai output
const int pinButton = 2;
const int pinLED = 8;
void setup() {
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor
digitalWrite(pinButton, HIGH);
}
void loop() {
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
}
Pertama kali dijalankan, maka awalnya LED akan padam. ketika kita menekan tombol pushbutton, maka LED akan menyala. LED akan kembali padam ketika tekanan tombol dilepas. Pada Sketch 3.1 di atas ada beberapa baris kode baru:
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor
digitalWrite(pinButton, HIGH);
Baris 6 berfungsi untuk mengeset pinButton sebagai INPUT. Jika sebuah pin diset sebagai INPUT, maka mikrokontroller akan mengambil data dari pin tersebut. Jika sebuah pin diset sebagai OUTPUT, maka mikrokontroller akan menuliskan data pada pin tersebut. dalam hal ini, mikrokontroller akan mengambil data yang dari pushbutton.
Perhatikan baris ke-14. Nilai pinButton awalnya diset HIGH. Kenapa diset HIGH? Kenapa bisa diset nilai pinnya menjadi HIGH, padahal pin tersebut tidak terhubung dengan +5V?
Begini, pemilihan settingan awal dengan HIGH atau LOW untuk pinButton tergantung pada rangkaian yang akan digunakan. Rangkaian 3.1 menghubungkan pinButton (pin 8) ke GND, artinya, ketika pushbutton ditekan maka pinButton (pin 8) akan menjadi 0 (LOW). Padahal defaultnya, setiap pin bernilai LOW. Jika pin awalnya bernilai LOW, kemudian ditekan tetap bernilai LOW, lalu apa gunanya pushbutton?
Padahal, fungsi utama dari saklar (dalam hal ini adalah pushbutton) adalah mengubah nilai yang awalnya LOW menjadi HIGH, atau sebaliknya. Nah, karena ketika pushbutton ditekan akan bernilai LOW (ke GND), maka awalnya harus kita set menjadi HIGH. Sehingga logika untuk pushbutton tersebut adalah: ketika tidak ditekan HIGH, ketika ditekan LOW.
Kondisi tersebut yang akan digunaka untuk mendeteksi apakah pushbutton tersebut ditekan atau tidak. Silakan perhatikan baris ke-18.
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
Pada baris 18, fungsi digitalRead() untuk membaca logika pada pinButton. Jika pinButton ditekan (LOW), maka hidupkan LED dengan perintah digitalWrite(pinLED,HIGH). Ketika pinButton bernilai HIGH, matikan LED. Sederhana bukan?
Untuk pertanyaan yang kedua, kenapa pin INPUT bisa diset HIGH?
Ketika kita menjadi pin INPUT sebagai HIGH, maka secara internal Arduino akan menghubungkan pin tersebut pada resistor pullup bernilai 20k ohm. Apa itu pull-up resistor? Jika ada pull-up, apakah juga ada pull-down resistor?
![]() |
Skema Pull-up resistor |
Begini, dalam elektronika digital, jika sebuah pin diset sebagai INPUT, kemudian pin tersebut belum tersambung ke VCC atau GND, maka logika pada pin tersebut masih mengambang (floating). Oleh sebab itu, pin tersebut harus ditentukan apakah akan diberi resistor pull-up (sehingga bernilai HIGH) atau diberi pull-down (sehingga bernilai LOW).
Jika pin tersebut diset HIGH, dalam internal mikrokontroller pin tersebut akan disambungkan ke VCC dengan pengaman sebuah resistor yang diistilahkan sebagai resistor pull-up. Begitu juga jika pin tersebut diset LOW, maka pin tersebut akan dihubungkan ke GND dengan pengaman resistor kemudian diistilahkan dengan resistor pulldown. Gambar 3.2 adalah rangkaian dasar pull-up resistor untuk rangkain di atas tanpa LED.
Semoga penjelasan tentang pull-up resistor bisa dipahami. Jika ada yang kurang jelas, mari kita diskusikan di website.
0 Reviews
Silakan dikomentari