Anda di halaman 1dari 10

BAB 1.

INPUT OUTPUT

1.1 Tujuan
1. Mahasiswa dapat memahami fungsi input output.
2. Mahasiswa dapat membuat rangkaian dan memprogram Arduino dengan fungsi
input output.

1.2 Landasan Teori


1. Inisialisasi variabel
Struktur dasar dari bahasa pemrograman Arduino itu sederhana hanya
terdiri dari dua bagian.

void setup( )
{
// Statement;
}

void loop( )
{
// Statement;
}

Dimana setup() bagian untuk inisialisasi yang hanya dijalankan sekali


diawal program, sedangkan loop() untuk mengeksekusi bagian program yang
akan dijalankan berulang-ulang untuk selamanya.
Fungsi setup() hanya di panggil satu kali ketika program pertama kali
di jalankan. Ini digunakan untuk pendefinisian mode pin atau memulai
komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program
walaupun tidak ada statement yang di jalankan.

2
void setup()
{
pinMode(13,OUTPUT); // mengeset ‘pin’ 13 sebagai output
}

Setelah melakukan fungsi setup() maka secara langsung akan


melakukan fungsi loop() secara berurutan dan melakukan instruksi-instruksi
yang ada dalam fungsi loop().

void loop()
{
digitalWrite(13, HIGH); // nyalakan ‘pin’ 13
delay(1000); // pause selama 1 detik
digitalWrite(13, LOW); // matikan ‘pin’ 13
delay(1000); // pause selama 1 detik
}
Variabel adalah sebuah penyimpan nilai yang dapat di gunakan dalam
program. Variabel dapat di rubah sesuai dengan instruksi yang kita buat. Ketika
mendeklarisikan variabel harus di ikut sertakan type variabel serta nilai awal
variabel.
Type variabelName = 0;
Contoh

Int inputVariabel = 0; // mendefinisikan sebuah variabel bernama


inputVariabel dengan nilai awal 0
inputVariabel = analogRead(2); // menyimpan nilai yang ada di
analog pin 2 ke inputVariabel

Sebuah variabel dapat di deklarasikan pada awal program sebelum void


setup(), secara local di dalam sebuah function, dan terkadang di dalam
sebuah block statement pengulangan. Sebuah variabel global hanya satu dan dapat
di gunakan pada semua block function dan statement di dalam program. Variabel

3
global di deklarasikan pada awal program sebelum fungstion setup().Sebuah
variabel local di deklarasikan di setiap block function atau di setiap block
statement pengulangan dan hanya dapat di gunakan pada block yang bersangkutan
saja.
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan
mempunyai statement yang akan di eksekusi ketika function di panggil. Fungsi
void setup() dan void loop() telah di bahas di atas dan pembuatan
fungsi yang lain akan di bahas selanjutnya.Cara pendeklarasian function
dijelaskan sebagai berikut.
type functionName(parameters)
{
// Statement;
}
Contoh:

int delayVal()
{
int v; // membuat variabel ‘v’ bertipe integer
v = analogRead(pot); // baca harga potentiometer
v /= 4; // konversi 0-1023 ke 0-255
return v; // return nilai v
}

Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena kalau
tidak menghendaki adanya nilai balik maka type function harus void.

a) { } curly braces
Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi.
Apabila ketika memprogram dan programmer lupa memberi curly brace tutup
maka ketika di compile akan terdapat laporan error.

4
b) ; semicolon
Semicolon harus di berikan pada setiap statement program yang kita buat
ini merupakan pembatas setiap statement program yang di buat./*…*/ blok
comment. Semua statement yang di tulis dalam block comments tidak akan di
eksekusi dan tidak akan di compile sehingga tidak mempengaruhi besar program
yang di buat untuk di masukan dalam board Arduino.

c) // line comment
Sama halnya dengan block comments, line coments pun sama hanya saja
yang di jadikan komen adalah perbaris.

2. pinMode()
Digunakan dalam void setup() untuk mengkonfigurasi pin apakah
sebagai Input atau Output. Arduino digital pins secara default di konfigurasi
sebagai input sehingga untuk merubahnya harus menggunakan operator
pinMode(pin, mode).

pinMode (pin, OUTPUT); // mengset pin sebagai output


digitalWrite(pin, HIGH); // pin sebagai source voltagedigitalRead()

