Anda di halaman 1dari 14

LAPORAN PRAKTIKUM MIKROPROSESOR

JOB. 1
PIN DIGITAL

Di susun oleh:

Nama : Vogie Prames Wara Laksono Putra


Nim : 18642005
Kelas : D4 - 6A
Tanggal Praktek : 23 April 2021

Jurusan Teknik Elektro


Politeknik Negeri Samarinda
2021
Pin Digital
I. Tujuan :

1. Mengetahui cara mengatur pin digital sebagai masukan

2. Mengetahui cara mengatur pin digital sebagai keluaran

3. Memanfaatkan pin masukan dan keluaran digital dalam aplikasi pengaturan

II. Teori :

Papan sirkuit (circuit board) Arduino Uno adalah salah satu jenis produk Arduino yang
cukup popular. Beberapa versi Arduino Uno telah diproduksi dan dipasarkan. Untuk versi
yang terkahir ini, jenis mikrokontroler yang dipasang adalah ATMEGA328. Tampilan
Arduino Uno ditunjukkan dalam Gambar 1.

Gambar 1, Tampilan Arduino Uno

Sumber: components101.com

Pin Arduino Uno berjumlah 28 buah. Beberapa buah pin hanya mempunyai sebuah
fungsi. Contohnya adalah pin-pin tegangan. Board Arduiono bekerja pada level tegangan 5V.
Tetapi board ini juga menyediakan sumber tegangan 3,3V yang digunakan bagi module-
module bertegangan 3,3V seperti modul-modul transceiver dan beberapa modul sensor.
Agar bisa bekerja dan berfungsi dengan baik, board Arduino dapat diberi sumber
tegangan 5V. Sumber-sumber tegangan 5V dapat dihubungkan dengan konektor USB. Cara
lainnya adalah menghubungkan tegangan 5V power supply pada pin 5V dan tegangan 0V
power supply pada pin GND.

Untuk sumber tegangan yang lebih besar daripada 5V, tegangan positip dihubungkan
pada pin Vin, sedang tegangan 0V dihubungkan dengan pin GND. Sebuah IC regulator yang
terdapat pada board Arduino akan mengubah tegangan lebih tadi menjadi tegangan 5V. Agar
arus yang mengalir pada IC regulator tidak terlalu besar, tegangan masukan sebaiknya sekitar
3V lebih tinggi dari 5V.

Jika pin-pin tegangan umumnya hanya mempunyai satu fungsi, pin-pin lain
mempunyai lebih dari satu fungsi. Pin dengan nama PD0 misalnya, dapat berfungsi sebagai
pin digital sekaligus pin komunikasi serial. Fungsi pin dapat ditentukan pada saat proses
inisialisasi dalam program. Agar fungsi-fugsi tersebut tidak saling berbenturan, pin
multifungsi tersebut hendaknya diset pada salah satu fungsinya saja.

Pada job ini, akan disampaikan cara-cara mengatur pin-pin digital, baik sebagai
input/masukan maupun output/keluaran.

III. Alat Percobaan :

 Komputer atau Laptop

 Board Arduino Uno

 Kabel USB

 2 saklar push button

 2 LED

 2 resistor 1k Ω

 2 resistor 100 Ω

IV. Langkah Percobaan :

1. Hubungkan 2 saklar push button, 2 LED, dan 2 resistor pada Arduino seperti pada
Gambar 2.
Gambar 2 Rangkaian percobaan

2. Bukalah IDE Arduino, kemudian hubungkan computer dengan board Arduino dengan
menggunakan kabel USB.

3. Tuliskan program berikut pada editor IDE. Program asli terdapat dalam website
arduino.cc

const int pinTombol1 = 2; // nomor pin untuk Tombol1


const int pinLed1 = 8; // nomor pin untuk LED1

int statusTombol1 = 0; // variable status pinTombol1

void setup() {
// Inisialisasi pinLed1 sebagai output
pinMode(pinLed1, OUTPUT);
// Inisialisasi pinTombol1 sebagai input
pinMode(pinTombol1, INPUT);
}

void loop() {
// baca status pinTombol1
statusTombol1 = digitalRead(pinTombol1);

// periksa apakah Tombol1 ditekan


if (statusTombol1 == HIGH) {
// hidupkan LED
digitalWrite(pinLed1, HIGH);
}
else {
// padamkan LED
digitalWrite(pinLed1, LOW);
}
}

4. Compile dan upload program ke board Arduino.

5. Amati kerja rangkaian. Jelaskan apa yang terjadi

6. Tambahkan baris perintah yang menyebabkan prinsip kerja antara Tombol2 dengan
Led2 sama dengan prinsip kerja antara Tombol1 dan Led1. Tuliskan baris program
tambahannya.

7. Lakukan perubahan pada program sehingga isi tabel kebenaran menjadi seperti pada
Tabel 2.

Tabel 2

Tombol1 Tombol2 Led1 Led2

L L L H

L H L H

H L L H

H H H L

Rangkaian logika apakah yang ditunjukkan oleh tabel kebenaran pada Tabel 2?
Tuliskan programnya.

