Input Output Digital

1. Input Output Digital pada Arduino Uno

Arduino Uno memiliki kaki Input Output Digital sebanyak 20 kaki, yang terdiri dari kaki D0 sampai D13 (14 buah) dan ditambah kaki A0 - A5 (6 buah). Kaki A0 - A5 tersebut dapat dibuat digital dengan memanggilnya D14 - D19 di dalam program. Khusus untuk kaki D0 dan D1, pada prakteknya tidak digunakan sebagai kaki Input Output Digital, karena dikhususkan untuk saluran komunikasi dengan komputer. Berikut gambar peta kaki IO Arduino Uno:


Untuk lebih jelasnya, perhatikan keterangan dalam tabel berikut:

No.
Label
Kelompok
Fungsi kaki
1.
5V
Power
Memberikan tegangan +5V.
2.
RES
Power
Mereset, membuat jalannya program mulai dari awal.
3.
3.3V
Power
Memberikan tegangan +3,3V
4.
GND
Power
Menyediakan jalur arus kembali/ground.
5.
A0
Analog Input
Fungsi umum: sebagai kaki input untuk sinyal analog, yaitu untuk menerima dan membaca sinyal analog.
Namun bisa juga dipakai sebagai kaki Digital.
Untuk mengubah kaki ini menjadi kaki Digital,
dilakukan dengan mengubah namanya di program,
dari A0 menjadi D14, A1 menjadi D15, dan seterusnya.
6.
A1
Analog Input
7.
A2
Analog Input
8.
A3
Analog Input
9.
A4
Analog Input
10.
A5
Analog Input
11.
D0
Digital In/Out
Fungsi umum: sebagai kaki input maupun output
untuk sinyal digital.  Bila sebagai input, maka kaki ini
akan menerima dan membaca sinyal digital.
Bila sebagai output maka kaki ini akan menghasilkan
sinyal digital, yaitu High (=5V) atau Low (=0V).

Khusus untuk kaki D0 dan D1, biasanya tidak
digunakan sebagai kaki digital, tetapi sebagai kaki TX
dan RX untuk komunikasi serial dengan komputer.

Khusus untuk kaki D3, D5, D6, D9, D10, D11, tidak
hanya bisa digunakan sebagai kaki input/output
digital saja, tetapi bisa juga digunakan sebagai kaki
PWM. Kaki PWM ini dapat menghasilkan tegangan
(mirip) analog dari 0 – 5V dengan cara mengatur
lebar pulsa digitalnya.
12.
D1
Digital In/Out
13.
D2
Digital In/Out
14.
D3
Digital In/Out
15.
D4
Digital In/Out
16.
D5
Digital In/Out
17.
D6
Digital In/Out
18.
D7
Digital In/Out
19.
D8
Digital In/Out
20.
D9
Digital In/Out
21.
D10
Digital In/Out
22.
D11
Digital In/Out
23.
D12
Digital In/Out
24.
D13
Digital In/Out


2. Input Output Digital pada PLCArduino

Dengan tujuan untuk memudahkan pengguna, maka penulis telah membuat fungsi setupku di Library PLCArduinoku, yang membuat letak kaki Input dan kaki Output Digital selalu tetap, yaitu untuk kaki Input Digital selalu terletak di kiri Arduino Uno, yaitu di kaki A0 - A5, yang untuk selanjutnya dinamai X1 - X6 (huruf X di depan merupakan insial untuk kaki Input di Ladder Diagram). Sedangkan kaki Output Digital selalu terletak di kanan Arduino Uno, yaitu di kaki D2 - D13, yang untuk selanjutnya dinamai Y1 - Y12 (huruf Y di depan merupakan inisial untuk kaki Output di Ladder Diagram). Penulis berharap dengan membuat Input di sisi kiri Arduino dan Output di sisi kanan akan dapat mengurangi resiko kesalahan penyambungan.



3. Konsep Aktif High dan Aktif Low

