Anda di halaman 1dari 21

PRAKTIKUM MIKROKONTROLLER

DIGITAL IO

DISUSUN OLEH:

NAMA : EKA ADITYA

PRIYONO NIM18050514013

KELAS : ELKOM 2018

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA

2020
Gedung A8 Ruang A8.03.14
Kampus Ketintang Surabaya 60231
+62.31.8280009 psw 502
 /fax.+62.31.8297197

A. JUDUL : DIGITAL IO

B. TUJUAN PERCOBAAN

1. Mahasiswa dapat mengetahui pin digital yang digunakan sebagai input.


2. Mahasiswa dapat melakukan analisis pada rangkaian resistor pull – up
yang dikonfigurasikan sebagai INPUT.
3. Mahasiswa dapat mengetahui tentang pin digital yang dikonfigurasikan
sebagai INPUT_PULLUP
4. Mengetahui kondisi pin digital yang difungsikan sebagai output.

C. DASAR TEORI
Pin Digital
Pin pada Arduino dapat dikonfigurasi sebagai input atau output.
Dokumen ini menjelaskan fungsi pin dalam mode tersebut. Meskipun judul
dokumen ini mengacu pada pin digital, penting untuk dicatat bahwa sebagian
besar pin analog Arduino (Atmega), dapat dikonfigurasi, dan digunakan,
dengan cara yang persis sama dengan pin digital.

Properti Pin Dikonfigurasi sebagai INPUT


Arduino (Atmega) pin default ke input, sehingga mereka tidak perlu
secara eksplisit dinyatakan sebagai input dengan pinMode () ketika Anda
menggunakannya sebagai input. Pin yang dikonfigurasi dengan cara ini
dikatakan dalam keadaan impedansi tinggi . Pin input membuat permintaan
yang sangat kecil pada rangkaian yang diambil sampelnya, setara dengan
resistor seri 100 megohm di depan pin. Ini berarti bahwa dibutuhkan sedikit
arus untuk memindahkan pin input dari satu keadaan ke keadaan lain, dan
dapat membuat pin berguna untuk tugas-tugas seperti menerapkan sensor
sentuh kapasitif , membaca LED sebagai fotodioda , atau membaca sensor
analog dengan skema seperti RCTime.

Teknik Elektro | Laporan Praktikum Telekomunikasi


Ini juga berarti, bahwa pin yang dikonfigurasikan sebagai pinMode (pin,
INPUT) dengan tidak ada yang terhubung dengan mereka, atau dengan kabel
yang terhubung ke mereka yang tidak terhubung ke sirkuit lain, akan
melaporkan perubahan acak dalam keadaan pin, mengambil suara listrik dari
lingkungan, atau kopling kapasitif keadaan pin terdekat.

Pullup Resistor dengan pin dikonfigurasi sebagai INPUT


Seringkali berguna untuk mengarahkan pin input ke kondisi yang
diketahui jika tidak ada input. Ini dapat dilakukan dengan menambahkan
resistor pullup (ke + 5V), atau resistor pull-down (resistor ke ground) pada
input. Sebuah resistor 10K adalah nilai yang baik untuk resistor pullup atau
pulldown.

Properti Pin Dikonfigurasi sebagai INPUT_PULLUP


Ada 20K resistor pullup yang dibangun ke dalam chip Atmega yang
dapat diakses dari perangkat lunak. Resistor pull-in bawaan ini diakses
dengan mengatur pinMode () sebagai INPUT_PULLUP. Ini secara efektif
membalikkan perilaku mode INPUT, di mana TINGGI berarti sensor mati,
dan RENDAH berarti sensor menyala.

Nilai penarikan ini tergantung pada mikrokontroler yang digunakan. Pada


sebagian besar papan berbasis AVR, nilainya dijamin antara 20kΩ dan 50kΩ.
Di Arduino Due, jaraknya antara 50kΩ dan 150kΩ. Untuk nilai yang tepat,
lihat lembar data mikrokontroler di papan Anda.

Saat menghubungkan sensor ke pin yang dikonfigurasi dengan


INPUT_PULLUP, ujung lainnya harus terhubung ke ground. Dalam kasus
sakelar sederhana, ini menyebabkan pin membaca TINGGI saat sakelar
terbuka, dan RENDAH saat sakelar ditekan.
Resistor pullup menyediakan arus yang cukup untuk meredupkan LED yang
terhubung ke pin yang telah dikonfigurasi sebagai input. Jika LED dalam
suatu proyek tampaknya berfungsi, tetapi sangat redup, ini mungkin apa yang
sedang terjadi.

Resistor penarik dikendalikan oleh register yang sama (lokasi memori chip
internal) yang mengontrol apakah pin TINGGI atau RENDAH. Akibatnya,
pin yang dikonfigurasi untuk memiliki resistor pullup dinyalakan ketika pin
adalah INPUT, akan memiliki pin yang dikonfigurasi sebagai TINGGI jika
pin kemudian beralih ke OUTPUT dengan pinMode (). Ini bekerja di arah
lain juga, dan pin output yang dibiarkan dalam status TINGGI akan memiliki
resistor pullup yang ditetapkan jika beralih ke input dengan pinMode ().

