Anda di halaman 1dari 18

Tugas Akhir 2015

Politeknik SAKTI Surabaya
Bab II

BAB II
TINJAUAN PUSTAKA

2.1 KAJIAN PUSTAKA
Naufal

Rasendriya

Apta

dan

Archel

Valiano

dari

Yogyakarta

mengembangkan helm dengan lampu sein yang bisa menyala tanpa harus
menekan tombol. Penggunanya cukup menggerakkan kepala sesuai arah yang
diinginkan. Helm ini menggunakan perangkat sensor accelerometer dan
mikrokontroler ATMEGA 8. Cara kerja helm ini dengan menggoyangkan helm ke
arah kanan atau kiri sesuai arah berbelok. Untuk mematikan lampu pengguna
cukup menganggukkan kepala. Setelah diteliti lebih dalam, ternyata helm tersebut
tidak terlalu efektif. Penyebab kurang efektifnya adalah ketika pengendara secara
tidak sengaja menengok ketika disapa teman ataupun ketika pengendara
menggelengkan kepala karena kelelahan saat berkendara, maka secara otomatis
lampu sein tersebut akan menyala secara tak disengaja dan akan membuat
pengendara disekitarnya tergesa-gesa untuk menghindar yang dapat berpotensi
menimbulkan kecelakaan.
Tugas Akhir ini menawarkan rancang bangun lampu sein pada helm dengan
cara tetap menggunakan switch lampu sein pada sepeda motor sebagai input untuk
lampu sein pada helm dengan memanfaatkan wireless sebagai media komunikasi.
Diharapkan dengan cara manual untuk mengaktifkan lampu sein pada helm akan
lebih efektif serta dapat dikontrol penggunaannya berdasarkan kebutuhan
pengendara.
2.2 LANDASAN TEORI
5

2. Ada dua bagian utama arduino. yaitu hardware dan software. Jika Arduino Pro Mini dihubungkan ke kedua sumber daya tersebut secara . Bahasa pemrograman yang digunakan arduino adalah bahasa pemrograman C yang telah disederhanakan dengan fitur dalam library sehingga cukup membantu dalam pembuatan program.1 Arduino Pro Mini Arduino merupakan sebuah platform sebuah komputasi fisik yang bersifat open source dimana arduino memiliki input / output (I/O) sederhana yang dapat dikontrol menggunakan bahasa pemrograman.6 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II 2.1 Board Arduino Pro Mini Gambar 2.2 Layout Arduino Pro Mini Catu Daya Arduino Pro Mini Arduino Pro Mini dapat diberi daya melalui power supply eksternal. Arduino dapat dihubungkan keperangkat seperti komputer. Gambar 2.

Hardware Arduino Pro Mini Arduino terdiri dari mikrokontroler megaAVR seperti ATmega8. namun ada beberapa tipe Arduino yang menggunakan kristal osilator 8 MHz. Adaptor dapat dihubungkan ke pin VCC dan GND pada Arduino Pro Mini.7 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II bersamaan maka Arduino Pro Mini akan memilih salah satu sumber daya secara otomatis untuk digunakan. . ATmega168. penstabil tegangan kemungkinan akan menjadi terlalu panas dan dapat merusak Arduino Pro Mini. Untuk koneksi terhadap komputer dapat menggunakan RS232 ke TTL Converter atau menggunakan chip USB ke Serial converter seperti FTDI FT232. Port Arduino Atmega series terdiri dari 20 pin yang meliputi 14 pin I/O digital dengan 6 pin berfungsi sebagai output PWM (Pulse Width modulation) dan 6 pin I / O analog. ATmega1280 dan ATmega2560 dengan menggunakan kristal osilator 16 MHz. ATmega328. Jika diberikan tegangan melebihi 12 volt. Catu daya yang dibutuhkan untuk mensupply minimum sistem Arduino cukup dengan tegangan 5 VDC. Power supply external dapat berasal dari adaptor AC ke DC atau baterai. Tegangan rekomendasi yang diberikan ke Arduino Pro Mini berkisar antara 5 sampai 12 volt. Kelebihan Arduino adalah tidak membutuhkan flash programmer external karena di dalam chip mikrokontroler Arduino telah diisi dengan bootloader yang membuat proses upload menjadi lebih sederhana. Arduino Pro Mini dapat beroperasi pada tegangan 5 sampai 12 volt.