Sebelum melihat contoh program untuk Input Output Digital, penulis merasa perlu untuk menjelaskan tentang konsep Aktif High dan Aktif Low. Aktif High dan Aktif Low adalah istilah yang sering digunakan untuk menandai kondisi yang akan dihasilkan dari suatu Input atau Output Digital. Sebuah Input Digital dikatakan Aktif High apabila secara normal Input ini memberikan sinyal Low, dan hanya memberikan sinyal High ketika diaktifkan. Sebaliknya sebuah Input dikatakan Aktif Low apabila secara normal Input ini memberikan sinyal High, dan hanya memberikan sinyal Low ketika diaktifkan. Istilah diaktifkan ini mengacu pada aksi yang dilakukan pada Input tersebut. Sebagai contoh, sebuah Input Tombol dikatakan diaktifkan apabila Input Tombol tersebut ditekan. Contoh lain sebuah sensor getaran dikatakan diaktifkan apabila sensor tersebut digetarkan. Untuk membuat sebuah Tombol menjadi Input Aktif High atau Input Aktif Low, dapat dilakukan dengan menambahkan sebuah resistor 10k ohm, sumber tegangan +5V dan Ground, yang disusun dengan rangkaian seperti ditunjukkan pada gambar skematik berikut ini:

Gambar kiri di atas adalah gambar skematik Input Aktif High dan gambar skematik kanan adalah Input Aktif Low. Istilah Input Aktif High dan Input Aktif Low ini hanya berlaku pada Input Digital saja. Input Analog tidak mengenal istilah Aktif High dan Aktif Low, karena Input Analog tidak hanya memiliki nilai High atau Low saja, tetapi semua nilai tegangan antara 0 sampai 5V.

Sama seperti Input Digital, Output Digital juga menggunakan istilah Aktif High dan Aktif Low untuk menandai kondisi yang akan terjadi ketika diberi sinyal tertentu. Output Digital dikatakan Aktif High apabila Output tersebut hanya aktif apabila diberi sinyal Digital High. Istilah Aktif dalam hal ini mengacu pada hasil Output tersebut. Contoh apabila Output berupa LED, maka dikatakan aktif apabila LED tersebut menyala. Apabila Output berupa Buzzer, maka dikatakan aktif apabila Buzzer tersebut berbunyi. Berikut gambar skematik untuk Output Aktif High dan Output Aktif Low pada Output LED.

Output Aktif High sering disebut sebagai Output Current Sourcing, sedangkan Output Aktif Low sering disebut sebagai Output Current Sinking. Current Sourcing berarti arus hanya mengalir bila diberi sinyal High, sedangkan Current Sinking berarti arus hanya mengalir bila diberi sinyal Low.


4. Mengapa Aktif Low lebih disukai?

Sekalipun rangkaian dengan Input dan Output Aktif High nampaknya lebih banyak dijumpai dan diterapkan pada rangkaian, namun Input dan Output Aktif Low sebenarnya lebih baik. Mengapa demikian? Berikut ini beberapa alasan mengapa Input dan Output Aktif Low lebih baik:
  1. Saat mikrokontroler dihidupkan pertama kali atau saat di-reset, kaki-kaki IO mikrokontroler akan berada dalam kondisi High atau mengambang. Apabila kaki-kaki mikrokontroler tersebut terhubung dengan Alat Output Aktif High, maka Alat Output tersebut akan sempat bekerja walaupun hanya sebentar. Namun apabila kaki-kaki IO mikrokontroler tersebut terhubung dengan Alat Output Aktif Low, maka Alat Output tersebut tidak akan bekerja saat direset.
  2. Untuk Alat-alat Input dengan sumber tegangan yang berbeda (misal 3,3V dan 5V), maka level High antara satu alat dengan yang lain menjadi tidak sama. Untuk menghindari kesalahan pembacaan oleh mikrokontroler, maka dapat diatasi dengan membuat Input menjadi Aktif Low. Mengapa? Karena biasanya Ground pada rangkaian-rangkaian tersebut dihubungkan bersama, sehingga level Low antara satu alat dengan yang lain pasti sama. Dengan cara ini, kesalahan pembacaan dapat dihindari, yaitu dengan menentukan bahwa jika tegangan pada suatu input besarnya lebih dari 0V, maka dibaca High, sebaliknya jika tegangannya 0V, maka dibaca Low.
  3. Umumnya hampir semua mikrokontroler memiliki resistor internal pull-up. Untuk membuat Alat Input dari Tombol menjadi Aktif Low, maka tidak perlu menambah resistor lagi, sehingga lebih menghemat biaya dan ruang.
  4. Rangkaian Aktif Low identik dengan konfigurasi Open Collector atau Open Drain. Keuntungan konfigurasi seperti ini adalah meminimalkan resiko data hilang pada bagian yang tidak aktif karena noise (lebar noise level High lebih besar dari lebar noise level Low). 
  5. Keuntungan yang lain adalah, output-output dengan konfigurasi Open Collector dapat langsung dihubungkan tanpa membuat rangkaian menjadi short circuit, karena bersifat mirip seperti gerbang OR.
  6. Kebocoran daya pada rangkaian Aktif Low lebih sedikit daripada rangkaian Aktif High, karena pembuatan rangkaian Aktif Low (khususnya untuk teknologi pembuatan semikonduktor yang lama), memerlukan lebih sedikit transistor dibandingkan pembuatan rangkaian Aktif High.

