Anda di halaman 1dari 26

MIKROKONTROLER

DIGITAL I/O

DI SUSUN OLEH :

NAMA : ISFANDIAR NAUFAL F


NIM : 18050514023
KELAS : ELKOM 2018

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS NEGERI SURABAYA
2020
A. JUDUL PERCOBAAN : DIGITAL I/O

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. Peralatan yang digunakan


1. LAPTOP (terinstal arduino dan proteus)

D. TEORI DASAR

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. 
- pinMode(pin_number, mode)
Untuk mengecek mode pin dapat kita gunakan fungsi PIN mode
fungsi ini memerlukan dua parameter in mode nomor PIN mode
parameter pertama diisi oleh nomor pin dan kemudian parameter kedua
Disi oleh mode PIN baik mode input atau output sesuai dengan mode
yang kita ingin gunakan
Fungsi mode tadi  biasanya dipanggil dalam fungsi set up fungsi
setup adalah nama fungsi yang telah disediakan oleh Arduino untuk
menyatakan fungsi yang akan dijalankan pertama kali fungsi ini berisi
kode-kode untuk kepentingan inisialisasi
- digitalWrite(pin_number, mode)
Fungsi ini digunakan untuk menulis nilai digital untuk sebuah pin
fungsi ini memerlukan dua parameter yaitu dan nilai digital yang akan
kita masukkan nilai yang di masukan berupa nilai digital seperti yang
telah kita ketahui nilai digital tersebut Iyalah 1 atau 0 dan juga biasanya
disebut dengan high low
- digitalRead(pin_number)
Fungsi ini digunakan untuk membaca nilai digital yang terdapat
pada sebuah pin input output yang ingin kita baca fungsi ini hanya
memiliki sebuah parameter yaitu nomor PIN yang ingin kita baca

- Mode Input High Impedance


Sintaks : pinMode(pin, INPUT);
Mode input high impedance ini merupakan mode bawaan atau default pin
arduino. Pada mode ini seolah-olah terdapat resistor 100 Mega ohm dipasang seri
terhadap pin. Ini berarti pada kondisi ini pin membutuh arus yang sedikit untuk
merubah kondisi logika, mode ini baik digunakan untuk membaca sensor sentuh
kapasitif atau membaca LED sebagai photodioda.

- 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.
TUGAS PRAKTIKUM 1

1. GAMBAR RANGKAIAN

Gambar 1. Rangkaian untuk praktikum 1 pada proteus


2. SCRIPT PROGRAM UNTUK TUGAS PRAKTIKUM 1

Gambar 2.1 Script program pada arduino IDE


3. HASIL PERCOBAAN
a. Ketika tombol tidak di tekan atau tombol dalam keadaan terbuka.

Gambar 3.1 Hasil uji coba tombol saat open.


b. Ketika tombol di tekan atau tombol dalam keadaan tertutup.

\
Gambar 3.2 Hasil uji coba tombol saat close.
4. ANALISIS
Untuk hasil dari level logika pada saat tombol terbuka, pada virtual serial
monitor pada aplikasi proteus bernilai 1, yang dimana seharusnya keadaan logika
pada saat terbuka itu floating, yang dimana tidak tentu antara high atau low.
Dikarenakan juga tidak ada arus yang masuk maupun keluar,

Gambar 4.1 Serial monitor saat tombol terbuka.


Tetapi ketika dilihat dari dekat pada arduino di simulasi , tidak terdapat cahaya
atau warna sebagai tanda ketika merah itu HIGH dan biru itu LOW, seperti gambar
dibawah ini.

Gambar 4.2 indikator logika pada tombol terbuka.


Yang dimana menandakan bahwa pin tersebut tidak dalam keadaan HIGH
maupun LOW.
Untuk hasil dari level logika pada saat tombol tertutup, pada virtual serial
monitor pada aplikasi proteus bernilai 0, dikarenakan tombol tersebut tersambung
oleh Ground, yang menyebabkan keadaan logika pada pin tersebut 0/LOW. Bisa
dilihat pada gambar dibawah ini.

Gambar 4.3 Serial monitor saat tombol tertutup.


TUGAS PRAKTIKUM 2

1. GAMBAR RANGKAIAN

Gambar 1. Rangkaian untuk praktikum 2 pada proteus


2. SCRIPT PROGRAM UNTUK TUGAS PRAKTIKUM 2

Gambar 2.1 Script program pada arduino IDE


3. HASIL PERCOBAAN
a. Ketika tombol tidak di tekan atau tombol dalam keadaan terbuka.

Gambar 3.1 Hasil uji coba tombol saat open.

b. Ketika tombol di tekan atau tombol dalam keadaan tertutup.

Gambar 3.2 Hasil uji coba tombol saat close.


4. ANALISIS

Pada saat tombol tidak ditekan atau dalam keadaan terbuka, level logika yang
terbaca pada virtual terminal di proteus yaitu HIGH, dan led tidak menyala
dikarenakan

Yang dimana jika tombol bernilai tidak LOW atau 0, maka statemen yang
dieksekusi yaitu digitalWrite (13, LOW);
Yaitu statemen yang digunakan untuk mematikan LED. Bisa dilihat pada
gambar dibawah ini,

Gambar 4.1 Indikator LED saat tombol terbuka.


Pada saat tombol ditekan atau dalam keadaan tertutup, level logika yang
terbaca pada virtual terminal di proteus yaitu LOW, dan led menyala dikarenakan

Yang dimana jika tombol bernilai LOW atau 0, maka statemen yang dieksekusi
yaitu digitalWrite (13, HIGH);
Yaitu statemen yang digunakan untuk menyalakan LED. Bisa dilihat pada
gambar dibawah ini,

