Anda di halaman 1dari 21

LAPORAN PRAKTIKUM

MIKROPROSESOR DAN ANTARMUKA


MODUL I : DIGITAL INPUT DAN DIGITAL OUTPUT

DISUSUN OLEH :
Jajang Krisbiantoro
(18201044)
Partner Praktikum :
1. Koko Kurniawan (18201045)
Tanggal Praktikum : 9 Maret 2020
Asisten Praktikum :
1. Ferdinanta Karo Karo (17101056)
2. Rijal Taufikkurrahhman (17201048)

LABORATORIUM TEKNIK ELEKTRONIKA DAN TEKNIK DIGITAL


FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO (FTTE)
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
JL. D.I. PANJAITAN 128 PURWOKERTO
2020
MODUL I
DIGITAL INPUT DAN DIGITAL OUTPUT

I. TUJUAN
1. Mahasiswa mampu memahami pembagian port dan pm
pada Board Arduino Uno R3.
2. Mahasiswa mampu memahami fungsi pin I/0 pada Board
Arduino Uno R3 sebagai input dan output.
3. Mahasiswa mampu mengkonfigurasi pin I/0 Arduino Uno
R3 sebagai input dan output.
4. Mahasiswa mampu membuat program yang
menggunakan pin I/0 Arduino Uno R3.
5. Mahasiswa Mampu menggunakan Arduino IDE untuk
memprogram dan mengupload program ke Board Arduino Uno
R3.

II. ALAT DAN BAHAN


1. Board Arduino Uno R3 1 (satu) buah
2. Kabel USB tipe A ke B 1 (satu) buah
3. Breadboard l (satu) buah
4. LED merah 6 (enam) buah
5. Resistor 220 Q 6 (satu) buah
6. Resistor 10 KQ 2 (dua) buah
7. Tombol saklar (pushbutton) 2 (dua) buah
8. Buzzer SY 1 (satu) buah
9. Kabel Jumper male-to-male sesuai kebutuhan

III. DASAR TEORI