Software IDE Arduino terdiri dari 3 (tiga) bagian: 1. Compiler. Software Arduino ini dapat di instal di berbagai operating system (OS) seperti: LINUX. Struktur perintah pada arduino secara garis besar terdiri dari 2 (dua) bagian . Editor Program. untuk menulis dan mengedit program dalam bahasa processing. Uploader.8 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Gambar 2. 3. 2. Arduino menggunakan Software Processing yang digunakan untuk menulis program kedalam Arduino. modul yang berfungsi memasukkan kode biner kedalam memori mikrokontroler. Windows. Mac OS. Listing program pada Arduino disebut sketch. Processing sendiri merupakan penggabungan antara bahasa C++ dan Java.3 Komunikasi Arduino Pro Mini dengan PC Software Arduino Arduino diciptakan untuk para pemula bahkan yang tidak memiliki basic pemrograman sama sekali karena menggunakan bahasa C++ yang telah dipermudah melalui library. modul yang berfungsi mengubah bahasa processing (kode program) kedalam kode biner karena kode biner adalah satu-satunya bahasa program yang dipahami mikrokontroler.

Area pesan memberikan informasi dan pesan error ketika menyimpan atau membuka sketch.ino. membuat. sebuah area pesan. 2. Sketch ditulis pada editor teks. Tombol toolbar digunakan utuk mengecek dan mengupload sketch. membuka atau menyimpan sketch. Arduino IDE terhubung ke Arduino board untuk melakukan upload program dan juga untuk berkomunikasi dengan Arduino board. Konsol menampilkan output teks dari Arduino IDE dan juga menampilkan error ketika mengkompile sketch. dan menampilkan serial monitor. Perangkat lunak yang ditulis menggunakan Arduino IDE disebut sketch. Sketch disimpan dengan file berekstensi . Pada sudut kanan bawah dari jendela Arduino IDE menunjukkan jenis board dan port serial yang sedang digunakan. .2 Arduino IDE (Integrated Development Environment) Arduino IDE terdiri dari editor teks untuk menulis kode.9 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II yaitu void setup dan void loop. sebuah toolbar dengan tomol-tombol untuk fungsi yang umum dan beberapa menu.2. Void setup berisi perintah yang akan dieksekusi hanya satu kali sejak Arduino dihidupkan sedangkan void loop berisi perintah yang akan dieksekusi berulang-ulang selama Arduino dihidupkan. sebuah konsol.

Klik kanan pada port tersebut dan pilih opsi “Update Driver Software” kemudian klik “Browse my computer for Driver software”. . Klik Start Menu dan buka Control Panel masuk ke System and Security.10 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Gambar 2. Setelah menginstal software Arduino IDE.exe untuk menginstal software Arduino IDE. 3.zip. langkah selanjutnya yang perlu diperhatikan adalah bagaimana caranya driver board Arduino dapat dibaca oleh PC (Personal Computer) dan Arduino IDE. 2. Setelah beberapa saat. Lihat pada bagian Ports (COM & LPT). 4.5. Berikut langkah-langkah dalam menginstal driver Arduino: 1. Kemudian klik pada Device Manager. Setelah download selesai klik dua pada file tersebut untuk membukanya. Hubungkan board dan tunggu Windows untuk memulai instalasi driver. Simpan di folder “Driver” pada software Arduino IDE. proses ini akan gagal. Terdapat beberapa file dan sub folder didalamnya lalu klik pada arduino. Disini akan ada sebuah port terbuka dengan nama “USB Serial Port (COMxx)”. Windows telah menginstal driver Arduino board sehingga pada Device Manager nama port akan berubah menjadi “USB Serial Port (COM3)” seperti Gambar 2.4 Tampilan Arduino IDE Arduino IDE dapat diunduh pada situs resmi Arduino dalam bentuk .

