Arduino memiliki 2 pin yaitu pin digital dan pin analog. Pin analog yaitu pin yang memiliki nilai antara 0 dan 1 sehingga sinyalnya akan terus-menerus (kontinu). Pin digital ialah pin yang memiliki 2 nilai yaitu 0 dan 1, high atau low, on atau off sehingga sinyalnya bisa dikonfigurasi menjadi 2 keadaan: sinyal yang dikirimkan (output) dan sinyal yang diterima (input).
Fungsi pin digital arduino ialah sebagai berikut: 1. Masukan pin untuk membaca keadaan pin atau biasa disebut dengan input 2. Masukan pin sebagai keluaran untuk menggerakkan beban disebut dengan output. Kapan pin akan menjadi input dan output? Ketika pin menerima sinyal maka disebut sebagai input dan ketika pin mengirimkan sinyal biasa disebut output. 3. Masukan pin untuk fungsi kembali seperti komunikasi serial dan PWM (pulse wide modulation).
Berikut gambaran sederhana mengenai pin arduino:
Beberapa pin arduino memiliki fungsi sebagai PWM seperti yang tertera pada gambar dan 2 pin di kanan atas digunakan untuk komunikasi serial.
Setelah mengetahui fungsi pin pada arduino, selanjutnya kita pahami bagaimana mengatur mode pin sebagai input ataupun output.
Untuk mengatur mode, para programmer biasanya menggunakan fungsi berikut: pinMode() dan disimpan dalam fungsi setup(). Fungsi pinMode() memerlukan 2 parameter yakni nomor pin dan konstanta seperti pada fungsinya yaitu:
pinMode([nomorPin], [mode])
Pengaturan input dan output disesuaikan dengan mode yang ingin dipakai. Semisal ingin menjadikan LED output dan pushbutton sebagai input. Perhatikan contoh sederhana pengaturan pinMode berikut:
void setup() { pinMode(1, INPUT); //set pin 1 sebagai input pinMode(2, OUTPUT); //set pin 2 sebagai output }
digitalRead(nomorPin) ialah fungsi yang digunakan untuk menerima input digital yang masuk ke pin arduino. Fungsi ini hanya menerima 1 parameter yaitu nomor pin yang dibaca melalui pin input. Fungsi ini juga akan mengembalikan nilai 1 dan 0. Perhatikan contoh kode berikut:
Kode di atas akan menyalakan LED dengan kontrol dari pushbutton. Saya menghubungkan salah satu kaki pushbutton ke pin 4 dan GND, sedangkan kaki lainnya Saya hubungkan ke tegangan 5V pada arduino. Sebagai syarat, kaki yang terhubung ke GND harus melewati pull down resistor.
Apa yang akan terjadi? Ketika pushbutton tidak ditekan maka kedua kaki pushbutton tidak terhubung dan selanjutnya pin 4 yang akan terhubung ke GND. Sehingga menghasilkan keluaran 0 atau lampu LED dalam keadaan off. Ketika pushbutton ditekan maka kedua kaki pushbutton terhubung yang mengakibatkan pin 4 terhubung ke tegangan 5V dan nilai keluarannya adalah 1 atau dikatakan lampu LED menyala.
Setelah kita mengetahui tentang input atau masukan pada arduino, yuk kita pahami lebih dalam mengenai output-nya!
Fungsi yang dipakai dalam digital output yaitu: digitalWrite(nomorPin, nilaiDigital) Biasanya fungsi tersebut digunakan jika sudah ada pin sebelumnya yang di set ke mode output. Set nilai digunakan untuk mengatur nilai seperti jika diatur untuk bernilai 1 atau menyala maka dihubungkan dengan pin 5V atau 3,3V disesuaikan spesifikasi arduino yang dimiliki. Jika diatur untuk bernilai 0 atau off maka dihubungkan ke pin GND
Perhatikan contoh berikut:
Kode di atas merupakan kode pemrograman dari kontrol 1 pushbutton untuk 2 LED. Prinsip yang digunakan sama, yaitu mengatur pin untuk button juga LED. Hal yang perlu diingat yaitu penamaan dari 2 LED haruslah berbeda karena jika sama, maka hanya ada 1 LED yang bisa dikontrol.
Terima kasih telah membaca:)
Referensi: Haryanto, Toni. (2016, 7 Januari). Digital Input Output pada Arduino. https://www.codepolitan.com/blog/digital-input-output-pada-arduino/. 2022, 2 Februari). Pin Masukan dan Keluaran Arduino. https://startingelectronics.org/beginners/arduino-tutorial-for-beginners/arduino-input-and-output-pins/. Gambar 1. Sumber: https://startingelectronics.org/beginners/arduino-tutorial-for-beginners/arduino-input-and-output-pins/. Gambar 2 dan 3. Sumber: Dokumentasi Pribadi.