Arduino disini adalah sebuah rangkaian elektronik yang memiliki
suatu komponen utama chip mikrokontroler. Mikrokontroler yang
disebutkan disini adalah sebagai sebuah chip atau IC yang dapat diprogram
melalui komputer. Arduino adalah kit elektronik atau papan rangkaian
elektronik open source yang di dalamnya terdapat komponen utama yaitu
sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.
Tujuan dari adanya mikrokontroler untuk membaca input dengan
memprosesnya hingga menimbulkan Output. Dari adanya Mikrokontroler,
ini dapat ditemukan pada berbagai alat seperti handphone, MP3 player,
DVD, televisi, AC dan masih banyak lagi. Selain itu, Mikrokontroler juga
berguna sebagai pengendali robot baik mainan atau dari industri. Disini
juga menyebutkan bahwa komponen utama Arduino adalah
mikrokontroler. Selain dari pengertian diatas, ada juga pengertian lain yang
menyatakan bahwa Arduino merupakan pengendali tunggal yang disebut
sebagai mikro board dengan sifat terbuka atau open source. Alat ini
dirancang dengan tujuan untuk memudahkan penggunaan berbagai macam
alat elektronik yang salah-satunya adalah komputer. Dalam
penggunaannya, arduino memiliki prosesor Atmel AVR serta program
bahasa tersendiri[1].
Arduino Uno adalah board mikrokontroler berbasis ATmega328
(datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input
tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16
MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol
reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup
hanya menghubungkan Board Arduino Uno ke komputer dengan
menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau
baterai untuk menjalankannya. Uno berbeda dengan semua board
sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur
Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda
dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-
serial. Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai
peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi
dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB
Arduino, dan sebagai model referensi  untuk platform Arduino, untuk
perbandingan dengan versi sebelumnya, lihat indeks board Arduino.
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input
atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan
digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan
atau menerima maksimum 40 mA dan memiliki internal pull-up resistor
(secara default terputus) dari 20-50 kOhms[2].
Pengertian Arduino IDE, IDE itu merupakan kependekan dari
Integrated Developtment Enviroenment, atau secara bahasa mudahnya
merupakan lingkungan terintegrasi yang digunakan untuk melakukan
pengembangan. Disebut sebagai lingkungan karena melalui software inilah
Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang
dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa
pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman
Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula
dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke
pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program
bernama Bootlader yang berfungsi sebagai penengah antara compiler
Arduino dengan mikrokontroler. Arduino IDE dibuat dari bahasa
pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++
yang biasa disebut Wiring yang membuat operasi input dan output menjadi
lebih mudah. Arduino IDE ini dikembangkan dari software Processing
yang dirombak menjadi Arduino IDE khusus untuk pemrograman dengan
Arduino. Program yang ditulis dengan menggunaan Arduino Software
(IDE) disebut sebagai sketch. Sketch ditulis dalam suatu editor teks dan
disimpan dalam file dengan ekstensi .ino. Teks editor pada Arduino
Software memiliki fitur” seperti cutting/paste dan seraching/replacing
sehingga memudahkan kamu dalam menulis kode program. Pada Software
Arduino IDE, terdapat semacam message box berwarna hitam yang
berfungsi menampilkan status, seperti pesan error, compile, dan upload
program[3].
IV. HASIL DATA
A. Percobaan 1 : LED Menyala Kedip (Blink)

Gambar 1.4.1. LED Menyala Kedip (Blink)


Coding : //Program Blink
Int led = 8;
Void setup ()
{
pinMode (led, OUTPUT) ;
}
Void loop ()
{
digitalWrite (led, HIGH);
delay (1000);
digitalWrite (led, LOW);
delay (1000);
}
B. Percobaan 2 : LED Menyala Bergantian (Flip-flop)

Gambar 1.4.2. LED Menyala Bergantian (Flip-flop)


Coding : //Program Flip-flop
int merah = 9;
int hijau = 8;
int waktu = 1000;
void setup ()
{
pinMode (merah, OUTPUT);
pinMode (hijau, OUTPUT);
}
void loop ()
{
digitalWrite (merah, HIGH);
digitalWrite (hijau, LOW);
delay (waktu);
digitalWrite (merah, LOW);
digitalWrite (hijau, HIGH);
delay (waktu);
}
C. Percobaan 3 : LED Berjalan (Running LED)

Gambar 1.4.3. LED Berjalan (Running LED)


Coding : //Program LED Berjalan (Running LED)
int led;
int waktu = 200;
void setup ()
{
for(led = 2; led <= 7; led++)
{
pinMode (led, OUTPUT);
digitalWrite (led, LOW); //Mematikan semua LED
}
}
void loop ()
{
for(led = 2; led <= 7; led++)
{
digitalWrite (led, HIGH);
delay (waktu);
digitalWrite (led, LOW);
}
}
D. Percobaan 4 : LED Menyala dengan Tombol Saklar (Pushbutton
Switch)

Gambar 1.4.4. LED Menyala dengan Tombol Saklar (Pushbutton Switch)


Coding : int masukan;
int led = 9;
int tombol = 8;
void setup ()
{
pinMode (led, OUTPUT);
pinMode (tombol, INPUT);
}
void loop ()
{
masukan = digitalRead (tombol);
if (masukan == HIGH)
{
digitalWrite (led, HIGH);
}
else
{
digitalWrite (led, LOW);
}
}
E. Percobaan 5 : Dua Tombol untuk Menyalakan LED dan
Membunyikan Buzzer

Gambar 1.4.5. Dua Tombol untuk Menyalakan LED dan Membunyikan


Buzzer
Coding : int led = 5;
int tombol_led = 6;
int buzzer = 7;
int tombol_buzzer = 8;
boolean status = false;
void setup ()
{
pinMode (led, OUTPUT);
pinMode (tombol_led, INPUT);
pinMode (buzzer, OUTPUT);
pinMode (tombol_buzzer, INPUT);
}
void loop ()
{
if (digitalRead (tombol_buzzer) == HIGH)
}
digitalWrite (buzzer, HIGH);
}
else
{
digitalWrite (buzzer, LOW);
}
if (digitalRead (tombol_led) == HIGH)
{
status = !status;
delay (200);
}
if (status == true)
{
digitalWrite (led, HIGH);
}
else
{
digitalWrite (led, LOW);
}
}
V. ANALISIS
Pada pada praktikum pertama mikroprosesor membahas tentang
Digital Input dan Digital Output pada Arduino. Pada praktikum ini, jenis
Arduino yang digunakan adalah Arduino Uno R3 sebagai media praktikum
dan software Arduino IDE sebagai software interface untuk membuat
program yang kemudian diupload ke papan board Arduino agar dapat
melakukan perintah yang diinginkan.
Pada percobaan pertama yaitu Digital Output berupa lampu LED
yang menyala secara berkedip (blink). Pada percobaan ini alat yang
digunakan antara lain Arduino Board, Software yang telah diinstal Arduino
IDE, kabel USB tipe A ke tipe B, 1 buah resistor, 1 buah LED, kabel male-
to-male. Selanjutnya melakukan perangkaian circuit sesuai komponen yang
sudah diinstruksikan oleh modul praktikum. Kemudian hubungkan papan
Arduino ke laptop dengan menggunakan USB. Lalu dengan menggunakan
software Arduino IDE, praktikan mendeklarasikan variable LED sebagai
keluaran yang dihubungkan pada pin 8, kemudian membuat led hidup
menggunakan perintah digitalWrite(led, HIGH) dengan delay selama 1
second, lalu membuat LED mati dengan menggunakan perintah
digitalWrite(led, LOW) selama 1 second, dan program akan terus berulang
sampai Arduino mati ataau di reset. Setelah itu program di compile dan
diupload ke papan Arduino, maka lampu LED akan menyala berkedip
selama 1 detik yang menandakan bahwa terjadi keluaran berupa sinyal
digital 1 dan 0 pada papam Arduino.
Pada percobaan kedua yaitu Digital Output berupa 2 lampu LED
yang menyala secara bergantian (flip-flop), dipercobaan kedua alat dan
bahan yang digunakan adalah papan Arduino, Laptop yang telah diinstal
Arduino IDE, kabel USB Tipe A ke B, 2 buah resistor, 2 buah LED, dan
kabel male-to-male. Lalu praktikan merangkai circuit sesuai dengan modul
praktikum, selanjutnya papan Arduino dihubungkan ke laptop dengan
USB. Kemudian dengan menggunakan software Arduino IDE, praktikan
mendeklarasikan LED merah dan hijau sebagai keluaran yang dihubungkan
pada masing-masing pin yaitu pin 8 dan pin 9, maka LED hijau dan merah
akan berkedip secara bergantian dengan delay selama 1 detik menggunakan
perintah digitanWrite. Selanjutnya program di compile dan diupload ke
papan Arduino dan lampu akan menyala secara bergantian.
Percobaan ketiga yaitu Digital Output running LED dengan
menggunakan 6 LED sebagai keluaran. Pada percobaan ini LED akan
menyala dan mati secara bergantian dan berurutan dari LED yang
terhubung pada pin 2 hingga pin 7. Pada percobaan ini alat dan bahan yang
digunakan antara lain papan Arduino, software Arduino IDE, kabel USB, 6
buah resistor dan 6 buah LED, dan kabel male-to-male. Praktikan
melakukan perangkaian sesuai dengan gambar yang ada pada modul
praktikum. Setelah merangkai, papan board Arduino dihubungkan ke
laptop, lalu dengan menggunakan software Arduino IDE, praktikkan
menginisialisasi LED yang terhubung ke pin 2 sampai 7 sebagai keluaran
dengan fungsi for. Kemudian dengan menggunakan fungsi void loop.
Praktikan membuat program lampu LED hidup dan mati secara bergantian
dan berurutan dengan perintah for dimulai dari LED yg terhubung ke pin 2
hingga pin 7 dengan menggunakan digitalWrite, setelah itu program di
compile dan diupload ke papan Arduino, maka LED akan berkedip secara
bergantian dan berurutan.
Percobaan keempat yaitu Digital Input dengan menggunakan tombol
saklar untuk menghidupkan LED. Disini saat saklar ditekan maka LED
akan hidup dan saat saklar tidak ditekan LED akan mati. Alat dan bahan
yang digunakan antara lain papan Arduino, software IDE, 1 buah saklar, 2
buah resistor, 1 buah LED, kabel USB, dan kabel male to male.
Selanjutnya menghubungkan papan Arduino ke laptop, lalu pada software
Arduino IDE praktikan membuat program dengan LED sebagai
keluaran yang terhubung pada pin 7, serta saklar sebagai masukan yang
terhubung pada pin 8. Kemudian praktikan menggunakan perintah if-else
pada fungsi void loop untuk sebagai opsi pilihan ketika tombol ditekan dan
tidak ditekan, instruksi masukkan == HIGH yang berarti saat tombol
ditekan, maka LED akan menyala dengan instruksi digitalWrite(led,
HIGH). Selanjutnya saat perintah else, berarti tombol tidak ditekan, maka
LED akan mati dengan instruksi digitalWrite(led, LOW). Setelah itu
program di compile dan diupload ke papan Arduino, maka setelah saklar
ditekan maka LED akan menyala dan ketika saklar tidak ditekan maka
LED tidak akan menyala.
Percobaan kelima yaitu Digital Input dengan mengggunakan 2
saklar masing-masing saklar sebagai tombol LED dan sebagai tombol
untuk membunyikan Buzzer, disini alat dan bahan yang digunakan antara
lain papan Arduino, software Arduino IDE, 3 resistor, 1 LED, 2 buah
saklar, kabel USB, kabel male to male. Selanjutnya praktikan merangkai
circuit sesuai dengan gambar yang ada pada modul, lalu papan Arduino
dihubungkan ke laptop dengan USB. Kemudian dengan menggunakan
software Arduino IDE, praktikan membuat program LED dan Buzzer
sebagai output dan tombol_led dan tombol_buzzer sebagai input.
Selanjutnya pada fungsi void loop praktikan mambuat perintah if-else
untuk LED dan Buzzer. Perintah if-else yang pertama untuk Buzzer dengan
algoritma saat tombol_buzzer HIGH ditekan maka Buzzer akan berbunyi
dan saat tombol tidak ditekan maka Buzzer akan mati. Perintah if-else yang
kedua untuk LED dengan algoritma saat tombol_led HIGH maka menjadi
tidak sama dengan nilai status yang bersifat false saat dideklarasikan.
Kemudian perintah if lagi untuk pengecekan apakah status tersebut benar
atau tidak, jika benar LED akan menyala dan jika salah LED akan mati.
Setelah itu program di compile dan diupload ke papan Arduino, maka saat
saklar Buzzer di tekan maka Buzzer akan berbunyi dan jika tidak ditekan
maka akan mati, jika saklar LED ditekan maka LED akan menyala jika
tidak ditekan maka akan mati.
VI. KESIMPULAN DAN SARAN
A. KESIMPULAN
1. Papan board Arduino memiliki 14 pin Digital Input/Output dan 6
Input pin analog.
2. Arduino dapat menerima masukan dalam bentuk analog dan digital,
serta dapat menghasilkan keluaran dalam berbagai bentuk sesuai
yang diinginkan.
3. Delay(time) digunakan sebagai waktu interval untuk LED menyala
atau jeda untuk lampu LED bergantian hingga perintah
digitalWrite(led, LOW).