maka software Arduino IDE dapat digunakan untuk membuat serta upload program. Untuk menentukan serial port pada Arduino IDE dapat dilakukan dengan cara klik tools pada menu . terlebih dahulu harus menyesuaikan board yang akan digunakan oleh Arduino dengan cara klik tools pada menu lalu pilih board dan sesuaikan dengan hardware yang akan digunakan seperti Gambar 2. Gambar 2.11 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Gambar 2. Memilih Arduino pada software Setelah itu tentukan juga serial port yang akan digunakan sebagai komunikasi serial dengan hardware.6.6. Serial port haruslah sesuai dengan yang terdapat pada Ports (COM & LPT) pada Device Manager. Sebelum upload program. Menginstal port driver Arduino Setelah driver terinstal pada Windows.5.

Setup .7.2.12 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II lalu pilih serial port seperti gambar 2. sketch dalam Arduino dikelompokkan menjadi 3 blok (Header. Setup. misalnya penggunaan library dan pendefinisian variable. Kode dalam blok ini dijalankan hanya sekali pada waktu compile.3 Pemrograman Arduino Kode Program Arduino biasa disebut sketch dan dibuat menggunakan bahasa pemrograman C++. Loop) dan beberapa sintax yang dibutuhkan untuk format penulisan. Secara sederhana. 2. Di bawah ini contoh kode untuk mendeklarasikan variable led (integer) dan sekaligus diisi dengan angka 13 int led = 13. Gambar 2.7. Header Pada bagian ini biasanya ditulis definisi-definisi penting yang akan digunakan selanjutnya dalam program. Memilih serial port pada software 2. Struktur Pemrograman 1.

