14
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. 2

BAB 1 print

Embed Size (px)

DESCRIPTION

input output

Citation preview

BAB 1. INPUT OUTPUT

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

1.2 Landasan Teori1. 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.void setup(){ pinMode(13,OUTPUT); // mengatur 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} Variable adalah sebuah penyimpan nilai yang dapat di gunakan dalam program. Variable dapat di rubah sesuai dengan instruksi yang kita buat. Ketika mendeklarisikan variable harus di ikut sertakan type variable serta nilai awal variable.Type variableName = 0;Contoh :Int inputVariable = 0;// mendefinisikan sebuah variable bernama inputVariable dengan nilai awal 0inputVariable = analogRead(2); // menyimpan nilai yang ada di analog pin 2 ke inputVariable Sebuah variable dapat di deklarasikan pada awal program sebelum void setup(), secara lokal di dalam sebuah function, dan terkadang di dalam sebuah block statement pengulangan. Sebuah variable global hanya satu dan dapat di gunakan pada semua block function dan statement di dalam program. Variable global di deklarasikan pada awal program sebelum fungstion setup(). Sebuah variable lokal di deklarasikan di setiap block function atau di setiap block statement pengulangan dan hanya dapat di gunakan pada blok 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 pembuatanfungsi yang lain akan di bahas selanjutnya. Cara pendeklarasian function dijelaskan sebagai berikut :type functionName(parameters) { // Statement; }Contoh:int delayVal() { int v; // membuat variable v bertipe integer v = analogRead(pot); // baca harga potensiometer 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 progremer lupa memberi curly brace tutup maka ketika di compile akan terdapat laporan error.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 pin secara default di konfigurasi sebagai input sehingga untuk merubahnya harus menggunakan operator pinMode(pin, mode).pinMode (pin, OUTPUT);// mengset pin sebagai outputdigitalWrite(pin, HIGH);// pin sebagai source voltagedigitalRead()

3. digitalWrite() Digunakan untuk mengetur 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);// mengatur value sama dengan pin

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

6. if( If Operator if menguji 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 brackets kalau tidak terpenuhi maka akan mengabaikan baris program yang ada dalam brackets.If ( someVariable ?? value ) { //DoSomething; }

1.3 Daftar Alat dan Bahan1. PC2. Proteus3. Software Arduino

1.4 Prosedur Praktikum1. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.

Gambar 1.1 Rangkaian Simulasi Input Output pada Arduino

2. Ketiklah program pada software 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.

1.5 PembahasanI/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi I/O Pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksibel, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.Port I/O yang berarti gerbang konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan scanner. Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar.Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse.Unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer.Bagian masukan (input) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Output Read [IOR]) dan untuk tulis I/O (Input/Output Write [IOW]).Pada praktikum pertama yang membahas mengenai input output ini menggunakan aplikasi proteus sebagai pembuatan rangkaian dan simulator. Sedangkan aplikasi arduino digunakan sebagai pengolah program yang akan dimasukkan dalam arduino pada proteus. Arduino yang digunakan pada proteus ialah arduino uno. Kompnen lain yang akan dirangkai pada proteus antara lain dua buah LED blue, empat buah resistor sebesar 470 , dan dua buah push button. Dalam rangkaian terdapat dua buah terminal power dan tiga buah terminal ground.Pertama kita pilih dahulu alat dan bahan yang diperlukan pada praktikum ini dengan mencari nama komponen pada menu component mode pada aplikasi proteus, yang diperlukan adalah 2 buah LED, 4 buah resistor, 2 buah push button dan sebuah Arduino UNO. Lalu menguhubungkan seperti pada gambar rangkaian.Resistor 1 dan 2 dihubungkan ke pin 8 dan 9 pada Arduino dan dihubungkan dengan ground seperti pada lampiran gambar 1. Sedangkan 2 buah push button dan 2 buah resistor 4 dan 5 dihubungkan dengan pin 2 dan 3 pada arduino dan dihubungkan dengan Vcc dan ground. Setelah itu dimasukkan program pada Arduino seperti pada gambar lampiran 1.2.Penjelasan dari masing-masing program adalah sebagai berikut yaitu 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 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.Dari praktikum yang telah dilakukan analisa pada saat simulasi dijalankan adalah 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 seperti pada gambar lampiran 1.3. Saat push button yang terhubung dengan pin 2 ditekan, maka kedua LED akan padam atau dalam kondisi low seperti pada gambar lampiran 1.4. 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.

1.6 KesimpulanKesimpulan dari pratikum yang telah dilakukan antara lain:1. Pada keadaan kedua push button tidak ditekan, LED yang terhubung dengan pin 8 akan menyala dan LED yang terhubung dengan pin 9 akan padam seperti pada gambar lampiran 1.3.2. Saat push button yang terhubung dengan pin 2 ditekan, maka kedua LED akan padam seperti pada gambar lampiran 1.4.3. Saat push button yang terhubung dengan pin 3 ditekan, maka kedua LED akan menyala seperti pada gambar lampiran 1.5.4. Pada saat kedua push button ditekan maka LEDyang terhubung dengan pin 9 pada Arduino akan menyala dan LED yang tehubung dengan pin 8 pada Arduino akan padam.5. Fungsi LED adalah sebagai output (keluaran).6. Push button digunakan sebagai saklar.

3