8. Lakukan perubahan pada program sehingga isi tabel kebenaran menjadi seperti pada
Tabel 3.

Tabel 3

Tombol1 Tombol2 Led1 Led2

L L H L

L H L H

H L L H

H H H L

Rangkaian logika apakah yang ditunjukkan oleh tabel kebenaran pada Tabel 3?
Tuliskan programnya.

9. Apakah fungsi dari resistor 100 ohm dan 1k ohm pada rangkaian di atas? Jelaskan.
V. Data Hasil Percobaan, Analisa, Jawaban :

V.I. Tugas 5

Gambar 1.3 Percobaan ke-5

Pada saat program di upload ke board arduino pada software proteus,maka akan
muncul kondisi “HIGH” pada LED 1 saat tombol 1 ditekan dan pada saat tombol 1
dilepas maka akan muncul kondisi “LOW” pada LED 1. Sedangkan LED 2 tidak
terdapat perubahan ketika tombol 2 ditekan. Hal ini disebabkan karena, program yang
dibuat pada Arduino hanya untuk satu input dan output, yaitu di pin 2 sebagai input
dan pin 8 sebagai output.
V.II. Tugas 6 Prinsip Kerja Antara Tombol2 Dengan Led2 Sama Dengan
Prinsip Kerja Antara Tombol1 Dan Led1

Gambar 1.4 Percobaan ke-6

const int pinTombol1 = 2; // nomor pin untuk Tombol1

const int pinLed1 = 8; // nomor pin untuk LED1

const int pinTombol2 = 3; // nomor pin untuk Tombol2

const int pinLed2 = 9; // nomor pin untuk LED2

int statusTombol1 = 0; // variable status pinTombol1

int statusTombol2 = 0; // variable status pinTombol2