Sebelum Arduino 1.0.1, dimungkinkan untuk mengkonfigurasi pull-up


internal dengan cara berikut:

pinMode (pin, INPUT); // atur pin ke input


digitalWrite (pin, HIGH); // nyalakan resistor pullup

CATATAN: Pin digital 13 lebih sulit digunakan sebagai input digital


daripada pin digital lainnya karena memiliki LED dan resistor yang terpasang
padanya yang disolder ke papan pada sebagian besar papan. Jika Anda
mengaktifkan resistor pull-up 20k internal, itu akan menggantung di sekitar
1,7V bukannya 5V yang diharapkan karena LED onboard dan resistor seri
menarik level tegangan ke bawah, yang berarti ia selalu mengembalikan
RENDAH. Jika Anda harus menggunakan pin 13 sebagai input digital, atur
pinMode () ke INPUT dan gunakan resistor pull down eksternal.

Properti Pin Dikonfigurasi sebagai OUTPUT


Pin yang dikonfigurasikan sebagai OUTPUT dengan pinMode () dikatakan
dalam keadaan impedansi rendah. Ini berarti bahwa mereka dapat menyediakan
sejumlah besar arus ke sirkuit lain. Pin Atmega dapat sumber (memberikan
arus positif) atau tenggelam (memberikan arus negatif) hingga 40 mA
(miliamps) dari arus ke perangkat / sirkuit lain. Ini adalah arus yang cukup
untuk menerangi LED (jangan lupa resistor seri), atau menjalankan banyak
sensor, misalnya, tetapi arus yang tidak cukup untuk menjalankan sebagian
besar relai, solenoida, atau motor.

Sirkuit pendek pada pin Arduino, atau mencoba menjalankan perangkat


dengan arus tinggi darinya, dapat merusak atau menghancurkan transistor
keluaran dalam pin, atau merusak seluruh chip Atmega. Seringkali ini akan
menghasilkan pin "mati" pada mikrokontroler tetapi chip yang tersisa masih
berfungsi dengan baik. Untuk alasan ini, adalah ide yang baik untuk
menghubungkan pin OUTPUT ke perangkat lain dengan resistor 470Ω atau
1k, kecuali diperlukan penarikan arus maksimum dari pin tersebut untuk
aplikasi tertentu.
D. ALAT DAN BAHAN PERCOBAAN :

a. Alat

No. Alat Spesifikasi Jumlah


1. Multimeter 1
2. Laptop (terinstall Arduino) 1
3. Bread Board 1

b. Bahan

No. Bahan Spesifikasi Jumlah

1. LED 1

2. Resistor 10 K Ω 1
Praktikum Percobaan 1

1.1. Gambar Rangkaian

Gambar 1.1 Rangkaian Digital Input

1.2. Program Pada Arduino


//Input pada pin no 2
int PinInput= 2;

void setup() {
// Mengeset mode dari pin no 2
pinMode(PinInput, INPUT);

//Memulai komunikasi serial


Serial.begin(9600);
}

void loop() {
// Membaca tegangan pada pin no 2
int Sensor_Value= digitalRead(PinInput);

//display kondisi level logika Sensor_Value pada serial monitor


Serial.println(Sensor_Value);
}

1.3. Serial Monitor Ketika Push Button Tidak Ditekan

Gambar 1.3 Serial Monitor Ketika Push Button Tidak Ditekan


1.4. Serial Monitor Ketika Push Button Ditekan

Gambar 1.4 Serial Monitor Ketika Push Button Tidak Ditekan

1.5. Kesimpulan
Hasil level logika pad serial monitor jika dengan menggunakan pinMode(PinInput,
INPUT); maka hasilnya tidak jelas dikarenakan jika kaki push button yang di
sambungkan pada port dia akan tidak stabil antara mines atau plusnya ketika push
button tidak ditekan tetapi ketika push button ditekan maka keadaannya akan stabil
pada angka 0 pada serial monitor.
Praktikum Percobaan 2

2.1. Gambar Rangkaian

Gambar 2.1 Rangkaian Digital Input Dan Output LED

2.2. Program Pada Arduino


//Input pada pin no 2
int PinInput= 2;

void setup() {
// Mengeset mode dari pin no 2
pinMode(PinInput, INPUT);

//Memulai komunikasi serial


Serial.begin(9600);
}
void loop() {
// Membaca tegangan pada pin no 2
int Sensor_Value= digitalRead(PinInput);

//display kondisi level logika Sensor_Value pada serial monitor


Serial.println(Sensor_Value);
}

2.3. Foto Rangkaian Ketika Push Button Tidak Ditekan