Gambar 4.2 Indikator LED saat tombol tertutup.


TUGAS PRAKTIKUM 3
1. GAMBAR RANGKAIAN

Gambar 1. Rangkaian untuk praktikum 3 pada proteus


2. SCRIPT PROGRAM UNTUK TUGAS PRAKTIKUM 1

Gambar 2.1 Script program pada arduino IDE


3. HASIL PERCOBAAN
a. Ketika tombol tidak di tekan atau tombol dalam keadaan terbuka.

Gambar 3.1 Hasil uji coba tombol saat open.


b. Ketika tombol di tekan atau tombol dalam keadaan tertutup.

Gambar 3.2 Hasil uji coba tombol saat close.


4. ANALISIS

Pada saat tombol tidak ditekan atau dalam keadaan terbuka, level logika yang
terbaca pada virtual terminal di proteus yaitu HIGH, dan led tidak menyala
dikarenakan

Yang dimana jika tombol bernilai tidak LOW atau 0, maka statemen yang
dieksekusi yaitu digitalWrite (13, LOW);
Yaitu statemen yang digunakan untuk mematikan LED. Bisa dilihat pada
gambar dibawah ini,

Gambar 4.1 Indikator LED saat tombol terbuka.


Pada saat tombol ditekan atau dalam keadaan tertutup, level logika yang
terbaca pada virtual terminal di proteus yaitu LOW, dan led menyala dikarenakan

Yang dimana jika tombol bernilai LOW atau 0, maka statemen yang dieksekusi
yaitu digitalWrite (13, HIGH);
Yaitu statemen yang digunakan untuk menyalakan LED. Bisa dilihat pada
gambar dibawah ini,

Gambar 4.2 Indikator LED saat tombol tertutup.


Untuk perbandingannya, untuk praktikum kedua ketika tombol terbuka maka
led akan menyala dikarenakan logika pada saat open yaitu 1, begitu pula dengan
praktikum ke 3 ini, ketika tombol keadaan terbuka, logika pada pin tersebut juga
HIGH/1. Dikarenakan pada simulasi proteus ini ketika tombol dalam keadaan
floating untukl praktikum ke 2 yang dimana pin tersebut terbaca HIGH, maka tidak
ada perbedaan untuk indikator led nya, tetapi untuk indikator warna pada tombol itu
sendiri menjadi warna merah yaitu keadaan logika HIGH, dari yang sebelumnya
tidak berwarna / floating.

Untuk kegunaan dari resistor 10K pada rangkaian yaitu untuk menghambat
arus pada sumber tegangan 5V agar arus menjadi 0,5 mA

Penambahan tegangan berfungsi agar pin tersebut tidak floating dan logika
menjadi HIGH/1, dan agar tidak terjadi short circuit ketika tombol di tekan, maka
ditambahkannya resistor, rangkaian ini disebut dengan rangkaian PULL-UP.
TUGAS PRAKTIKUM 4
1. GAMBAR RANGKAIAN

Gambar 1. Rangkaian untuk praktikum 4 pada proteus.


2. SCRIPT PROGRAM UNTUK TUGAS PRAKTIKUM 4

Gambar 2.1 Script program pada arduino IDE


3. HASIL PERCOBAAN
a. Ketika tombol ditekan pertama kali atau tombol dalam keadaan tertutup
untuk yang pertama.

Gambar 3.1 Hasil uji coba tombol saat ditekan 1.


b. Ketika tombol dilepas atau tombol dalam keadaan terbuka untuk yang
pertama.

Gambar 3.2 Hasil uji coba tombol saat terbuka 1.


a. Ketika tombol ditekan kedua kalinya atau tombol dalam keadaan tertutup
untuk yang kedua.

Gambar 3.3 Hasil uji coba tombol saat ditekan ke 2 kalinya.


b. Ketika tombol dilepas atau tombol dalam keadaan terbuka untuk yang
kedua.

Gambar 3.4 Hasil uji coba tombol saat terbuka kedua kalinya.
4. ANALISIS

Pada percobaan kali ini, tombol digunakan sebagai switch yang ketika pertama
kali ditekan lalu dilepaskan maka lampu led akan menyala, ketika kita tekan lagi
lalu di lepaskan maka led akan mati.

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().
5. FLOWCHART

MULAI

Inisialisasi pin 11 sebagai INPUT_PULLUP dan pin 12 sebagai OUTPUT

Kondi
si HIGH
tomb
ol

LOW

Kon
disi
LED HIDUP

MATI

LED Dihidupkan LED 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.

Dalam arduino juga mempunyai include resistor PULL-UP yang tertanam pada
board arduino itu sendiri, kita tinggal memanggil program INPUT_PULLUP untuk
mengaktifkannya, yang dimana logika pin tersebut menjadi HIGH.
Daftar Pustaka

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


(https://www.codepolitan.com/digital-input-output-pada-
arduino),diakses pada 1 April 2020. Pukul 03.00.
Ilham,Maulana. 2020. “Tutorial Arduino : Digital Input Output Arduino [LED dan
Push Button]” (muhilham.com/2020/02/digital-input-output-arduino-
led-dan-push-button.html), pada 1 April 2020. Pukul 04.00.
Maulana, Ikhsan 2019. “Belajar Arduino : Mengenal Digital Input Output Pada
Arduino”.( https://proyekrumahan.id/2016/06/belajar-arduino-mengenal-
digital-input-output-pada-arduino/ ) pada 1 April 2020. Pukul 04.10.

Anda mungkin juga menyukai