void setup() {

// Inisialisasi pinLed1 sebagai output

pinMode(pinLed1, OUTPUT);

// Inisialisasi pinTombol1 sebagai input

pinMode(pinTombol1, INPUT);

// Inisialisasi pinLed1 sebagai output

pinMode(pinLed2, OUTPUT);

// Inisialisasi pinTombol1 sebagai input


pinMode(pinTombol2, INPUT);

void loop() {

// baca status pinTombol1

statusTombol1 = digitalRead(pinTombol1);

// baca status pinTombol2

statusTombol2 = digitalRead(pinTombol2);

// periksa apakah Tombol1 ditekan

if (statusTombol1 == HIGH) {

// hidupkan LED

digitalWrite(pinLed1, HIGH);

else {

// padamkan LED

digitalWrite(pinLed1, LOW);

// baca status pinTombol1

statusTombol1 = digitalRead(pinTombol1);

// periksa apakah Tombol2 ditekan

if (statusTombol2 == HIGH) {

// hidupkan LED

digitalWrite(pinLed2, HIGH);

else {

// padamkan LED

digitalWrite(pinLed2, LOW);
}

Pada saat program di upload ke board arduino pada software proteus,maka akan
muncul kondisi “HIGH” pada LED 1 saat tombol 1 ditekan dan pada saat tombol 1
dilepas maka akan muncul kondisi “LOW” pada LED 1. Dan pada tombol 2 ditekan
maka akan muncul kondisi “HIGH” pada LED 2 dan pada saat tombol 2 dilepas maka
akan muncul kondisi “LOW” pada LED 2.

V.III. Tugas 7 Rangkaian logika yang ditunjukkan pada tabel 2 adalah Gerbang
Logika AND

Gambar 1.5 Percobaan ke-7

const int pinTombol1 = 2; // untuk pintombol 1

const int pinLed1 = 8; // untuk pinLED 1

const int pinTombol2 = 3; // untuk pintombol 2

const int pinLed2 = 9; // untuk pinLED 2

int statusTombol1 = 0; // variable status tombol 1

int statusTombol2 = 0; // variable status tombol 2

void setup() {
// Inisialisasi pinLED 1 sebagai output

pinMode(pinLed1, OUTPUT);

// Inisialisasi pintombol 1 sebagai input

pinMode(pinTombol1, INPUT);

// Inisialisasi pinLED 2 sebagai output

pinMode(pinLed2, OUTPUT);

// Inisialisasi pintombol 2 sebagai input

pinMode(pinTombol2, INPUT);

void loop() {

// baca status pintombol 1

statusTombol1 = digitalRead(pinTombol1);

// baca status pintombol 2

statusTombol2 = digitalRead(pinTombol2);

// periksa jika tombol 1 dan tombol 2 ditekan

if (digitalRead(pinTombol1) == HIGH && digitalRead(pinTombol2) == HIGH) {

// maka LED 1 akan menyala

digitalWrite(pinLed1, HIGH);

else {

// LED 1 akan padam

digitalWrite(pinLed1, LOW);

// periksa jika tombol 1 dan tombol 2 ditekan

if (digitalRead(pinTombol1) == HIGH && digitalRead(pinTombol2) == HIGH) {

// maka LED 2 akan padam


digitalWrite(pinLed2, LOW);

else {

// LED 2 akan menyala

digitalWrite(pinLed2, HIGH);

Pada saat program di upload ke board arduino pada software proteus, LED 1 akan
berkondisi “LOW” dan LED 2 akan berkondisi “HIGH”. Program ini sama seperti
tabel kebenaran 2. Dan dari tabel 2 tersebut, dapat diketahui bahwa rangkaian logika
yang digunakan adalah gerbang logika AND.

V.IV. Tugas 8 Rangkaian logika yang ditunjukkan pada tabel 3 adalah Gerbang
Logika XNOR

Gambar 1.6 Percobaan ke-8

const int pinTombol1 = 2; // untuk pintombol 1


const int pinTombol2 = 3; // untuk pintombol 2
const int pinLed1 = 8; // untuk pinLED 1
const int pinLed2 = 9; // untuk pinLED 2

int statusTombol1 = 0; // variable status tombol 1


int statusTombol2 = 0; // variable status tombol 2

void setup() {
// Inisialisasi pinLED 1 sebagai output
pinMode(pinLed1, OUTPUT);
// Inisialisasi pintombol 1 sebagai input
pinMode(pinTombol1, INPUT);
// Inisialisasi pinLED 2 sebagai output
pinMode(pinLed2, OUTPUT);
// Inisialisasi pintombol 2 sebagai input
pinMode(pinTombol2, INPUT);
}

void loop() {
// baca status pintombol 1
statusTombol1 = digitalRead(pinTombol1);
// baca status pintombol 2
statusTombol2 = digitalRead(pinTombol2);

// periksa jika tombol 1 dan tombol 2 ditekan


if (digitalRead(pinTombol1) == HIGH && digitalRead(pinTombol2) == HIGH) {
// maka LED 1 akan menyala
digitalWrite(pinLed1, HIGH);
}
// periksa jika tombol 1 dan tombol 2 tidak ditekan
else if (digitalRead(pinTombol1) == LOW && digitalRead(pinTombol2) == LOW)
{
// maka LED 1 akan menyala
digitalWrite(pinLed1, HIGH);
}
else {
// LED 1 akan padam
digitalWrite(pinLed1, LOW);
}
// periksa jika tombol 1 dan tombol 2 ditekan
if (digitalRead(pinTombol1) == HIGH && digitalRead(pinTombol2) == HIGH) {
// maka LED 2 akan padam
digitalWrite(pinLed2, LOW);
}
// periksa jika tombol 1 dan tombol 2 tidak ditekan
else if (digitalRead(pinTombol1) == LOW && digitalRead(pinTombol2) == LOW)
{
// maka LED 2 akan padam
digitalWrite(pinLed2, LOW);
}
else {
// LED 2 akan menyala
digitalWrite(pinLed2, HIGH);
}
}
Pada saat program di upload ke board arduino pada software proteus, LED 1 akan
berkondisi “HIGH” dan LED 2 akan berkondisi “LOW”. Program ini sama seperti
tabel kebenaran 3. Dan dari tabel 3 tersebut, dapat diketahui bahwa rangkaian logika
yang digunakan adalah gerbang logika XNOR.

V.V. Tugas 9 Apakah fungsi dari resistor 100 ohm dan 1k ohm pada rangkaian
di atas? Jelaskan!

Fungsi resistor 100 Ohm (Ω) sebagai penahan tegangan dan arus yang akan
dikirimkan ke lampu LED 1 dan LED 2, dengan nilai tegangan kerja 1,6V sampai
3,5V dan nilai arus 10mA – 20mA. Dengan demikian LED dapat menyala dan tidak
rusak akibat kelebihan arus.

Fungsi dari resistor 1k Ohm (Ω) sebagai Pull-Down Resistor atau penarik
tegangan. Jika Tombol ditekan, arus akan mengalir dari pin input dan akan terhubung
ke resistor 1k ohm (Ω) ke 5V. Ketika Tombol tidak ditekan, maka arus terhubung ke
resistor 1k Ohm (Ω) dan ditarik (pulled) ke grounding. Bila Input tidak dihubungkan
dengan pull-down resistor maka nilai arus akan menjadi nilai ambang diantara 0-5
Volt dan pin tidak akan terhubung kemanapun. Ini dikarenakan rangkaian percobaan
yang telah dilakukan menggunakan Pull-Down resistor, maka input akan ada dalam 2
state, 0 (bila tombol tidak ditekan, arus akan ditarik ke grounding) atau 5 volt (ketika
tombol ditekan). Dengan demikian dapat dipastikan bahwa nilai tegangan adalah 0
atau 5, bukan nilai tegangan diantaranya.
VI. Kesimpulan :

Pada percobaan ini dapat disimpulkan :

 Mengatur masukan maupun keluaran pada pin digital pada program arduino IDE dan
mengintergrasikannya pada board arduino.
 Memahami penggunaan dan cara kerja tombol pada rangkaian arduino.
 Memahami penggunaan dan cara kerja Lampu LED pada rangkaian arduino.
 Mengetahui pentingnya penggunaan resistor dalam rangkaian arduino diatas.

Anda mungkin juga menyukai