Anda di halaman 1dari 15

Pengaturan 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-lodul transceiver dan beberapa modul
sensor.

Pengaturan Pin Digital 1


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.

Pengaturan Pin Digital 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);
 }
}

Pengaturan Pin Digital 3


4. Compile dan upload program ke board Arduino.

5. Amati kerja rangkaian. Dengan prinsip rangkaian listrik, jelaskan apa yang terjadi
pada LED saat tombol ditekan.

6. Tambahkan baris perintah yang menyebabkan prinsip kerja antara Tombol2


dengan Led2 sama dengan prinsip kerja antara Tombol1 dan Led1. Tuliskan
hasilnya dalam tabel kebenaran (truth table) berikut.

Tabel 1
Tombol1 Tombol2 Led1 Led2
L L
L H
H L
H H
H = High , L = Low

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 H L
H L H L
H H H L
Tuliskan program serta gambarkan rangkaian logika dari operasi pada Tabel 2

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
Tuliskan program serta gambarkan rangkaian logika dari operasi pada Tabel 3

9. Apakah fungsi dari resistor R pada rangkaian di atas? Jelaskan.

Pengaturan Pin Digital 4


V. Data Hasil Percobaan dan Analisa :

Percobaan Pertama :
Pada percobaan pertama program yang digunakan adalah sebagai berikut :

Pengaturan Pin Digital 5


1 const int pinTombol1 = 2; // nomor pin untuk Tombol1
2 const int pinTombol2 = 3; // nomor pin untuk Tombol2
3 const int pinLed1 = 8; // nomor pin untuk LED1
4 const int pinLed2 = 9; // nomor pin untuk LED1
5
6 int statusTombol1 = 0; // variable status pinTombol1
7 int statusTombol2 = 0; // variable status pinTombol2
8
9 void setup() {
10 // Inisialisasi pinLed1 sebagai output
11 pinMode(pinLed1, OUTPUT);
12 pinMode(pinLed2, OUTPUT);
13 // Inisialisasi pinTombol1 sebagai input
14 pinMode(pinTombol1, INPUT);
15 pinMode(pinTombol2, INPUT);
16 }
17
18 void loop() {
19 // baca status pinTombol1
20 statusTombol1 = digitalRead(pinTombol1);
21 statusTombol2 = digitalRead(pinTombol2);
22
23 // periksa apakah Tombol1 ditekan
24 if (statusTombol1 == HIGH) {
25 // hidupkan LED
26 digitalWrite(pinLed1, HIGH);
27 }
28 else {
29 // padamkan LED
30 digitalWrite(pinLed1, LOW);
31 }
32
33 if (statusTombol2 == HIGH) {
34 // hidupkan LED

Pengaturan Pin Digital 6


35 digitalWrite(pinLed2, HIGH);
36 }
37 else {
38 // padamkan LED
39 digitalWrite(pinLed2, LOW);
40 }
41 }

Dengan program diatas, maka kondisi pengoprasian tombol akan menghasilkan keadaan
LED sebagai berikut.

Tombol1 Tombol2 Led1 Led2


L L OFF OFF
L H OFF ON
H L ON OFF
H H ON ON

Pada Percobaan pertama merangkai dengan papan breadboard dengan