Apabila program sudah sampai akhir blok. menggunakan perintah pinMode. Program akan berhenti apabila power Arduino di matikan. Initialisasi variable juga bisa dilakukan di blok ini. Jadi perintah di atas sama dengan pinMode(13. Jika difungsikan sebagai input. Biasanya di blok ini diisi penentuan apakah suatu pin digunakan sebagai input atau output. Suatu pin bisa difungsikan sebagai output atau input. Void setup() { pinMode(13. 1). JIka difungsikan sebagai output. Fungsi ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. // mengeset pin 13 sebagai output } Output adalah suatu makro yang sudah didefinisikan Arduino yang berarti = 1. Loop Blok ini akan dieksekusi secara terus menerus.13 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Disinilah awal program Arduino berjalan. maka akan dilanjutkan dengan mengulang eksekusi dari awal blok. 3. pin tersebut memiliki impedansi yang tinggi dan siap menerima arus yang dikirimkan kepadanya. Fungsi setup() harus diikut sertakan dalam program walaupun tidak ada statement yang dijalankan. Disinilah fungsi . yaitu disaat awal atau ketika power on pada Arduino board.OUTPUT). pin siap mengirimkan arus listrik (maksimum 100 mA) kepada beban yang disambungkannya.

// tunggu 1000 milidetik } Perintah digitalWrite(pinNumber. Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai.14 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II utama program Arduino berada. Jadi perintah di atas digitalWrite(led. // tunggu 1000 milidetik digitalWrite(led. } .nilai) akan memerintahkan Arduino untuk menghubungkan atau memutus tegangan di pinNumber tergantung nilainya. HIGH). Cara pendeklarasian function type functionName(parameters) { // Statement. // menyalakan LED delay(1000). Fungsi Fungsi adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang akan di eksekusi ketika fungsi di panggil.HIGH) akan membuat pin nomor 13 memiliki tegangan = 5V (HIGH). void loop() { digitalWrite(led. // matikan LED delay(1000). LOW). Hanya ada dua kemungkinan nilai digitalWrite yaitu HIGH atau LOW yang sebetulnya adalah nilai integer 1 atau 0 4.

6. . 5. 7.15 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Contoh: int delayVal() { int v. // (komentar satu baris) Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. /* */ (komentar banyak baris) Jika punya banyak catatan. // konversi 0-1023 ke 0-255 return v. { } (kurung kurawal) Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan). // membuat variable ‘v’ bertipe integer v = analogRead(pot). // baca harga potentiometer v /= 4. // return nilai v } Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer). maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. karena kalau tidak menghendaki adanya nilai balik maka type function harus void. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program. Cukup menuliskan dua buah garis miring dan apapun yang diketik dibelakangnya akan diabaikan oleh program.

767. Byte tipe byte dapat menyimpan 8 bit nilai angka bilangan asli tanpa koma. int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Byte memiliki range 0 – 255. // mendeklarasikan Variabel sebagai integer. 2. // mendeklarasikan Variabel sebagai tipe byte. Tidak mempunyai angka desimal dan menyimpan nilai dari -32. Variabel inilah yang digunakan untuk memindahkan atau menyimpan Type variabelName = 0 Contoh Int inputVariabel = 0 // mendefinisikan inputVariabel dengan nilai 0 inputVariabel = analogRead(2) // menyimpan nilai pin 2 ke inputVariabel Data type variabel 1. Int Variabel = 1600. (titk koma) Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan). . Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan atau menyimpan angka dengan cara yang cerdas.768 dan 32. Byte Variabel = 180.16 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II 8. .

Aritmatika Operator aritmatik terdiri dari penjumlahan. Hanya memakai 1 byte (8 bit) dari RAM. float (float) Digunakan untuk angka desimal (floating point).17 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II 3. Sangat berguna karena hanya menggunakan 1 bit dari RAM. Float Variabel = 3. // mendeklarasikan Variabel sebagai float 6. Long Variabel = 500000. pengurangan.4028235E+38 dan 3. boolean (boolean) Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Operator Matematika 1. 5.647. pengkalian.147.483.147.648 dan 2.14. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2. // mendeklarasikan Variabel sebagai long. long (long) Digunakan ketika integer tidak mencukupi lagi.4028235E+38.483. char (character) Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). . 4. Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3. dan pembagian.

x = x . // sama seperti x = x / y 3. x == y. x ++.18 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II y = y + 3. // sama seperti x = x + y x -= y. Ini biasanya dipakai pada pengulangan. r = r / 9. Compound Assignments Compound assignments merupakan kombinasi dari aritmatika dengan sebuah variable. Statement ini banyak digunakan dalam operator bersyarat. Operator Pembanding Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai 1 atau true. Dalam menggunakan operasi aritmatika harus hati-hati dalam menentukan tipe data yang digunakan jangan sampai terjadi overflow range data.8. // x sama dengan y x != y. // sama seperti x = x * y x /= y. // x lebih kecil dari y x > y.1 atau mengurangi nilai x sebesar 1 x += y. // x lebih besar dari y . i = i * 5. // sama seperti x = x . 2. // x tidak sama dengan y x < y. // sama seperti x = x + 1 atau menaikan nilai x sebesar 1 x --. // sama seperti x = x – y x *= y.

Operator Logika Operator logika digunakan untuk membandingkan 2 expresi dan mengembalikan nilai balik benar atau salah tergantung dari operator yang di gunakan. Contoh penggunaan: Logika AND If ( x > 0 && x < 5) // bernilai benar apabila kedua operator pembanding terpenuhi Logika OR If ( x > 0 || y > 0) // bernilai benar apabila salah satu dari operator pembanding terpenuhi Logika NOT If ( !x > 0 ) // benilai benar apabila ekspresi operator salah Struktur Pengaturan Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya. OR.. If.. yang biasanya digunakan pada if statement..else.19 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II x <= y. 1. berikut ini adalah elemen dasar pengaturan pemrograman Arduino. // x lebih kecil dari sama dengan y x >= y. // x lebih besar dari sama dengan y 4. Terdapat 3 operator logika AND. dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } . dan NOT.

pinMode(pin. dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan. pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground). Digital 1. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–. digitalWrite(pin. pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19).20 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II else { } Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE. i++) { } Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali. ganti #pengulangan dengan jumlah pengulangan yang diinginkan. mode) Digunakan untuk menetapkan mode dari suatu pin. 3. dengan format seperti berikut ini: for (int i = 0. i < #pengulangan. 2. 2. digitalRead(pin) . value) Ketika sebuah pin ditetapkan sebagai OUTPUT. Mode yang bisa digunakan adalah INPUT atau OUTPUT. for.

analogWrite(pin. 6. 9. 1. 10. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts). Berikut ini cara untuk menghadapi hal yang bukan digital. 2. analogRead(pin) Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya.21 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II Ketika sebuah pin ditetapkan sebagai INPUT maka dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground). Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. 5. Analog Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di analog. 11. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V). value) Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3. .

22 Tugas Akhir 2015 Politeknik SAKTI Surabaya Bab II HALAMAN INI SENGAJA DIKOSONGKAN .