Itulah sebabnya di sini penulis memilih menggunakan Modul Input dan Output Hardware PLCArduino menggunakan rangkaian Aktif Low. Berikut ini video yang menunjukkan bahwa dengan rangkaian Aktif Low dan optoisolator, induksi arus AC akibat pensaklaran arus listrik AC tidak berpengaruh terhadap rangkaian.


5. Contoh program Input Output Digital

Kini tibalah saatnya untuk materi praktek, karena konon, menurut kata orang, kalau hanya teori saja, kita akan mudah lupa, tetapi bila teori disertai dengan praktek, kita akan lebih lama lupanya. Untuk itu, agar pembaca lebih memahami materi ini, berikut ini materi praktek berisi langkah-langkah penggunaan PLCArduino untuk aplikasi Input Output Digital.
  1. Buka contoh program IO Dasar di kategori IO Digital. Buka Menu File, pilih Examples dan kemudian pilih PLCArduinoku, kemudian IO Digital, dilanjutkan dengan IO Dasar.
  2. Perhatikan, bahwa sebelum IO Digital, ternyata pembaca diberikan 2 pilihan hardware, yaitu Modul IO Aktif High dan Modul IO Aktif Low. Apabila pembaca menggunakan modul hardware seperti gambar di bawah ini, maka silahkan memilih B. Modul IO Aktif Low.
  3. Rangkai modul hardware seperti gambar pengawatan di  bawah ini.
  4. Upload program ke Arduino dengan cara menekan tombol Upload (bergambar tanda panah ke kanan). Namun sebelum itu, pembaca harus memastikan jenis Board Arduino dan saluran Port COM yang digunakan, dengan membukanya di Menu Tools. Apabila pilihan sudah benar, tekan tombol Upload
  5. Tunggu hingga proses Upload selesai, maka program IO Dasar pada PLCArduino siap bekerja. Program IO Dasar tersebut seharusnya menghasilkan kondisi sebagai berikut: ketika tombol S1 yang terhubung dengan kaki A0 ditekan, maka Relay di Y1 yang terhubung dengan kaki D2 akan hidup. Sebaliknya ketika tombol S1 dilepas, maka Relay di Y1 akan mati.
  6. Apabila rangkaian sudah bekerja sesuai dengan program, lanjutkan dengan mencoba contoh program IO Rele Internal dan IO Penyederhanaan. Kemudian catat hasil program terhadap kondisi Input Output PLCArduino untuk masing-masing program tersebut.  
Rangkaian Pengawatan untuk program IO Digital

#1. Program IO Dasar.
Catatan: untuk menghemat tempat, maka sengaja keterangan program tidak ditampilkan.

#2. Program IO Rele Internal.

#3. Program IO Penyederhanaan.

Video Program IO Digital.


2 comments:

  1. Mohon diulas juga digital Protected Digital Input/Output

    ReplyDelete
  2. Coba agan pake Dioda Zener sama resistor untuk Digital Inputnya..

    ReplyDelete