menggunakan 2 Resistor, 2 Pushbutton, dan 2 LED. Pada Program diatur
pinMode(pinTombol1, INPUT); Tombol push button diatur sebagai input. Dan
Program   pinMode(pinLed1, OUTPUT. Pada program ini LED diatur sebagai
ouput. Pada proses voidloop pada saat perintah digitalRead(pinTombol1);

maka Program akan membaca status Tombol pushbutton dan pada perintah
disetting  if (statusTombol1 == HIGH) progam apabila Tombol pushbutton ditekan maka

selanjutya pada perintah digitalWrite(pinLed1, HIGH);maka LED tersebut akan menyala.


Dan apabila else digitalWrite(pinLed1,LOW);maka LED Tersebut akan mati.

Percobaan Kedua :
Pada percobaan kedua, tugasnya adalah untuk menentukan program yang sesuai dengan
deskripsi kerja tombol dan LED sebagai berikut.
Tombol1 Tombol2 Led1 Led2
L L L H
L H H L
H L H L
H H H L
Awalnya kedua tombol tidak dioperasikan (LOW) untuk kondisi LED, LED 1 akan dalam
keadaan padam dan yang lainnya menyala. Apabila tombol 2 ditekan maka LED 2 akan

Pengaturan Pin Digital 7


padam dan LED 1 yang akan menyala dan pada dua kondisi tombol lainnya juga
menghasilkan LED 1 menyala dan LED 2 padam sama seperti sebelumnya. Dan berikut
untuk programnya.

Pengaturan Pin Digital 8


Pada percobaan kedua pada proses void loop maka yang pertama dilakukan adalah
membaca status tombol push button pada tombol 1 dan tombol 2 yaitu pada
statusTombol1 = digitalRead(pinTombol1); begitu pun dengan Tombol 2 sama. Untuk
memprogram agar perintah tombol push button maupun LED kerjanya sesuai dengan
tabel maka digunakanlah perintah IF.
if (statusTombol1 == LOW) {
if (statusTombol2 == LOW) {

Pengaturan Pin Digital 9


digitalWrite(pinLed2, HIGH);
}
else { digitalWrite(pinLed2, LOW);
misalnya pada program diatas jika Tombol 1 dan 2 dalam kondisi off maka perintah
digitalWrite(pinLed2, HIGH); maka kondisi pinLed1 dalam kondisi LOW pada kondisi
ini tidak perlu ditulis dalam Program. Pada perintah digital Write ini yang menyatakan
kondisi dari output pada LED. Untuk Else pada program bermakna operator yang
digunakan untuk keadaan sebaliknya yaitu dari LED 2. Pada program diatas merupakan
contoh dari penerapan rangkaian gerbang logika OR. berikut adalah gambar dari coontoh
rangakaian gerbang sesusai dengan perintah yang ada pada tabel 2

Pengaturan Pin Digital 10


Percobaan 3.
Pada percobaan ketiga sesuai deskripsi pada tabel berikut maka untuk program yang
digunakan adalah dengan logika AND
Tombol1 Tombol2 Led1 Led2
L L H L
L H L H
H L L H
H H H L

Berikut programnya :
1 const int pinTombol1 = 2; // nomor pin untuk Tombol1
2 const int pinTombol2 = 3; // nomor pin untuk Tombol2
3 const int pinLed1 = 8; // nomor pin untuk LED1
4 const int pinLed2 = 9; // nomor pin untuk LED1
5 int statusTombol1 = 0; // variable status pinTombol1
6 int statusTombol2 = 0; // variable status pinTombol2
7

Pengaturan Pin Digital 11


8 void setup() {
9 // Inisialisasi pinLed1 sebagai output
10 pinMode(pinLed1, OUTPUT);
11 pinMode(pinLed2, OUTPUT);
12 // Inisialisasi pinTombol1 sebagai input
13 pinMode(pinTombol1, INPUT);
14 pinMode(pinTombol2, INPUT);
15 }
16 void loop() {
17 statusTombol1 = digitalRead(pinTombol1);
18 statusTombol2 = digitalRead(pinTombol2);
19 // periksa apakah Tombol1 ditekan
20 if (statusTombol1 == LOW) {
21 if (statusTombol2 == LOW) {
22 digitalWrite(pinLed1, HIGH);
23 }
24 else { digitalWrite(pinLed1, LOW);
25 }
26 }
27
28 if (statusTombol1 == LOW) {
29 if (statusTombol2 == HIGH) {
30 digitalWrite(pinLed1, LOW);
31 digitalWrite(pinLed2, HIGH);
32 }
33 else { digitalWrite(pinLed2, LOW);
34 }
35 }
36
37 if (statusTombol1 == HIGH) {
38 if (statusTombol2 == LOW) {
39 digitalWrite(pinLed1, LOW);
40 digitalWrite(pinLed2, HIGH);
41 }

Pengaturan Pin Digital 12


42 else { digitalWrite(pinLed2, LOW);
43 }
44 }
45
46 if (statusTombol1 == HIGH) {
47 if (statusTombol2 == HIGH) {
48 digitalWrite(pinLed1, HIGH);
49 }
50 else { digitalWrite(pinLed1, LOW);
51 }
52 }
53 }

Pengaturan Pin Digital 13


VI. Kesimpulan :

Pengaturan Pin Digital 14


Pengaturan Pin Digital 15

Anda mungkin juga menyukai