Anda di halaman 1dari 6

PRAKTIKUM 1

ARDUINO DIGITAL INPUT/OUTPUT

1.1 TIK
Setelah menyelesaikan ini diharapkan mahasiswa akan dapat:
1. Menjelaskan antarmuka digital input/output di Arduino
2. Membedakan antarmuka input dan output di Arduino
3. Menggunakan antarmuka digital input/output untuk mengendalikan perangkat I/O

1.2 DASAR TEORI


Semua pin pada Arduino, baik pin digital maupun pin analog, dapat digunakan sebagai pin
digital. Digital berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off, HIGH
atau LOW, ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya bersifat
kontinyu, yakni nilai antara 0 dan 1 dipertimbangkan. Pin digital berarti pin dapat
menerima/mengirim sinyal digital.

Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input
dan output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima
masukan sinyal. Mode output berarti mengeset pin agar dapat mengirimkan sinyal.

Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil
di dalam fungsi setup(). fungsi ini memerlukan dua parameter, pinMode([nomorPin],
[mode]). Parameter pertama diisi oleh nomor pin, dan parameter kedua diisi oleh konstanta
INPUT atau OUTPUT, sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, lihat
pada kode berikut.

void setup()

pinMode(1, INPUT); // set pin 1 sebagai pin input

pinMode(2, OUTPUT); // set pin 2 sebagai pin output

}
Digital Input

Pada dasarnya semua pin yang ada pada Arduino (ATMega) berada pada mode input
secara default. Jadi ketika kita ingin menggunakan suatu pin sebagai input, maka kita tidak
mesti menuliskan pinMode(nomorPin, INPUT);.

Untuk menerima input digital yang masuk ke pin, kita gunakan


fungsi digitalRead(nomorPin). Fungsi ini menerima satu parameter, yaitu nomor pin mana
yang akan dibaca nilai inputnya. Fungsi ini akan mengembalikan nilai 1 dan 0, atau HIGH
dan LOW (HIGH adalah konstanta dengan nilai 1 dan LOW adalah konstanta dengan nilai
0). Supaya lebih paham, silakan coba contoh berikut. Skenarionya adalah dengan
menghubungkan pushbutton ke pin 2 dan menyalakan LED yang ada pada board Arduino
Uno ketika pushbutton tersebut ditekan.

Gambar 1.1 Rangkaian Digital Input

Pada gambar di atas, Arduino terhubung dengan salah satu satu kaki pushbutton di pin 2
(kabel biru) dan GND (kabel hitam), dan menghubungkan kaki pin yang lain ke 5V (kabel
merah). Kaki pin yang terhubung ke GND harus melalui pull-down resistor. Pada
saat button terbuka (tidak ditekan), maka kedua kaki button tidak terhubung sehingga pin
2 akan terhubung dengan GND dan nilai yang dibaca pin 2 adalah LOW.
Ketika button ditekan, maka kedua kaki pin akan terhubung, menghubungkan pin 2
HIGH. Skenario yang terjadi

Input Pushbutton ditekan  Pena 2 Arduino high

Input Pushbutton tidak ditekan  Pena 2 Arduino Low

.Digital Output

Untuk mengirimkan sinyal digital, kita gunakan fungsi digitalWrite(nomorPin,


nilaiDigital). Fungsi ini dapat digunakan pada pin yang sebelumnya sudah diset ke mode
OUTPUT. Parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan
nilai HIGH, maka voltase pin tersebut akan diset ke 5V (atau 3.3V pada board bertipe
3.3V) dan bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V.

Untuk membantu pemahaman, mari kita coba pada skenario lain. Bahan yang digunakan
sama seperti pada bagian Digital Input di atas, dengan tambahan 1 buah LED dan 1 buah
resistor 220 ohm. Buat rangkaian seperti pada gambar berikut:

Gambar 1.2 Rangkaian Digital Input Output

Rangkaiannya sama seperti percobaan pertama, hanya menambah LED saja. LED atau
Light Emitting Diode memiliki dua buah kaki yakni anoda (+) dan katoda (-). Biasanya
kaki anoda atau positif dibuat lebih panjang daripada kaki negatif agar mudah dikenali.
Kaki positif dihubungkan dengan pin 3 melalui resistor 220 ohm. Kaki negatif
dihubungkan dengan GND. Kesalahan pemasangan posisi kaki membuat LED tidak
menyala dan pemasangan LED tanpa menggunakan resistor kemungkinan besar akan
membuat LED kelebihan arus yang menyebabkan LED terbakar dan rusak. Kondisi LED
akan menyala jika kutub positif LED (Anoda) lebih tinggi tegangannya dibandingkan
kutub negatif (Katoda). Jika terjadi kondisi sebaliknya LED akan padam.

1.3 ALAT DAN BAHAN


1. Komputer
2. Arduino IDE
3. Arduino
4. Pushbutton
5. LED
6. Resistor

1.4 LANGKAH KERJA


A. DIGITAL INPUT
1. Buat Rangkaian seperti Gambar 1.1
2. Buat kode berikut

// buat variabel untuk nomor pin supaya lebih mudah merujuknya


const int pinButton = 2;
const int pinLed = 13;

// variabel untuk menyimpan nilai input pin button


int nilaiButton = 0;

void setup() {
// set mode input pada pin untuk button, ga wajib
pinMode(pinButton, INPUT);

// set pin untuk LED ke mode output


pinMode(pinLed, OUTPUT);
}

void loop() {
// baca nilai pin untuk button
nilaiButton = digitalRead(pinButton);

// cek apakah button ditekan


if (nilaiButton == HIGH) {
// nyalakan LED
digitalWrite(pinLed, HIGH);

} else { // kalo nilai pin LOW


// matikan LED
digitalWrite(pinLed, LOW);
}
}

3. Compile dan download ke Arduino

B. DIGITAL INPUT/OUTPUT
1. Buat Rangkaian seperti Gambar 1.1
2. Buat kode berikut

const int pinButton = 2;


const int pinLed = 3;

// variabel untuk menyimpan nilai input pin button


int nilaiButton = 0;

void setup() {
// set mode input pada pin untuk button, ga wajib
pinMode(pinButton, INPUT);

// set pin untuk LED ke mode output


pinMode(pinLed, OUTPUT);
}

void loop() {
// baca nilai pin untuk button
nilaiButton = digitalRead(pinButton);

// cek apakah button ditekan


if (nilaiButton == HIGH) {
// buat LED berkedip
digitalWrite(pinLed, HIGH);
delay(100);
digitalWrite(pinLed, LOW);
delay(100);

} else { // kalo nilai pin LOW


// matikan LED
digitalWrite(pinLed, LOW);
}
}

3. Compile dan download ke Arduino


1.5 LATIHAN
Buat sinyal di LED untuk menampilkan 1 karakter Morse jika ditekan. Gunakan rutin
delay() (refi: https://www.arduino.cc/reference/en/language/functions/time/delay/)
untuk menunda sinyal yang dikirimkan ke output LED.

Anda mungkin juga menyukai