3. digitalWrite()
Digunakan untuk men-set pin digital. Pin digital Arduino mempunyai 14 (
0 – 13 ).
digitalWrite (pin, HIGH); // set pin to HIGH

4. digitalRead()
Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.
Value = digitalRead(pin); // men-set ‘value’ sama dengan pin

5. delay()

5
Menghentikan program untuk sesaat sesuai dengan yang di kehendaki,
satuanya dalam millisecond.
Delay(1000); // menunggu selama satu detik

6. if()
Operator if berfungsi untuk menguji coba sebuah kondisi seperti nilai
analog sudah berada di bawah nilai yang kita kehendaki atau belum, apabila
terpenuhi maka akan mengeksekusi baris program yang ada dalam kurung, jika
tidak terpenuhi maka akan mengabaikan baris program yang ada dalam kurung.

If ( someVariabel ?? value )
{
//DoSomething;
}

1.3 Daftar Alat dan Bahan


1. PC
2. Proteus
3. Software Arduino

6
1.4 Prosedur Praktikum
1. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.

ARDUINO
D2
R2
470R
LED-BLUE
D1
R1
AREF
13 470R
PB5/SCK LED-BLUE
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO

ATMEGA328P-PU
1121

DIGITAL (~PWM)
7

ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
A5
PC4/ADC4/SDA
TX PD1/TXD
1 R4
PC5/ADC5/SCL 0 470R
RX PD0/RXD

ARDUINO UNO R3
R5
470R

Gambar 1.1 Rangkaian Input Output

2. Ketiklah program pada softwre Arduino sesuai dengan program berikut,


int led1 = 8;
int led2 = 9;
int b1 = 2;
int b2 = 3;
int valueb1;
int valueb2;
void setup(){
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(b1,INPUT);
pinMode(b2,INPUT);}
void loop(){
valueb1 = digitalRead(b1);
digitalWrite(led1,valueb1);
valueb2 = digitalRead(b2);
digitalWrite(led2,valueb2);}
3. Simulasikan dan berilah analisis beserta kesimpulannya.

