Skip to main content

Input

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.
Pushbutton dan simbolnya
Pushbutton dan simbolnya
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:
Rangkaian Pushbutton dan LED
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
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.

Comments

Popular posts from this blog

GROUND bagian 1 by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

GROUND bagian 1
Banyak pertanyaan kepada saya apa itu ground ? apa guna nya ? apakah selalu ground itu negatif ? Apa yang di maksud titik netral pada pencatu daya terbelah ?
Agak sulit menerangkan dengan kata kata, bahkan dari hasil diskusi saya dengan beberapa teman yang sudah pakar elektronik juga mereka menemukan kesulitan nya mengungkapkan dengan kata kata walau kita mengerti tentang ground.
Untuk itu saya mencoba menerangkan semaksimal mungkin, tetapi sesungguh nya yang"mendengar" mestinya sudah punya ilmu elektronika minimal sampai teknik penguat audio.
Jadi, jika belum memehami tentang teknik audio dan masih bingung tentang konsep dan aplikasi ground masih di maklum kan.
Pada rangkaian listrik sederhana tidak di perlukan ground, misalkan senter, (body nya terbuat dari plastik) itupun sering negatif nya di hubungkan dengan body senter terbuat dari logam.
a. Pengertian Ground
Ground adalah titik yang dianggap sebagai titik kembali nya arus listrik arus seara…

HAMBATAN LISTRIK by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

HAMBATAN LISTRIK
Pada bahasan sebelumnya sudah di tegaskan bahwa menghubungkan langsung positip dan negatip battery tidak boleh di lakukan, karena jumlah elektron yang mengalir menjadi sangat besar dan selama mengalir antara elektron saling berbenturan dan menimbulkan panas yang besar.
TETAPI
1) Jika jalan yang di lalui panjang (kawat nya panjang), maka kawat itu akan menjadi perlawanan listrik, makin panjang kawat maka perlawanan terhadap arus listrik juga semakin besar.
2) Atau kalau jalan nya arus di kawat juga di kecilkan (tebal kawat) nya di tipiskan juga akan menghasilkan Hambatan bagi arus semakin besar (Hambatan listrik membesar).
Dengan demikian kita bisa menghambat arus listrik itu dengan membuat kawat yang panjang dan mengatur tipis nya (luas penampang) kawat.
Ada faktor ke 3 yaitu jenis kawat.
Jenis kawat tertentu lebih mudah melewatkan arus, sementara kawat yang lain lebih sulit melewatkan arus.
Dalam teori elektron dapat di jelas kan : kawat tertentu daya ika…

Cara menggunakan modul relay dengan arduino UNO.

Material yang di butuhkan:
- Relay module 2 channel
- Arduino UNO.
- kabel jumper male - female

Relay module 2 channel  5V dengan 2 channel output dapat digunakan sebagai saklar elektronik untuk mengendalikan perangkat listrik yang memerlukan tegangan dan arus yang besar. Kompatible dengan semua mikrokontroler khususnya Arduino


Spesifikasi
•    Jumlah Relay : 2
•    Control signal : TTL level (ACTIVE LOW) ini artinya relay akan aktif jika kita memberikan logika LOW ke pin trigger relay (pin in1 /in 2)

Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2 … untuk jumlah channel lainnya maka pin in1 2, dst akan sesuai dengan jumlah channel relay modul
•    Rating arus : 10A 250VAC, 10A 30VDC, 10A 125VAC, 10A 28VDC
•    Contact action time : 10ms/5ms
•    Indikator LED untuk masing masing channel



Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2…