B. SARAN
1. Lebih teliti saat memasang lampu LED karena terdapat polarisasi
kaki + dan – agar lampu menyala dengan benar.
2. Lebih saat memasukan program karena jika tidak sesuai maka
rangkaian tidak akan berjalan.
3. Gunakan laptop dengan spesifikasi yang baik agar software Arduino
IDE berjalan dengan baik.
VII. DAFTAR PUSTAKA

[1] B. ALI, "APA ITU ARDUINO, INI DIA ARTI SERTA CARA
MENGGUNAKANNYA," 2018 Februari 28. [Online]. Available:
https://www.sfcds.org. [Accessed 13 Maret 2020].
[2] iLerningMedia, "iLerningMedia-Pengertian Arduino UNO," [Online].
Available: https://ilerning.me/sample-page-162. [Accessed 13 Maret
2020].
[3] sinauarduino, "Mengenal Arduino Software (IDE)," [Online].
Available: https://sinauarduino.com/artikel/mengenal-arduino-
software-ide. [Accessed 13 Maret 2020].
VIII. LAMPIRAN
A. Soal
1. Apakah yang dimaksud dengan port pada menu tools arduino IDE?
Jawab : fungsi port pada arduino IDE adalah untuk menentukan port
mana yang digunakan pada saat mengupload code ke arduino.
2. Apa fungsi dari void setup() dan void loop()?
Jawab : fungsi void setup () hanya akan berjalan sekali, setiap
menyala atau restart board arduino, fungsi void loop() berguna
untuk melaksanakan/mengeksekusi perintah program yang telah
dibuat.
3. Apakah arti dari pinMode(led, OUTPUT) dan pinMode(led,
INPUT)?
Jawab : pinMode(led, OUTPUT) berfungsi untuk mengkonfigurasi
pin led sebagai output, dan fungsi pinMode (led, INPUT) berfungsi
untuk mengkonfigurasi pin led sebagai input.
4. Apa fungsi resistor 220 pada rangkaian?
Jawab :sebagai nilai tahanan pada sebuah rangkaian, jika nilai
tahanan semakin tinggi maka LED akan lebih redup dibantingkan
dengan menggunakan tahanan yang lebih rendah.
5. Apakah fungsi dari digitalWrite() dan digitalRead()?
Jawab : digitalRead() digunakan untuk membaca pin digital tertentu
baik sebagai high atau sebagai low, sedangkan digitalWrite()
berfungsi untuk memberikan sebuah nilai high atau low pada sebuah
pin digital.
6. Apakah maksud dari perintah berikut ini :
Int tombol_led = 6;
Int buzzer = 7;
Jawab :
Maksud dari Int tombol_led = 6; adalah pin tombol led berada di pin
nomor 6, dan maksud dari int buzzer = 7; adalah pin buzzer berada
pada pin nomor 7
7. Apa arti dari delay(1500)?
Jawab : maksud dari delay (1500) adalah jeda waktu yang
digunakan untuk lampu LED menyala
8. Apa arti dari status HIGH dan LOW pada script yang anda gunakan?
Jawab : HIGH bernilai 1 dan LOW bernilai 0
9. Apa persamaan dari bahasa pemrograman C++ dan bahasa
pemrograman arduino?
Jawab: Persamaan bahasa C++ dan Arduino berada pada struktur
penulisan seperti fungsi void, tipe data, fungsi for, if-else, dan sama-
sama dibuat dari bahasa C.
10. Apakah arti dari perintah berikut ini?
If (digitalRead(tombo;_buzzer) == HIGH)
Jawab : jika tomboll buzzer bernilai 1 atau high maka buzzer akan
berbunyi.
11. Apakah arti dari perintah berikut ini?
For (led = 2; led <=7; led ++)
Jawab : Program akan dijalankan dimulai dari led 2hingga led 7
secara berulang dan berurutan.
B. Simulasi dan Program Traffic Light