7
1.5 Pembahasan
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada
ATmega328. Arduino UNO mempunyai 14 pin digital input atau output (6 di
antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator
Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header,
dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk
menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer
dengan sebuah kabel USB atau menyuplainya dengan sebuah adaptor AC ke DC
atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino
UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur
Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah
pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah
resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah
untuk diletakkan ke dalam DFU mode.
Uno berarti satu dalam bahasa Italia dan dinamai untuk menandakan
keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan
menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah
sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan
Arduino, untuk suatu perbandingan dengan versi sebelumnya.
Pada praktikum pertama ini kita membahas mengenai input/output
menggunakan aplikasi Proteus sebagai simulator rangkaian. Sedangkan aplikasi
Arduino digunakan sebagai pengolah program. Komponen-kompone yang akan
kita gunakan pada praktikum mengenai input output ini diantaranya adalah
Arduino Uno yang library Proteusnya dapat kita download di internet kita
menggunakan dua buah LED berwarna biru, kemudian ada empat buah resistor
bernilai 470 ohm. Lalu juga ada dua buah push button. Juga yang tidak kalah
penting dari komponen-komponen tersebut adalah ground dan Vcc.
Setelah kita telah memasukkan komponen-komponen yang diperlukan
untuk praktikum pertama ini. Kemudian kita sambungkan komponen-komponen
tersebut seperti rangkaian yang telah diberikan. Pertama sambungkan anoda LED
1 yang diberi nama D1 pada program simulasi Proteus pada pin 9 dari Arduino

8
Uno, kemudian sambungkan anoda LED 2 yang diberi nama D2 pada program
Proteus pada pin 8 dari Arduino Uno. Selanjutnya kita sambungkan katoda dari
LED 2 dengan resistor 470 ohm yang digunakan sebagai penghambat tegangan
yang masuk pada LED agar tidak terlalu besar dan melebihi batas tegangan yang
dapat tersuplai oleh LED yang dapat mengakibatkan LED terbakar. Setelah
disambungkan pada resistor selanjutnya sambungkan pada ground. Begitu juga
pada LED 1 juga kita sambungkan pada resistor kemudian kita sambungkan pada
ground sebagai netral atau kutub negatifnya. Selanjutnya adalah kita sambungkan
Vcc atau power dengan resistor dan push button dan diparalel kemudian
disambungkan dengan pin 3 untuk push button pertama dan dirangkain sama pada
push button kedua hanya saja di sini letak push button adalah sesudah resistor
dihubungkan pada pin 2 kemudian diparalel dengan push button, sedangkan pada
push button pertama dari Vcc kemudian ke push button dan dihubungkan pada pin
3 lalu dihubungkan paralel dengan resistor tidak lupa dihubungkan dengan ground
sebagai sumbu negatif.
Setelah kita rangkai rangkaian seperti yang telah diberikan selanjutnya kita
tulis program pada aplikasi Arduino seperti program yang telah diberikan. Setelah
kita tulis program berikut:
Program int led1 = 8; adalah untuk menginisialisasi dari LED
pertama dihubungkan dengan pin 8 Arduino. int led2 = 9; adalah untuk
menginisialisasi dari LED kedua dihubungkan dengan pin 9 Arduino. int b1 =
2; adalah untuk menginisialisasi dari push button pertama dihubungkan dengan
pin 2 Arduino. int b2 = 3; adalah untuk menginisialisasi dari push button
kedua dihubungkan dengan pin 3 Arduino. int valueb1; adalah untuk
menginisialisasi dari nilai push button pertama. int valueb2; adalah untuk
menginisialisasi dari nilai push button kedua. void setup() adalah untuk
inisialisasi yang hanya dijalankan sekali di awal program.
pinMode(led1,OUTPUT); adalah untuk mengkonfigurasi LED
pertama sebagai output. pinMode(led2,OUTPUT); adalah untuk
mengkonfigurasi LED kedua sebagai output. pinMode(b1,INPUT); adalah
untuk mengkonfigurasi push button pertama sebagai input.
pinMode(b2,INPUT); adalah untuk mengkonfigurasi push button kedua

9
sebagai input. void loop() adalah untuk mengeksekusi bagian program
yang akan dijalankan berulang-ulang. valueb1 = digitalRead(b1);
adalah untuk membaca nilai dari push button pertama.
digitalWrite(led1,valueb1); adalah untuk mengatur pin digital dari
LED pertama dan nilai push button pertama. valueb2 =
digitalRead(b2); adalah untuk membaca nilai dari push button kedua.
digitalWrite(led2,valueb2); adalah untuk mengatur pin digital dari
LED kedua dan nilai push button kedua.
Untuk rangkaiannya, LED pertama dihubungkan dengan resistor dan pin 9
pada arduino. LED kedua dihubungkan dengan resistor dan pin 8 pada arduino.
Lalu kedua LED tersebut dihubungkan pada ground. Push button pertama
dihubungkan dengan resistor, terminal power, dan pin 2 pada arduino yang
kemudian rangkaian push button tersebut dihubungkan ke ground. Pada push
button kedua dihubungkan dengan resistor, terminal power, dan pin 3 pada
arduino yang kemudian rangkaian push button tersebut dihubungkan ke ground.
Hasil analisa pada saat simulasi dijalankan dengan keadaan kedua push
button tidak ditekan, LED yang terhubung dengan pin 8 akan menyala atau dalam
kondisi high. Sedangkan LED yang terhubung dengan pin 9 akan padam atau
dalam kondisi low. Saat push button yang terhubung dengan pin 2 ditekan, maka
kedua LED akan padam atau dalam kondisi low. Saat push button yang terhubung
dengan pin 3 ditekan, maka kedua LED akan menyala atau dalam kondisi high.
Saat kedua push button ditekan, maka LED yang terhubung dengan pin 9 akan
menyala atau dalam kondisi high. Sedangkan LED yang terhubung dengan pin 8
akan padam atau dalam kondisi low.

10
1.6 Kesimpulan
Kesimpulan dari pratikum yang telah dilakukan antara lain:
1. Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
2. Pada keadaan kedua push button tidak ditekan, LED yang terhubung dengan
pin 8 akan menyala dan LED yang terhubung dengan pin 9 akan padam.
3. Saat push button yang terhubung dengan pin 2 ditekan, maka kedua LED akan
padam.
4. Saat push button yang terhubung dengan pin 3 ditekan, maka kedua LED akan
menyala.
5. Saat kedua push button ditekan, maka LED yang terhubung dengan pin 9 akan
menyala dan LED yang terhubung dengan pin 8 akan padam.
6. Pengaturan tata rangkaian resistor , push button¸ ground, dan terminal power
mempengaruhi perbedaan menyala nya sebuah LED.

11

Anda mungkin juga menyukai