Gambar 2.3 Foto Rangkaian Ketika Push Button Tidak Ditekan


2.4. Foto Rangkaian Ketika Push Button Ditekan

Gambar 2.4 Foto Rangkaian Ketika Push Button Ditekan

2.5. Kesimpulan
Nyala LED ketika kondisi push button tidak ditekan akan tetap menyala tetapi
menyala dengan kecepatan terang redup yang sangat cepat dikarenakan kondisi kaki
LED yang positif tidak menerima kondisi yang stabil antara mines atau plus maka
dari itu LED jadi kedip kedip tetapi hal ini sangat cepat sekali. Ketika push button
ditekan maka nyala LED terang sekali dan tidak berkedip kedip.
Praktikum Percobaan 3

3.1. Gambar Rangkaian

Gambar 3.1 Rangkaian Digital Input Dengan Resistor

3.2. Program Pada Arduino


//Input pada pin no 2
int PinInput= 2;

void setup() {
// Mengeset mode dari pin no 2
pinMode(PinInput, INPUT);
pinMode(13, OUTPUT);

//Memulai komunikasi serial


Serial.begin(9600);
}
void loop() {
// Membaca tegangan pada pin no 2
int Sensor_Value= digitalRead(PinInput);

//display kondisi level logika Sensor_Value pada serial monitor


Serial.println(Sensor_Value);

//Apabila push button ditekan, LED akan menyala


if(Sensor_Value==LOW){
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}

3.3. Foto Rangkaian Ketika Push Button Tidak Ditekan

Gambar 3.3 Foto Rangkaian Ketika Push Button Tidak Ditekan


3.4. Foto Rangkaian Ketika Push Button Ditekan

Gambar 3.4 Foto Rangkaian Ketika Push Button Ditekan

3.5. Kesimpulan
Fungsi resistor adalah menstabilkan tegangan ke port hingga menjadi positif dan tidak
mengambang. Setelah diberi resistor 10K Ohm maka LED yang semula jika push button
tidak ditekan tetap menyala kali ini mati ketika tidak ditekan dan akan menyala ketika
push button ditekan.
Praktikum Percobaan 4

4.1. Gambar Rangkaian

Gambar 4.1 Rangkaian Digital Input Dan Output Dengan Resistor Dan LED

4.2. Program Pada Arduino


//deklarasi pin yang digunakan
const int PinButton= 11;
const int PinLED=12;
//untuk menyimpan atau mengingat status tombol dan LED saat ini
bool LEDon= false;
bool ButtonReady= true;

void setup()
{ pinMode(PinLED,
OUTPUT);
pinMode(PinButton, INPUT_PULLUP);
}
void loop (){
//blok status ketika push button ditekan
if(digitalRead(PinButton)==LOW&&ButtonReady) {
if(LEDon) {
digitalWrite(PinLED, LOW);
LEDon=false;
}else{
digitalWrite(PinLED, HIGH);
LEDon=true;
}

ButtonReady=false;

} else if(digitalRead(PinButton)==HIGH&&!ButtonReady)
{ ButtonReady=true;
}
delay(10);
}
4.3. Foto Rangkaian Ketika Push Button Tidak Ditekan

Gambar 4.3 Foto Rangkaian Ketika Push Button Tidak Ditekan

4.4. Foto Rangkaian Ketika Push Button Ditekan

Gambar 4.4 Foto Rangkaian Ketika Push Button Ditekan


4.5. Flow Chart

1. Keadaan Awal (LOW) &


LED mati.

6. Arduino (Input diproses) 3. Arduino (Input diproses)


2. Digital Input ( Push Button)

5. Digital Input ( Push Button) 4. Output (LED) Menyala

4.6. Kesimpulan
Dalam keadaan push button belum ditekan sama sekali maka LED akan mati yaitu
dalam keadaan LOW, ketika push button ditekan satu kali maka LED akan menyala
yatu dalam keadaan HIGH dan ketika push button ditekan untuk ketiga kalinya maka
LED akan mati dan kembali seperti keadaan awal dimana push button belum ditekan
sama sekali.
DAFTAR PUSTAKA

Arduino.2020.”Digital Pins”.(online).
(https://www.arduino.cc/en/Tutorial/DigitalPins). Diakses 31 Maret
2020 . Pukul 19.00 WIB.

Ilmu Nyebar.2017.” Penjelasan tentang Input Output Arduino”.(online).


(https://www.nyebarilmu.com/penjelasan-tentang-input-output-
arduino/). Diakses 31 Maret 2020 . Pukul 19.30 WIB.

Maulana Ikhsan.2016.” Belajar Arduino : Mengenal Digital Input Output


Pada Arduino”.(online). (https://proyekrumahan.id/2016/06/belajar-
arduino-mengenal-digital-input-output-pada-arduino/). Diakses 31
Maret 2020 . Pukul 20.00 WIB.

Anda mungkin juga menyukai