Modul Praktikum Mikrokontroler Arduino [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MODUL PRAKTIKUM MIKROKONTROLER ARDUINO Oleh : Andrian Wijayono, S.Tr.T. E-mail: [email protected] Intisari Pada modul praktikum ini akan dijelaskan teori serta mengenai penggunaan mikrokontroller arduino. Beberapa listing program dan contoh aplikasi diterangkan pada bab ini, seperti pada aplikasi sensor dan aktuator (baik digital maupun analog).



PENDAHULUAN Penggunaan peralatan otomatisasi di industri tekstil merupakan hal yang telah lama diketahui. Tujuan penggunaan perangkat otomatisasi tersebut adalah agar dapat meningkatkan efektifitas dan efesiensi di bagian produksi. Pada era digital dan komputer saat ini, mikrokontroler merupakan salah satu perangkat yang dapat digunakan untuk memenuhi kebutuhan tersebut. Sebelum dikenalnya perangkat tersebut, otomatisasi pada mesin-mesin tekstil cenderung banyak yang menggunakan prinsip mekanis, seperti contohnya prinsip otomatisasi pakan putus pada mesin tenun dengan menggunakan garpu peraba, namun tentunya sistem tersebut memiliki banyak sekali kekurangan. Sehingga penerapan perangkat mikrokontroler merupakan salah satu solusi pada masalah tersebut, dengan cara mengaplikasikan perangkat fotosensor dengan sebuah mikrokontroler, maka peralatan mekanis tersebut dapat dibuat pada mekanisme dan ukuran yang lebih sederhana.



TUJUAN 1. Mempelajari dasar cara mengaplikasikan perangkat mikrokontroler Arduino Uno pada sebuah sensor push button serta aktuator LED. 2. Mempelajari dasar cara untuk merangkai suatu rangkaian listrik pada sebuah rangkaian mikrokontroler.



1



DASAR TEORI 1. Pengenalan Umum Platform Papan Arduino 1.1 Platform Arduino Dilansir dari web resmi Arduino (https://www.arduino.cc/en/guide/introduction), Arduino adalah platform elektronik open source yang didasarkan pada perangkat keras dan perangkat lunak yang mudah digunakan. Papan Arduino dapat membaca input menjadi output. Selama bertahun-tahun Arduino telah menjadi otak ribuan proyek, mulai dari objek sehari-hari sampai instrumen ilmiah yang rumit. Komunitas para perakit, pelajar, seniman, programmer banyak yang menggunakan platform open source ini, kontribusi mereka telah menambahkan sejumlah pengetahuan yang dapat diakses yang dapat membantu para pemula dan ahli. Arduino lahir di Ivrea Interaction Design Institute sebagai alat sebagai alat yang digunakan untuk prototyping cepat. Arduino ditujukan untuk siswa tanpa latar belakang dalam bidang elektronika dan pemrograman. Semua papan Arduino benarbenar open source, memberdayakan pengguna untuk membangunnya secara mandiri dan akhirnya menyesuaikannya dengan kebutuhan khusus mereka. Software Arduino juga bersifat open-source, dan berkembang melalui kontribusi pengguna di seluruh dunia. 1.2 Jenis-Jenis Papan Arduino Dilansir dari web resmi Arduino (https://www.arduino.cc/en/Main/Products), terdapat banyak jenis dari papan Arduino yang tersedia, jenis-jenis papan Arduino tersebut memiliki kemampuannya masing-masing. Berbagai jenis arduino tersebut dapat dilihat pada Gambar-1. Khusus jenis Arduino Uno merupakan salah satu versi platform yang pertama dirilis oleh Arduino. Arduino Nano dan Arduino Mini dapat digunakan untuk kebutuhan pembuatan prototype dengan ukuran kecil yang tak membutuhkan banyak I/O. Arduino Mega dan Arduino Mega ADK dapat digunakan untuk pembuatan prototype yang memiliki kebutuhan I/O yang lebih banyak.



2



Sumber: https://www.arduino.cc/en/Main/Products, diakses 23 April 2017.



Gambar-1 Jenis-jenis papan Arduino



3



1.3 Keunggulan Papan Arduino Terdapat beberapa keunggulan yang dimiliki oleh platform mikrokontroler Arduino, diantaranya adalah: 1. Murah, papan Arduino relatif murah dibanding platform mikrokontroler lainnya. 2. Cross-platform, Arduino Software (Integrated Development Environment) berjalan pada sistem operasi Windows, Macintosh OSX, dan Linux. Kebanyakan sistem mikrokontroler terbatas pada Windows. 3. Lingkungan pemrograman yang sederhana dan jelas, Arduino Software (Integrated Development Environment) mudah digunakan untuk pemula, namun cukup fleksibel bagi pengguna tingkat lanjut untuk memanfaatkannya juga. 4. Memiliki perangkat lunak yang bersifat open source dan extensible, Software Arduino diterbitkan sebagai tool open source, sehingga bahasa sintaks dapat diperluas melalui library C ++. 5. Memiliki perangkat keras yang bersifat open source dan extensible, papan Arduino diterbitkan dengan lisensi Creative Commons, jadi perancang circuit berpengalaman dapat membuat versi modul mereka sendiri, memperluasnya serta memperbaikinya sesuai dengan kebutuhan. 1.4 Software Arduino (Integrated Development Environment) Integrated Development Environment (IDE) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak, sebagai contohnya adalah Software Arduino. Secara garis besar, Software Arduino memiliki fasilitas sebagai berikut: -



Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak.



-



Compiler, yaitu fasilitas untuk mengecek sintaks dari source code, kemudian mengubahnya dalam bentuk binary sesuai dengan bahasa mesin.



-



Upload, yaitu fasilitas untuk mengirimkan binary pada papan Arduino.



Software Arduino tersebut memiliki kompabilitas untuk sistem operasi Windows 32 bit, Windows 64 bit, Mac OS X dan Linux ARM. Gambar-2 merupakan tampilan



4



antarmuka Software Arduino yang digunakan sebagai IDE dalam pemrograman papan Arduino.



Sumber: Alan G. Smith. Introduction to Arduino: A piece of cake!. ISBN-13: 978-1463698348.



Gambar-2 Tampilan antarmuka perangkat lunak IDE Arduino Pada Gambar 2.26 menunjukan bagian-bagian dari antarmuka Arduino. Fungsi dari masing-masing bagian antarmuka tersebut adalah sebagai berikut: -



Compile, berfungsi untuk mengecek sintaks dari source code, kemudian mengubahnya dalam bentuk binary sesuai dengan bahasa mesin.



-



Stop, berfungsi untuk menghentikan proses kompilasi.



-



Create new sketch, berfungsi membuka jendela baru untuk membuat sketsa baru.



5



-



Open Existing Sketch, berfungsi untuk memuat sketsa dari source code Software Arduino yang ada di komputer.



-



Save Sketch, berfungsi untuk menyimpan perubahan pada sketsa yang sedang Anda kerjakan.



-



Upload to Board, berfungsi untuk mengkompilasi source code dan mengunggahnya pada papan Arduino.



-



Serial monitor, berfungsi untuk menampilkan hasil serial monitoring pada variabel tertentu yang diamati.



-



Tombol Tab, digunakan untuk memuat beberapa file dalam sketsa yang sedang dibuat dengan prinsip class. Fitur ini digunakan untuk pemrograman yang sudah lebih berkembang.



-



Sketch Editor, berfungsi untuk menulis atau mengedit source code.



-



Text Console, berfungsi untuk menunjukkan hal yang sedang dilakukan IDE, kemudian digunakan pula untuk menampilkan pesan error apabila terdapat kesalahan pada source code program.



-



Line Number, berfungsi untuk menunjukkan nomor baris aktif pada kursor.



Untuk mengunggah data program pada papan Arduino, komputer harus dalam keadaan terhubung dengan perangkat papan Arduino melalui port USB-B pada papan Arduino (dapat dilihat pada Gambar-3).



Jack USB-B



Port USB-B



Sumber: https://learn.sparkfun.com/tutorials/redboard-vs-uno/usb-connectors-and-drivers, diakses tanggal 23 April 2017.



Gambar-3 Konektor USB-B dan port USB-B papan Arduino Uno R3



6



2. Data Spesifikasi Papan Arduino R3 Arduino / Genuino Uno adalah papan mikrokontroler berbasis ATmega328P. Papan ini memiliki 14 pin input / output digital (yang 6 dapat digunakan sebagai output PWM), 6 input analog, kristal kuarsa 16 MHz, koneksi USB, power input, header ICSP dan tombol reset. Perangkat ini memiliki fitur untuk mendukung mikrokontroler. Cukup hubungkan ke komputer dengan kabel USB atau nyalakan dengan adaptor AC-to-DC atau baterai untuk menggunakannya. "Uno" berasal dari bahasa Italia dan dipilih untuk menandai perilisan Arduino Software (IDE) 1.0. Uno board dan versi 1.0 dari Arduino Software (IDE) adalah versi referensi Arduino, kemudian berevolusi menjadi versi yang lebih baru. Papan Uno adalah versi pertama dari rangkaian papan Arduino USB, dan model referensi untuk platform Arduino. Detail spesifikasi papan Arduino Uno dapat dilihat pada Tabel-1. Tabel-1 Spesifikasi papan Arduino Uno R3



Sumber: https://www.arduino.cc/en/Main/ArduinoBoardUno, diakses tanggal 23 April 2017



7



Pengenalan bagian-bagian papan diperlukan oleh pengguna papan Arduino, sehingga dapat menggunakan platform papan Arduino secara baik dan benar. Bagian-bagian pada papan Arduino Uno R3 dapat dilihat pada Gambar-4



Sumber: https://www.arduino.cc/en/Main/ArduinoBoardUno, diakses tanggal 23 April 2017.



Gambar-4 Bagian-bagian papan Arduino Uno R3 Pin bernomor 0 sampai 13 dapat digunakan sebagai 14 pin input / output digital (yang 6 dapat digunakan sebagai output PWM). Pin A0 sampai A5 dapat digunakan sebagai 6 input dan output analog. Terdapat 3 buah pin ground serta pin 5v dan pin 3.3v sebagai sumber tegangan. Terdapat tiga sumber tegangan untuk menghidupkan perangkat papan Arduino, antara lain dapat menggunakan USB-B port, power jack 2.1mm x 5.5 mm, atau Vin pin. Terdapat sebuah reset button yang dapat digunakan untuk me-reset program yang telah diunggah pada papan Arduino.



8



3. Pemrograman Papan Arduino Uno R3 Papan Arduino Uno dapat diprogram dengan Arduino Software (Aplikasi IDE Arduino). ATmega328 di Arduino Uno diprogram ulang dengan bootloader yang memungkinkan untuk mengunggah kode baru ke dalamnya tanpa menggunakan pemrogram perangkat keras eksternal (dengan komunikasi menggunakan protokol STK500). Selain itu, dapat dilakukan pemrograman pada Atmega328 tanpa melewati bootloader dan memprogram mikrokontroler melalui header ICSP (In-Circuit Serial Programming) menggunakan Arduino ISP. Untuk memprogram papan Arduino melalui bootloader, papan Arduino dihubungkan dengan komputer melalui kabel penghubung USB Type B. Setelah itu dapat dilakukan proses pemrograman melalui Integrated Development Environment. 4. I/O Digital dan I/O Analog Arduino Uno R3 4.1 Input Analog Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang berhubungan dengan variabel lain. Contoh dari sinyal analog yaitu peningkatan intensitas cahaya LED yang arus yang didalamnya juga meningkat, arus melalui resistor seperti yang divariasikan tegangannya, atau suhu di kamar yang berjalan sering dengan berjalannya waktu. Sinyal analog dapat mengambil nilai-nilai yang tak terbatas. Pembacaan sinyal analog dilakukan dengan cara sampling dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin khusus yaitu pin Analog to Digital Conversion (ADC). Perangkat Arduino Uno R3 memiliki 6 buah pin analog yang dapat digunakan sebagai Analog to Digital Conversion (ADC). Pin analog ADC tersebut berfungsi sebagai mengubah sinyal analog yang masuk menjadi nilai digital sehingga mudah diolah dan dapat diukur. Pin analog dapat mengenali sinyal pada rentang nilai voltase tersebut (normal 0 – 5 Vdc) yang dibandingkan dengan nilai tegangan refrensinya. Hal ini sangat berguna ketika kita hendak mengukur nilai dari suatu sensor yang terpasang serta menggunakan nilai masukan tersebut untuk keperluan lain. Fungsi yang kita gunakan untuk membaca nilai analog pada Arduino adalah analogRead([nomorPin]).



9



4.2 Output Analog Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi harus melewati proses pengubahan output dari digital menjadi analog yang memerlukan fungsi komponen Digital to Analog Converter. Pada Arduino Uno R3 terdapat 6 buah pin Pulse Width Modulation (PWM) yang dapat digunakan sebagai fitur Digital to Analog Converter. Apabila sebuah arduino yang dihubungkan dengan LED dan ingin mengendalikan intensitas cahayanya, fitur ini dapat digunakan. Analog output pada Arduino mengirimkan sinyal analog dengan intensitas yang ditentukan sesuai kebutuhan. PWM memanipulasi keluaran digital sedemikian rupa sehingga menghasilkan sinyal analog. Arduino mengeset output digital ke HIGH dan LOW bergantian dengan rentang waktu tertentu untuk setiap nilai keluarannya. Durasi waktu untuk nilai HIGH disebut pulse width atau panjang pulsa. Variasi nilai output analog didapatkan dari perubahan panjang pulsa yang diberikan pada satu periode waktu dan dilakukan berulang-ulang. 4.3 Input Digital Pin digital dan pin analog pada Arduino Uno R3 dapat digunakan sebagai pin input digital. Digital berarti sinyal yang akan dikirimkan/diterima berupa nilai 1 atau 0, kondisi on atau off, kondisi HIGH atau LOW, ataupun ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya bersifat kontinyu. Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika tidak terdeteksi adanya benda. 4.4 Output Digital Pada output digital sebenarnya hampir sama dengan input digital dikarenakan pada prinsipnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat diset sebagai input maupun output. Sintaks pemrograman untuk deklarasinya yaitu: >> pinMode ([pin yang digunakan], [INPUT or OUTPUT]};



10



5. Dasar Aktuator Digital



// Made in Physics Lab Politeknik STTT Bandung const int PIN13 = 13;// arduino berada pada port 13



void setup () { pinMode (PIN13, OUTPUT); } void loop () { digitalWrite (PIN13, HIGH);//pada pin 13 lampu led akan menyala delay (1000); // waktu nyala adalah 1000ms atau 1 s



digitalWrite (PIN13, LOW); delay (1000);// lampu led akan padam selama 1 s }



6. Dasar Sensor Digital



int pushButton = A2;



// the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // make the pushbutton's pin an input: pinMode(pushButton, INPUT); }



// the loop routine runs over and over again forever: void loop() { // read the input pin: int buttonState = digitalRead(pushButton); 11



// print out the state of the button: Serial.println("Besar Nilai adalah: "); Serial.println(buttonState); delay(1);



// delay in between reads for stability



}



7. Dasar Aktuator Analog



int led = 9;



// the pin that the LED is attached to



int brightness = 0; int fadeAmount = 5;



// how bright the LED is // how many points to fade the LED by



// the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(led, OUTPUT); }



// the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(led, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; // reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } // wait for 30 milliseconds to see the dimming effect delay(30); } 12



8. Dasar Sensor Analog



int sensor = A0; void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); }



