Anda di halaman 1dari 19

MIKROKONTROLER

DIGITAL INPUT OUPUT ARDUINO

OLEH :

NAMA : IHYA’ ULUMIDDIN

NIM : 18050514027

KELAS : PTE ELKOM 2018

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA

2020
A. JUDUL PERCOBAAN : DIGITAL INPUT OUTPUT ARDUINO

B. TUJUAN PERCOBAAN :
1. Mengetahui tentang pin digital yang digunakan sebagai input.
2. Melakukan analisis pada rangkaian resistor pull-up yang dikonfigurasikan
sebagai INPUT
3. Mengetahui tentang pin digital yang dikonfigurasikan sebagai
INPUT_PULLUP.
4. Mengetahui kondisi pin digital yang difungsikan sebagai output.

C. ALAT
1. Laptop (terinstal Proteus dan Arduino)

D. 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.
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). 
Digital Output
Sebenarnya pada bagian pembahasan Digital Input di atas, kita sudah
mempraktekkan 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.
Mode Input Pullup
Sintaks pinMode (pin, INPUT_PULLUP). Pada mode ini terdapat internal
resistor sebesar 20K pada chip atmega arduino yang diatur melalui program.
Resistor pull-up ini diakses dengan mengatur pinMode() sebagai
INPUT_PULLUP. Ini berarti berbanding terbalik dengan mode input high
impedance, logika HIGH berarti kondisi off dan logika LOW berarti on.
Jadi saat menggunakan pin sebagai input pull-up, ujung lain dari
perangkat komponen sensor atau sebagai contoh pada tombol harus terhubung
dengan ground. Contoh digunakan tombol push button, jika tombol tidak ditekan
atau kondisi terbuka maka arduino akan membaca kondisi HIGH, dan kondisi
LOW saat tombol ditekan. Gambar berikut menunjukkan ilustrasi input pull-up.
PRAKTIKUM 1
1. Gambar Rangkaian

2. Hasil Uji Coba

Gambar 1.1 Sebelum Push Button ditekan


Gambar 1.2 Push Button ditekan dan dilepas

Gambar 1.3 Push Button ditekan dan ditahan


Gambar 1.4 Skrip Program Aplikasi Arduino
3. Pertanyaan : Apa yang terjadi pada Pin no 2 ?
Jawaban :

No. Push Button Keadaan Pin No. 2 Virtual Monitor

1. Belum ditekan Mati (Kotak abu-abu) 0


2. Ditekan lalu dilepas Mati (Kotak abu-abu) 1
3. Ditekan lalu ditahan Hidup (Kotak Biru) 0

PRAKTIKUM 2
1. Gambar Rangkaian

2. Hasil Uji Coba

Gambar 2.1 Sebelum Push Button ditekan


Gambar 2.2 Push Button ditekan dan dilepas

Gambar 2.3 Push Button ditekan dan ditahan


Gambar 2.4 Skrip Program Aplikasi Arduino
3. Pertanyaan : Bagaimana kondisi LED?
Jawaban :

No. Push Button Keadaan LED Virtual Monitor


1. Belum ditekan Hidup 0
2. Ditekan dan dilepas Mati 1
3. Ditekan dan ditahan Hidup 0
PRAKTIKUM 3
1. Gambar Rangkaian

2. Hasil Uji Coba

Gambar 3.1 Sebelum Push Button ditekan


Gambar 3.2 Push Button ditekan dan dilepas

Gambar 2.3 Push Button ditekan dan ditahan


Gambar 2.4 Skrip Program Aplikasi Arduino
3. Pertanyaan : Apa fungsi dari resistor tersebut ?
Jawaban : resistor berfungsi menghindari dampak dari short circuit dan
kondisi floating atau tidak terdefinisikan. Saat Push Button belum ditekan,
maka tidak ada arus listrik yang masuk ke LED. Atau sama dengan
memberi penambahan fungsi utama Pull-up pada rangkaian praktikum 2.
Bandingkan dengan Praktikum 2 ?