Code :
// Program Traffic Light
// Jajang Krisbiantoro (18201044)
// D3TT06-B Sesi 1 Praktikum Mikroprosessor
// Variabel
int Merah1 = 2, Merah2 = 5, Merah3 = 8;
int Kuning1 = 2, Kuning2 = 6, Kuning3 = 9;
int Hijau1 = 4, Hijau2 = 7, Hijau3 = 10;
// Perintah Tetap
void setup(){
pinMode(Merah1, OUTPUT),pinMode(Merah2,
OUTPUT),pinMode(Merah3, OUTPUT);
pinMode(Kuning1, OUTPUT),pinMode(Kuning2,
OUTPUT),pinMode(Kuning3, OUTPUT);
pinMode(Hijau1, OUTPUT),pinMode(Hijau2,
OUTPUT),pinMode(Hijau3, OUTPUT);
}
// Perintah Berulang
void loop(){
// Traffic 1
digitalWrite(Kuning1, LOW);
digitalWrite(Kuning2, LOW);
digitalWrite(Merah2, HIGH);
digitalWrite(Kuning3, LOW);
digitalWrite(Merah3, HIGH);
digitalWrite(Hijau1, HIGH);
delay(2000);
digitalWrite(Merah2, LOW);
digitalWrite(Kuning1, HIGH);
digitalWrite(Kuning2, HIGH);
digitalWrite(Hijau1, LOW);
delay(1000);
// Traffic 2
digitalWrite(Kuning1, LOW);
digitalWrite(Kuning2, LOW);
digitalWrite(Merah1, HIGH);
digitalWrite(Kuning3, LOW);
digitalWrite(Merah3, HIGH);
digitalWrite(Hijau2, HIGH);
delay(6000);
digitalWrite(Hijau2, LOW);
digitalWrite(Kuning2, HIGH);
digitalWrite(Merah3, LOW);
digitalWrite(Kuning3, HIGH);
delay(1000);
// Traffic 3
digitalWrite(Kuning2, LOW);
digitalWrite(Merah2, HIGH);
digitalWrite(Kuning3, LOW);
digitalWrite(Hijau3, HIGH);
delay(6000);
digitalWrite(Hijau3, LOW);
digitalWrite(Kuning3, HIGH);
digitalWrite(Merah1, LOW);
digitalWrite(Kuning1, HIGH);
delay(1000);
}

Anda mungkin juga menyukai