// the loop routine runs over and over again forever: void loop() { // read the input on analog pin A0: int sensorValue = analogRead(sensor); // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V): float voltage = sensorValue * (5.0 / 1023.0); // print out the value you read: Serial.println(voltage); }



9. Rangkaian Kombinasi



const int buttonPin = 2; const int ledPin = 13;



// the number of the pushbutton pin // the number of the LED pin



// variables will change: int buttonState = 0;



// variable for reading the pushbutton status



void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT);



13



}



void loop(){ // read the state of the pushbutton value: int buttonState = digitalRead(buttonPin);



// check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); } }



Gambar-5 Rangkaian Push Button



14



METODA EKSPERIMEN Alat dan Bahan 1. Papan Arduino Uno R3 2. 1 Buah push button 3. 1 Buah lampu LED 4. 1 Buah Project Board 5. Kabel konektor / kabel jumper 6. Resistor Cara Kerja 1. Papan Arduino Uno R3 dihubungkan pada sebuah komputer yang telah terpasang perangkat lunak Arduino Software 2. Listing program (lihat bagian butir 9 Rangkaian Kombinasi) dimasukan pada program software arduino dan di-upload serta di-compile. 3. Arduino, push button, LED dirangkai pada sebuah project board (rangkaian dapat dilihat pada Gambar-5) 4. Dicatat hasil kinerja rangkaian yang telah dilakukan 5. Diulangi percobaan tersebut, namun dengan menggunakan dua buah led yang terpasang secara parallel. 6. Dicatat hasil percobaan tersebut.



TUGAS 1. Jelaskan setiap fungsi dari sintaks pada listing program yang anda gunakan! 2. Gambarkan bagaimana wiring diagram rangkaian yang telah anda kerjakan! Beserta foto!



15



Lampiran Strukur Pemrograman Arduino Uno R3 Structure 1. Structure Struktur dasar dari bahasa pemrograman arduino adalah sederhana yang hanya tediri dari dua bagian, yaitu : void setup( ) { // Statement; } void loop( ) } // Statement; } Bagian setup( ) berfungsi untuk inisialisasi yang hanya dijalankan sekali di awal program, sedangkan bagian loop( ) befungsi untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya. 2. Setup( ) Fungsi setup( ) hanya dipanggil satu kali ketika program pertama kali dijalankan. Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup( ) harus disertakan dalam program walaupun tidak ada statement yang dijalankan. Berikut ini adalah contoh dari bagian setup( ): void setup( ) { pinMode(13, OUTPUT); //mengatur ‘pin’ 13 sebagai output } 3. Loop Setelah melakukan fungsi setup( ), maka secara langsung akan melakukan fungsi loop( ) secara beruntunan dan melakukan instruksi-instruksi yang ada dalam fungsi loop( ).



16



Berikut ini adakah contoh cara melakukan fungsi loop: void loop( ) { digitalWrite(13, HIGH); delay(1000);



// pause selama 1 detik



digitalWrite(13, HIGH); delay(1000);



// nyalakan ‘pin’ 14



// pause selama 1 detik



digitalWrite(14, HIGH); delay(1000);



// matikan ‘pin’ 13



// pause selama 1 detik



digitalWrite(14, HIGH); delay(1000);



// nyalakan ‘pin’ 13



// matikan ‘pin’ 14



// pause selama 1 detik



} 4. Function Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang akan dieksekusi ketika function dipanggil. Berikut ini adalah cara pendeklarasian function: type functionName(parameters) { // Statement; } Contoh dari pendeklarasian function adalah sebagai berikut: Int delayVal( ) { Int v;



// membuat variable ‘v’ bertipe integer



v = analogRead(pot);



// baca harga potentiometer



v /= 4;



// konversi 0-1023 ke 0-255



return v; // return nilai v Pada contoh tersebut, fungsi tersebut memiliki nilai balik int (integer), karena jika tidak menghendaki adanya nilai balik maka type function harus void.



17



5. { } Curly Braces Curly braces mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila programmer lupa memberikan tanda curly braces ketika memprogram, maka ketika di-compile akan terdapat laporan error. 6. ; Semicolon Semicolon harus diberikan pada setiap statement program yang kita buat ini merupakan pembatas setiap statement program yang dibuat. 7. /*:*/ Block comment Semua statement yang ditulis dalam block comments tidak akan dieksekusi dan tidak akan di-compile sehingga tidak mempengaruhi besar progam yang dibuat untuk dimasukan kedalam papan Arduino. 8. // Line comment Semua statement yang ditulis dalam line comments tidak akan dieksekusi dan tidak akan di-compile sehingga tidak mempengaruhi besar progam yang dibuat untuk dimasukan kedalam papan Arduino. Line comment berfungsi untuk memberikan komentar perbaris.



Variable 1. Variable Variable adalah sebuah penyimpanan nilai yang dapat digunakan dalam program. Variable dapat diubah sesuai dengan instruksi yang dibuat. Ketika mendeklarasikan variable harus disertakan type variable serta nilai awal variable. Berikut ini adalah cara mendeklarasikan variable: Type variableName = 0;



18



Berikut ini adalah contoh cara untuk mendeklarasikan variable: Int inputVariable = 0; // mendefinisikan sebuah variable bernama inputVariable dengan nilai awal 0. InputVariable = analogRead(2); // menyimpan nilai yang ada di analog pin 2 ke inputVariable. 2. Variable scope Sebuah variable dapat dideklarasikan pada awal program sebelum void setup( ), secara local di dalam sebuah function, sehingga terkadang di dalam sebuah block statement terdapat pengulangan. Sebuah variable global hanya satu dan dapat digunakan pada semua block function dan statement di dalam program. Variable global dideklarasikan pada awal program sebelum function setup( ). Sebuah variable local dideklarasikan di setiap block function atau di setiap block statement pengulangan dan hanya dapat digunakan pada block yang bersangkutan saja. Berikut ini adalah contoh dari penerapan variable scope: Void setup( ) { // no setup needed } Void loop( ) { For (int i=0; i y; // x lebih besar dari y x = y; // x lebih besar dari sama dengan y 4. Logic Operator Operator logical digunakan untuk membandingkan 2 expresi dan mengembalikan nilai balik benar atau salah tergantung dari operator yang digunakan. Terdapat 3 operator logical AND, OR, dan NOT, yang biasanya digunakan pada if statement. Berikut ini adalah contoh penggunaan operator logical: -



Logical AND If (x > 0 && x < 5); // bernilai benar apabila kedua operator pembanding terpenuhi.



-



Logical OR If (x > 0 || y > 0); // bernilai benar apabila salah satu dari operator pembanding terpenuhi.



-



Logical NOT If (!x > 0 ); // benilai benar apabila ekspresi operator salah.



22



Constanta Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut konstanta. Ini membuat memprogram lebih mudah untuk di baca. Konstanta di kelasifikasi berdasarkan group, diantaranya: 1. True/False Merupakan konstanta Boolean yang mendifinisikan logic level. False mendifinisikan 0 dan True mendifinisikan 1. Berikut ini merupakan contoh dari penggunaan konstanta Boolean: If ( b == TRUE ); { //doSomething } 2. High/Low Konstanta ini mendefinisikan aktifitas pin HIGH atau LOW dan digunakan ketika membaca dan menulis ke digital pin. HIGH di definisikan sebagai 1, sedangkan LOW sebagai 0. Berikut ini adalah contoh penggunaan konstanta High/Low: digitalWrite( 13, HIGH ); 3. Input/Output Konstanta ini digunakan dengan fungsi pinMode() untuk mendefinisikan mode pin digital, sebagai input atau output. Berikut ini adalah contoh penggunaan konstanta Input/Output: pinMode( 13, OUTPUT );



Flow Control 1. If If Operator berfungsi untuk 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



23



akan mengabaikan baris program yang ada dalam brackets. Berikut ini adalah contoh penggunaan flow control if: If (someVariable ?? value) { //DoSomething; } 2. If:Else Operator ifRelse mengtest sebuah kondisi apabila tidak sesuai dengan kondisi yang pertama maka akan mengeksekusi baris program yang ada di else. Berikut ini adalah contoh penggunaan flow control if dan else: If ( inputPin == HIGH ) { //Laksanakan rencana A; } Else { //Laksanakan rencana B; } 3. For Operator for digunakan dalam blok pengulangan tertutup. Berikut ini adalah contoh penggunaan flow control for: For ( initialization; condition; expression ) { //doSomethig; } 4. While Operator while akan terus mengulang baris perintah yang ada dalam bracket sampai ekspresi sebagai kondisi pengulangan benilai salah. Berikut ini adalah contoh penggunaan flow control while:



24



While ( someVariable ?? value ) { //doSomething; } 5. Do:While Sama halnya dengan while( ) hanya saja pada operator DoRwhile tidak melakukan pengecekan pada awal tapi di akhir, sehingga otomatis akan melakukan satu kali baris perintah walaupun pada awalnya sudah terpenuhi. Berikut ini adalah contoh penggunaan flow control do dan while: Do { //doSomething; } While ( someVariable ?? value );



Digital I/O Input / Output Digital pada breadboard arduino ada 14, pengalamatnya 0 - 13, ada saat tertentu I/O 0 dan 1 tidak bisa di gunakan karena di pakai untuk komunikasi serial, sehingga harus hati-hati dalam pengalokasian I/O. 1. Pin Mode 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). Berikut ini adalah contoh penggunaan pin mode: pinMode (pin, OUTPUT); // mengset pin sebagai output digitalWrite(pin, HIGH); // pin sebagai source voltage



25



2. Digital Read membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW. Berikut ini adalah contoh penggunaan digital read: Value = digitalRead(pin); // mengset ‘value’ sama dengan pin 3. Digital Write Digunakan untuk mengset pin digital. Arduino mempunyai 14 Pin digital, yaitu pin 0 – 13. Berikut ini adalah contoh penggunaan digital write: digitalWrite ( pin, HIGH ); // set pin to HIGH



Analog I/O Input / Ouput analog pada breadboard arduino ada 6, yakni pengalamatnya 0 – 5. 1. Analog Read Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya dapat bekerja pada analog pin (0-5). Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023. Berikut ini adalah contoh penggunaan analog read: Value = analogRead(pin); // mengset ‘value’ sama dengan nilai analog pin 2. Analog Write Analog write berfungsi untuk mengirimkan nilai analog pada pin analog. Berikut ini adalah contoh penggunaan analog write: analogWrite(pin, value); // menulis ke pin analog



Time 1. Delay Menghentikan program untuk sesaat sesuai dengan yang di kehendaki, satuanya dalam millisecond. Berikut ini adalah contoh penggunaan delay: Delay(1000); // menunggu selama satu detik.



26



2. Millis Mengembalikan nilai dalam millisecond dihitung sejak arduino board menyala. Penapungnya harus long integer. Berikut ini adalah contoh penggunaan millis: Value = millis(); // set ‘value’ equal to millis() Math 1. Min (x, y) Membadingkan 2 variable dan akan mengembalikan nilai yang paling kecil. Berikut ini adalah contoh penggunaan min: value = min(value, 100); // set ‘value’ sebagai nilai yang paling kecil dari kedua nilai 2. Max (x, y) Max merupakan kebalikan dari min. Berikut ini adalah contoh penggunaan max: value = max(value, 100); //set ‘value’ sebagai nilai yang paling besar dari kedua nilai



Serial 1. Serial.begin (rate) Statement ini digunakan untuk mengaktifkan komunikasi serial dan mengatur baudrate. Berikut ini adalah contoh penggunaan serial begin: void setup() { Serial.begin(9600); //open serial port and set baudrate 9600 bps



2. Serial Printing (data) Statement ini digunakan untuk mengirimkan data ke serial port. Berikut ini adalah contoh penggunaan serial printing: Serial.println(100); // mengirimkan 100



27