Keadaan Virtual Virtual


Keadaan LED
No. Push Button LED Monitor Monitor
Praktikum 3
Praktikum 2 Praktikum 2 Praktikum 3

Belum
1. Hidup 0 Mati 1
ditekan
Ditekan lalu
2. Mati 1 Mati 1
dilepas
Ditekan lalu
3. Hidup 0 Hidup 0
ditahan
PRAKTIKUM 4
1. Gambar Rangkaian

2. Hasil Uji Coba

Gambar 4.1 Tombol Ditekan Pertama Kali


Gambar 4.2 Tombol Saat Terbuka 1

Gambar 4.3 Tombol Saat Ditekan Kedua Kalinya


Gambar 4.4 Tombol Saat Terbuka Kedua Kalinya.
3. Perbandingan :

Pada program diatas, untuk variabel switch untuk tombol yaitu but berawalan
TRUE, dan variabel switch untuk led berawalan FALSE. Jadi ketika tombol tidak
ditekan maka bernilai HIGH, maka perintah awal if tidak dijalankan karena tidak
memenuhi persyaratan dan lanjut menuju “but=FALSE”, yaitu mengeset switch
variabel untuk tombol menjadi FALSE, lalu pada ElSE IF, keadaan memenuhi
persyaratan, maka Statemen ELSE IF tersebut dijalankan. Statemen pada ELSE IF
tersebut hanya mengeset ulang variabel switch tombol (but) menjadi TRUE lagi.
Program ini akan terus melooping tanpa henti.
Ketika kita menekan tombol, maka perintah IF diawal tereksekusi dan menuju
ke if didalamnya. Keadaan if didalamnya yaitu , jika variabel switch LED TRUE
maka statement pada if tersebut dijalankan,yaitu mematikan LED dan mengeset
variabel switch LED menjadi FALSE, sebaliknya FALSE maka statemen ELSE
yang akam dijalankan, yaitu menyalakan LED dan mengeset variabel switch LED
menjadi TRUE. Ketika kita melepaskan tombol tersebut, maka akan kembali ke
perulangan sebelumnya yaitu kondisi pada ELSE IF dijalanjkan dan akan terus
berulang sampai tombol ditekan lagi. Ketika ditekan kembali maka IF diawal akan
tereksekusi dan pada saat itu kondisi switch variabel LED masih keadaan TRUE,
maka dari itu IF dalam IF lah yang dijalankan, yaitu statemen untuk mematikan LED
dan mengeset variabel switch LED menjadi FALSE. Program ini akan terus berulang
tidak berhenti karena program ada pada fungsi Void Loop().
4. FLOWCHART

MULAI

Inisialisasi pin 11
sebagai
INPUT_PULLUP,
pin 12 sebagai
OUTPUT

Kondisi HIGH
Tombol

LOW

HIDUP
Kondisi
LED

MATI

LED LED
Dihidupkan Dimatikan

KESIMPULAN
Arduino memiliki berbagai macam pin salah satunya yaitu pin digital, dimana
pin digital ini mempunyai fungsi sebagai pin Input dan Output. Pada rangkaian
tombol pada percobaan ini menandakan bahwa keadaan logika pada arduino random
atau Floating. Maka dari itu fungsi dari rangkaian PULL-UP untuk membuat logika
pin menjadi HIGH, dan penggunaan resistor untuk mengatasi short circuit.

Daftar Pustaka
Anonim. 2019. “Fungsi Masukan dan Keluaran Pada Arduino”. (Online),

(https://webagus.id/fungsi-masukan-dan-keluaran-pada-arduino/),
Diakses pada 1 April 2020.

Haryanto, Toni. 2016. “Digital Input Output pada Arduino”


(https://www.codepolitan.com/digital-input-output-pada-arduino ),diakses
Diakses pada 1 April 2020.

Anda mungkin juga menyukai