teknik antarmuka matlab dan arduino -...

24

Upload: nguyenthien

Post on 24-Feb-2018

342 views

Category:

Documents


27 download

TRANSCRIPT

Page 1: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:
Page 2: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:
Page 3: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

TEKNIK ANTARMUKA MATLAB DAN ARDUINO

Membangun Interaksi antara Bahasa Komputasi Teknis dengan Platform Berbasis Mikrokontroler

I Nyoman Kusuma Wardana

Penerbit Vaikuntha International Publication

Page 4: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

ii

Teknik Antarmuka MATLAB dan Arduino Membangun Interaksi antara Bahasa Komputasi Teknis

dengan Platform Berbasis Mikrokontroler

Hak cipta dilindungi undang-undang

© 2016 pada Penulis

ISBN 978-602-73078-4-1

xvi + 411 hlm. ; 14,8 × 21 cm

Penulis : I Nyoman Kusuma Wardana

Editor : Tim Robotics & Embedded Systems (RADE)

STMIK STIKOM Bali

Desain Sampul : I Nyoman Kusuma Wardana

Penerbit:

Vaikuntha International Publication

Jalan Veteran No.29, Denpasar, Bali, Indonesia

Tel: +62 85 738 647 717

[email protected]

Bekerjasama dengan:

Miarana DIY

Jalan Raya Singapadu-Angantaka, Banjar Kutri,

Singapadu Tengah, Sukawati, Gianyar, Bali Indonesia 80525

Tel: +62 81 339 345 239

[email protected]

www.tutorkeren.com

Page 5: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

iii

Page 6: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

iv

Page 7: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

v

KATA PENGANTAR

PENGANTAR DARI PENULIS Sejak kelahirannya sekitar tahun 2005, penggunaan platform Arduino benar-benar mendunia, baik produk official-nya, maupun

unofficial-nya. Saat ini, berbagai shield dan produk yang

mendukung penggunaan Arduino telah hadir secara luas. Arduino

menyajikan bagaimana menyenangkan dan mudahnya memprogram sebuah mikrokontroler. Berkat kemunculan Arduino,

mikrokontroler yang dulunya hanya dipelajari oleh kalangan

tertentu saja, kini telah diminati oleh berbagai kalangan, baik dari

pelajar dan mahasiswa berbagai jurusan, akademisi, praktisi dan

para penggemar dunia mikrokontroler.

MATLAB merupakan bahasa komputasi teknis yang andal. Saat ini,

MATLAB telah merilis pustaka yang memungkinkan kita untuk

menghubungkan MATLAB dan Arduino dengan sangat mudah.

Arduino dapat sepenuhnya dikontrol dengan menggunakan

MATLAB. Penggunaan pustaka ini menjadi salah satu pokok

bahasan utama dalam buku ini. Namun demikian, Penulis mengamati bahwa tidak semua kasus cocok diselesaikan

menggunakan pustaka ini. Oleh karena itu, untuk kasus-kasus

tertentu, akan lebih praktis jika kita memanfaatkan fungsi

komunikasi serial biasa yang telah disediakan MATLAB, bukan

menggunakan pustaka.

Buku ini akan mengulas teknik antarmuka MATLAB dan Arduino,

serta konsep-konsep dasar yang melatarbelakangi topik tersebut.

Namun demikian, buku ini tidak mengulas bagaimana

memprogram Arduino dan MATLAB mulai dari nol secara detail.

Penulis mengasumsikan bahwa Pembaca memiliki sedikit dasar

mengenai kedua bahasa pemrograman tersebut. Namun demikian, Penulis menyajikan penjelasan yang lebih rinci tentang bagaimana

suatu sistem bekerja. Pemahaman terhadap suatu topik tertentu

dalam buku inilah yang menjadi fokus Penulis.

Page 8: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

vi

Karena luasnya cakupan materi dan aplikasi terkait MATLAB dan

Arduino, Penulis menyadari bahwa buku ini belum mengulas

semua topik tersebut. Ada berbagai topik yang belum bisa Penulis

sampaikan melalui buku ini, baik karena faktor keterbatasan

pengalaman, maupun keterbatasan pengetahuan yang dimiliki oleh

Penulis. Penulis berharap dapat mengulas topik-topik penting lainnya pada edisi buku selanjutnya. Namun demikian, Penulis

tetap berharap bahwa buku ini dapat memberikan manfaat untuk

Pembaca. Melalui buku ini, Penulis berharap dapat memberikan

gambaran awal penggunaan MATLAB dan Arduino untuk berbagai

penerapan.

STRUKTUR PENULISAN BUKU Buku ini ditulis berdasarkan struktur yang Penulis harapkan dapat menuntun Pembaca pada suatu pemahaman mengenai topik yang

sedang dibahas. Berikut susunan bab yang dirancang oleh Penulis:

BAB 1. Mikrokontroler dan Arduino : mengantarkan pembaca

untuk memahami dasar kedua istilah ini, yaitu

mikrokontroler dan Arduino.

BAB 2. Pengenalan MATLAB : mengantarkan pembaca tentang

pengenalan lingkungan kerja MATLAB dan dasar

pemrogramannya.

BAB 3. Konsep Antarmuka MATLAB dan Arduino :

menjelaskan filosofi mengapa MATLAB dan Arduino

dihubungkan.

BAB 4. Instalasi Pustaka Arduino : menjelaskan langkah-

langkah dalam instalasi pustaka MATLAB pada Arduino

beserta isu-isu penting terkait penggunaan pustaka ini.

BAB 5. Pengantar Teknik Antarmuka : bab ini akan

mengantarkan pembaca untuk memulai membuat antarmuka menggunakan MATLAB.

BAB 6. Antarmuka Sensor : mengantarkan pembaca bagaimana

membuat antarmuka sensor, baik sensor analog maupun

digital.

Page 9: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

vii

BAB 7. Antarmuka Aktuator : menjelaskan beberapa

antarmuka aktuator, seperti relai, motor DC, motor

stepper, motor servo dan LCD.

BAB 8. Komunikasi I2C : membahas dasar teori dari protokol

I2C, beserta penerapannya pada Arduino

BAB 9. Komunikasi SPI : mengulas dasar teori dari protokol SPI, beserta penerapannya pada Arduino.

BAB 10. Streaming Data Online : membahas streaming data

secara online menggunakan fasilitas Plotly.

BAB 11. Bekerja dengan Database : menjelaskan bagaimana

membangun database menggunakan MySQL dan Microsoft Access

BAB 12. Menggunakan Fasilitas Report Generator : membahas

bagaimana mencetak hasil logger sensor kedalam bentuk

laporan

Jika Pembaca mengamati tanda “ << ”, maka hal tersebut berarti

bahwa penulisan dilakukan pada jendela Command Window pada

MATLAB. Tanda << sendiri bukan merupakan bagian dari program,

namun merupakan tanda yang muncul ketika kita menuliskan

perintah MATLAB melalui Command Window. Skrip yang ditulis tanpa tanda “ << ” adalah skrip yang ditulis pada jendela Editor.

BAGI PARA PEMBACA Buku ini disusun menggunakan MATLAB versi 2014a. Semua

percobaan yang dilakukan di dalam buku ini telah dicoba dan diuji

berdasarkan MATLAB versi tersebut. Secara umum, skrip dalam buku ini dapat dicoba di MATLAB versi yang lain. Namun demikian,

penulis sangat menyarankan bagi para Pembaca untuk

menggunakan MATLAB dengan versi minimal 2014a.

Jenis Arduino yang dicobakan dalam buku ini adalah Arduino Uno

R3. Selain Uno, Pembaca juga dapat mencoba papan bertipe Mega.

Namun demikian, Pembaca diharuskan untuk mengubah sedikit sintaks pada buku ini, dan menyesuaikannya dengan tipe papan

Arduino yang digunakan.

Page 10: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

viii

Walaupun buku ini membahas pemrograman MATLAB dan

Arduino, buku ini tidak membahas secara detail mengenai dua

pokok berikut:

1. Bagaimana memprogram Arduino mulai dari dasar

2. Bagaimana memprogram MATLAB mulai dari dasar

Dalam buku ini, Penulis hanya akan mengantarkan sekilas mengenai kedua pokok pembahasan tersebut. Penulis berharap

Pembaca dapat mencari referensi lainnya yang memang

diperuntukkan untuk kedua pokok bahasan tersebut.

Untuk mempelajari Arduino lebih jauh, Penulis menyarankan

Pembaca untuk mengunjungi laman web resmi dari Arduino, yaitu di www.arduino.cc. Bagi Pembaca yang ingin mengetahui produk

terbaru dari MATLAB, bertukar informasi dengan pengguna

MATLAB yang lain, menonton video serta contoh-contoh

pemrograman, Penulis menganjurkan untuk mengunjungi laman

web resmi dari MATLAB yaitu di www.mathworks.com. Pada buku

ini, Penulis juga mewajibkan Pembaca untuk membuat akun di situs tersebut, karena akan digunakan pada proses instalasi

pustaka MATLAB untuk keperluan antarmuka dengan Arduino.

Semua skrip yang digunakan dalam buku ini dapat diunduh secara

gratis oleh Pembaca melalui tautan yang disertakan pada bagian

akhir dari buku ini. Pembaca dapat menggunakan dan memodifikasi skrip tanpa memerlukan izin tertulis dari Penulis.

Namun demikian, sesuai etika, sebaiknya Pembaca menyertakan

sumber aslinya.

Penulis mengucapkan terima kasih kepada rekan-rekan yang telah

membantu proses penulisan dan penerbitkan buku ini. Dengan

segala kerendahan hati, Penulis juga sangat mengharapkan kritik, saran, masukan serta pertanyaan dari Pembaca. Hal ini sangat

berguna untuk perbaikan bagi Penulis dan buku ini selanjutnya.

Bagi Pembaca yang ingin menghubungi Penulis, silahkan hubungi:

Email : [email protected]

Website : tutorkeren.com

Denpasar, September 2015

Penulis

Page 11: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

ix

UCAPAN TERIMA KASIH

Segala pujian kepada Tuhan Yang Maha Esa. Segala pujian kepada

Sri Guru dan Sri Gaurangga. Hanya atas karunia Beliaulah buku

ini dapat diterbitkan. Selanjutnya, Penulis menyampaikan ucapan

terima kasih yang setulus-tulusnya kepada:

1. Para Guru di sekolah dasar dan menengah. Para Dosen dan

almamater tercinta: Jurusan Teknik Fisika UGM, Magister

Sistem Teknik UGM, Rekayasa Pertambangan ITB, serta

Politecnico di Torino, Italia. Buku ini secara khusus

didedikasikan untuk para guru, dosen dan almamater.

2. Kedua orang tua dan kedua kakak Penulis yang selalu

mendoakan dan memberikan dukungan penuh kepada Penulis.

3. Segenap civitas akademika STMIK STIKOM Bali yang telah

banyak membantu Penulis untuk berkarya. Tidak lupa kepada

Politeknik Negeri Bali, yang selanjutnya menjadi tempat bagi

penulis untuk mengabdi.

4. Anggota tim Narayana Instruments dan Miarana DIY yang telah

memberi masukan secara teknis. Secara khusus penulis

ucapkan terima kasih kepada I Wayan Aditya Suranata yang

telah memfasilitasi penerbitan dan publikasi.

5. Anggota Grup Riset Robotics and Embedded Systems (RADE) STMIK STIKOM Bali yang telah menjadi tempat Penulis untuk

berbagi. Secara khusus kepada I Komang Agus Ady Aryanto

dan Soni Wijaya Santoso, yang telah banyak membantu

penyusunan materi dalam buku ini.

6. Keluarga besar ISKCON yang selalu memberi semangat dan

bimbingan kepada Penulis.

7. Pihak penerbit yang membantu merealisasikan buku ini

sehingga sampai ke tangan Pembaca.

8. Para Pembaca buku ini, dan rekan-rekan lain yang tidak dapat

Penulis sebutkan namanya satu-persatu, yang telah memberi

saran, semangat dan doa. Terima kasih untuk semuanya.

Semoga buku ini bermanfaat.

Page 12: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

x

Page 13: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xi

DAFTAR ISI

KATA PENGANTAR v

Pengantar dari Penulis ............................................................... v Struktur Penulisan Buku .......................................................... vi Bagi para Pembaca .................................................................. vii

UCAPAN TERIMA KASIH ix DAFTAR ISI xi

BAB 1 MIKROKONTROLER DAN ARDUINO 1

Mikrokontroler vs Mikroposesor ................................................. 1 Sistem Tertanam ....................................................................... 3 Physical Computing ................................................................... 4 Mikrokontroler dan Arduino ....................................................... 7

Memori pada Arduino ................................................................ 9 Papan (Board) Arduino ............................................................. 10

IDE Arduino ............................................................................ 13 Struktur Pemrograman Arduino ............................................... 15

setup() .................................................................................. 15 loop() .................................................................................... 16 Komentar ............................................................................. 16 Kurung Kurawal ................................................................... 17 Tanda Titik Koma ................................................................. 17

Variabel pada Pemrograman Arduino ....................................... 17 Fungsi pada Pemrograman Arduino ......................................... 20

BAB 2 PENGENALAN MATLAB 21

Apa itu MATLAB? .................................................................... 21 Proses Instalasi MATLAB ......................................................... 22 Lingkungan Pengembangan MATLAB ....................................... 26 Bekerja dengan MATLAB .......................................................... 29

Bekerja pada Command Window .......................................... 29 Bekerja dengan Jendela Editor ............................................. 30

Dasar Matriks .......................................................................... 31

Page 14: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xii

Membentuk Matriks ............................................................. 31 Indexing Matriks .................................................................. 32 Membentuk dan Mengakses Cell .......................................... 35

Statemen Kontrol .................................................................... 35 Kontrol if, elseif, else ............................................................ 36

Kontrol for ........................................................................... 36 Kontrol While ....................................................................... 37

Bekerja dengan Grafik ............................................................. 38 MATLAB dan Perkembangannya .............................................. 41

BAB 3 KONSEP ANTARMUKA MATLAB DAN ARDUINO 43

Mengapa Menghubungkan MATLAB dengan Arduino? ............. 43 Komunikasi Serial ................................................................... 45

Dasar Komunikasi Serial ...................................................... 46 Komunikasi MATLAB - Arduino ............................................... 49

Komunikasi Menggunakan fungsi serial ............................... 50

Instalasi Pustaka Arduino pada MATLAB .............................. 51 Isu Penting Penggunaan Pustaka ............................................. 53

BAB 4 PUSTAKA ARDUINO PADA MATLAB 55

Hardware Support Packages .................................................... 55 Instalasi Pustaka secara Online ............................................... 56 Uji Koneksi ............................................................................. 60 Fungsi Dasar Pustaka Arduino ................................................ 62

Menghubungkan MATLAB-Arduino ...................................... 63

Membaca dan Menulis Pin Digital ........................................ 64 Memainkan Nada ................................................................. 67 Membaca dan Menulis Pin Analog ........................................ 68

Instalasi Mutlak Diperlukan? .................................................. 71 Memanfaatkan Fasilitas Help .................................................. 72

BAB 5 PENGANTAR TEKNIK ANTARMUKA 75

Dasar Visualisasi Data ............................................................ 75 Visualisasi Gelombang Sinus ............................................... 76

Mengambil Data Sensor ....................................................... 81 Visualisasi Data Secara Simultan ......................................... 85

Bekerja dengan Komponen GUI Dasar ..................................... 89 Perancangan Hardware ........................................................ 90

Page 15: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xiii

Perancangan Software .......................................................... 90 Bekerja dengan Grafik ........................................................... 105

BAB 6 ANTARMUKA SENSOR 123

Antarmuka Sensor Analog ..................................................... 123 Pengenalan ADC ................................................................. 123 Konfigurasi Sensor Analog .................................................. 126 Pemrograman Sensor Analog .............................................. 130

Antarmuka Sensor Digital ...................................................... 130 Bekerja dengan Sensor Ultrasonik ...................................... 131

BAB 7 ANTARMUKA AKTUATOR 141

Antarmuka Relai .................................................................... 141 Prinsip kerja Relai .............................................................. 142

Pemrograman Relai ............................................................ 143 Antarmuka motor DC ............................................................ 144

Prinsip Dasar ..................................................................... 144 Pulse Width Modulation...................................................... 145 Mengatur Kecepatan dan Arah Putar Motor DC ................... 148

Membangkitkan PWM pada MATLAB .................................. 152 Rancangan GUI untuk Mengontrol Motor DC ...................... 154

Antarmuka Motor Servo ......................................................... 159 Prinsip Kerja ...................................................................... 159 Pemrograman Motor Servo .................................................. 161 Pemrograman GUI untuk Motor Servo ................................ 165

Antarmuka Motor Stepper ...................................................... 174 Prinsip Kerja ...................................................................... 174 Tipe Koneksi Koil pada Stepper ........................................... 179 Pemrograman GUI untuk Motor Stepper ............................. 181

Antarmuka LCD .................................................................... 198 Konfigurasi Perangkat Keras ............................................... 199 Rancangan GUI untuk Mengirimkan Data Ke LCD .............. 200

BAB 8 KOMUNIKASI I2C 211

Pendahuluan ......................................................................... 211 Arsitektur Komunikasi I2C ..................................................... 212

Skema Komunikasi I2C .......................................................... 213 Format Paket dalam I2C ........................................................ 215

Page 16: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xiv

Format Paket Alamat ......................................................... 215 Format Paket Data ............................................................. 217

I2C pada Arduino .................................................................. 218 Pin-pin I2C pada Arduino ................................................... 219 Konfigurasi Master-Slave pada I2C ..................................... 219

Pemrograman I2C ................................................................. 221 Pemrograman Slave ........................................................... 222 Rangkaian Perangkat Keras ............................................... 225 Pemrograman MATLAB untuk I2C ...................................... 226

Pemrograman GUI ................................................................. 229 Pemrograman Slave ........................................................... 230

Pemrograman MATLAB ...................................................... 231

BAB 9 KOMUNIKASI SPI 245

Pendahuluan ........................................................................ 245 Arsitektur Komunikasi SPI .................................................... 246

Skema Komunikasi SPI ......................................................... 248 Menulis Melalui SPI ............................................................... 250 Membaca Melalui SPI ............................................................ 251 SPI pada Arduino .................................................................. 252

Pin-pin SPI pada Arduino ................................................... 252 Konfigurasi Master-Slave pada SPI ..................................... 253

Pemrograman SPI .................................................................. 254 Konfigurasi Perangkat Keras .............................................. 254 Pemrograman Slave ........................................................... 255 Pemrograman Master ......................................................... 257

Pemrograman GUI ................................................................. 259

BAB 10 STREAMING DATA ONLINE 271

Membuat Akun pada Plotly .................................................... 272 Plotly untuk MATLAB ............................................................ 273 Memulai Streaming Data ....................................................... 279 Streaming Data dari Arduino ................................................. 284

BAB 11 BEKERJA DENGAN DATABASE 301

Membangun Basis Data Menggunakan MySQL ...................... 302

Instalasi XAMPP ................................................................ 303 Membuat Database MySQL ................................................ 306

Page 17: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xv

Membangun koneksi MySQL pada MATLAB ........................ 313 Pemrograman database MySQL melalui MATLAB ................ 320 Koneksi MySQL menggunakan GUI .................................... 329

Membangun Database Menggunakan Microsoft Access ........... 352 Mempersiapkan Database................................................... 352

Menghubungkan database Dengan MATLAB ....................... 356 Pemrograman Database melalui MATLAB ........................... 360 Antarmuka Basis Data Menggunakan GUI .......................... 363

BAB 12 MENGGUNAKAN FASILITAS REPORT GENERATOR 385

Memulai Report Generator ..................................................... 385 Merancang Layout Laporan .................................................... 388 Memodifikasi Skrip Report ..................................................... 394 Merancang Antarmuka Report ............................................... 397

DAFTAR BACAAN 405 LAMPIRAN 409

File Penyerta .......................................................................... 409 TENTANG PENULIS 411

Page 18: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

xvi

Page 19: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

1

BAB 1 MIKROKONTROLER DAN

ARDUINO

Pada bab ini, konsep dasar yang membedakan istilah

mikrokontroler dengan mikroprosesor akan diperkenalkan. Selain

itu, Pembaca akan diperkenalkan dua istilah penting, yaitu embedded system dan physical computing. Selanjutnya, pembaca

akan diantarkan untuk membedakan istilah mikrokontroler dan

Arduino. Banyak yang beranggapan bahwa Arduino adalah mikrokontroler. Namun, secara konsep, Arduino dan

mikrokontroler adalah dua istilah yang berbeda. Di akhir bab,

Pembaca akan diantarkan mengenai IDE Arduino dan struktrur

pemrograman Arduino. Namun demikian, Penulis menyadari

bahwa bab ini hanya sebagai pengantar. Penulis sangat menganjurkan pembaca untuk mendalami lebih jauh pemrograman

Arduino dari berbagai sumber lainnya.

MIKROKONTROLER VS MIKROPOSESOR Sebelum membahas tentang Arduino, kita akan mengulas sedikit

mengenai konsep dasar mikrokontroler. Mungkin kita sering

mendengar istilah prosesor atau mikroprosesor, dan disatu sisi

kita juga mengenal istilah mikrokontroler. Mungkin banyak diantara kita yang masih kebingungan dengan perbedaan istilah-

istilah tersebut. Nah, sebenarnya apasih perbedaan antara prosesor

dan mikrokontroler?

Prosesor, atau mikroprosesor, atau lebih dikenal sebagai CPU (Central Processing Unit) adalah sebuah chip yang berfungsi sebagai

unit pemrosesan pusat dari suatu komputer. Beberapa contoh

Page 20: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

2

mikroprosesor seperti keluarga Intel x86 (contoh: mikroprosesor

8086, 80286, 80386, 80486 dan Pentium) tidak memiliki RAM,

ROM atau komponen I/O (input/output) dalam satu chip.

Komponen-komponen tambahan ini diletakkan secara terpisah dari

chip mikroprosesor. Mikroprosesor sendiri belum dapat

menjalankan fungsi layaknya sebuah komputer. Suatu fungsi komputer baru dapat dijalankan ketika semua komponen ini

bergabung menjalankan tugasnya masing-masing. Oleh karena itu, mereka dikenal juga dengan istilah general-purpose microprocessor,

atau prosesor dengan tujuan umum.

Disisi lain, mikrokontroler adalah sebuah chip yang memiliki

mikroprosesor di dalamnya, serta komponen pendukung lainnya seperti RAM, ROM, port I/O serta timer yang terintegrasi dalam satu chip (atau IC, integrated circuit). Dengan kata lain, jika

keseluruhan komponen utama sebuah komputer ditempatkan

dalam sebuah chip tunggal, maka chip tersebut dikenal dengan

istilah mikrokontroler. Untuk memperjelas perbedaan kedua istilah

ini, kita bisa amati Gambar 1.1.

Gambar 1.1 Perbandingan Arsitektur (a) Sistem Mikroprosesor dan (b) Sistem Mikrokontroler

Page 21: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

3

Dari segi harga, tentunya konfigurasi mikroposesor dengan

komponen eksternalnya (RAM, ROM, I/O, dan sebagainya) akan

membuat harga menjadi jauh lebih mahal daripada sebuah

mikrokontroler. Dari sudut pandang performa, sudah jelas bahwa

konfigurasi CPU dengan komponen eksternalnya akan jauh lebih

baik daripada sebuah mikrokontroler. Namun demikian, mikrokontroler dapat menjadi pilihan utama, terutama untuk aplikasi yang mempertimbangkan ukuran, harga serta portability

(mudah dibawa kemana-mana).

Pada Gambar 1.1 (b), kita dapat mengamati bahwa salah satu

komponen menarik yang dimiliki oleh mikrokontroler adalah ADC (analog-to-digital converter). ADC adalah komponen yang digunakan

untuk mengubah sinyal analog menjadi sinyal digital. Penerapan

ADC sangat penting, misalnya ketika kita menggunakan

mikrokontroler untuk aplikasi-aplikasi yang melibatkan sensor

analog.

SISTEM TERTANAM Mikrokontroler memiliki peranan yang signifikan dalam dunia

elektronik, salah satunya dalam dunia sistem tertanam. Sistem tertanam, atau sistem terbenam adalah istilah umum yang biasa

digunakan untuk menyebut suatu istilah dalam bahasa Inggris,

yaitu embedded system. Mikroprosesor dan mikrokontroler

merupakan komponen yang banyak digunakan pada produk-produk embedded system. Produk embedded system dikontrol oleh

mikroprosesor (atau mikrokontroler) yang telah ditanamkan pada alat tersebut. Ada banyak produk embedded system disekitar kita,

seperti printer, remote control, telepon, TV, mesin cuci, dan

sebagainya. Pada umumnya, ROM pada suatu produk embedded

system akan ditanamkan program yang secara khusus digunakan

hanya untuk menjalankan sebuah fungsi. Ambilah contoh sebuah

printer. Printer dilengkapi dengan mikroprosesor yang secara

khusus menjalankan fungsi sebuah printer, yaitu mengambil data dari komputer dan mencetaknya. Berbeda halnya dengan sebuah PC (personal computer), PC dapat menjalankan berbagai fungsi

sesuai dengan program aplikasi yang telah terinstal di dalamnya. Sebuah PC terdiri dari berbagai produk embedded system, seperti

keyboard, mouse, printer, modem dan sebagainya. Setiap

komponen pendukung dari sebuah PC ini memiliki mikrokontroler

Page 22: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

4

di dalamnya. Sebagai contoh, kita bisa amati sebuah mouse.

Mikrokontroler menjalankan fungsinya yaitu mencari posisi mouse

dan mengirimnya ke PC.

Saat ini, perkembangan penggunaan mikrokontroler untuk produk embedded system sudah sangat banyak, terutama dikalangan

Pelajar, Mahasiswa, Praktisi serta Umum. Di kalangan Mahasiswa,

penggunaan mikrokontroler baik untuk skripsi dan proyek lainnya tidak hanya didominasi oleh Mahasiswa Jurusan Teknik dan Sains

tertentu (seperti Teknik Elektro, Teknik Fisika, Elektronika dan

Instrumentasi, Ilmu Komputer dan sebagainya), tetapi juga telah

meluas ke jurusan-jurusan lain. Salah satu meluasnya

penggunaan mikrokontroler adalah dengan lahirnya produk yang berlabel Arduino.

PHYSICAL COMPUTING Setelah membahas peranan mikrokontroler dalam dunia embedded system, mari kita membahas istilah lainnya, yaitu physical computing. Apa kaitannya mikrokontroler dengan physical computing?

Physical Computing atau komputasi fisik adalah usaha untuk

membuat suatu sistem yang dapat menghubungkan dunia nyata (physical world) dengan dunia virtual pada komputer. Sistem yang

dibangun merupakan kombinasi perangkat keras (hardware) dan perangkat lunak (software) yang bersifat interaktif, yaitu dapat

menerima rangsangan dari lingkungan luar dan merespon balik. Physical computing adalah sebuah konsep untuk memahami

hubungan yang manusiawi antara lingkungan yang sifat alaminya

adalah analog dengan komputer yang bekerja secara digital.

Physical computing adalah suatu pendekatan dari proses interaksi

antara manusia-komputer yang berawal dari bagaimana manusia mengekspresikan diri mereka secara fisik. Tubuh manusia dan

segala kemampuannya menjadi titik awal atau „starting point‟, dan

selanjutnya diusahakan merancang suatu antarmuka, baik secara hardware maupun software yang dapat merasakan dan merespon

apa saja yang manusia bisa lakukan secara fisik.

Karena berawal dari kemampuan seseorang, maka usaha untuk mewujudkan suatu skema physical computing memerlukan

pemahaman tentang bagaimana caranya agar komputer dapat

Page 23: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

5

merasakan aksi fisik. Ketika kita melakukan aksi, kita

menyebabkan berbagai perubahan bentuk energi. Sebagai contoh,

suara yang dihasilkan oleh pita suara yang dirambatkan melalui

udara akan menyebabkan perubahan tekanan udara. Demikian pula dalam physical computing, parameter-parameter alam seperti

suhu, tekanan, kelembaban, dan sebagainya akan ditangkap oleh sensor dan selanjutnya melalui rangkaian elektronika yang tepat

akan diolah oleh komputer digital. Komputer selanjutnya memberi

respon ke dunia fisik melalui penggunaan berbagai aktuator, misalnya motor, valve, dan sebagainya. Amatilah Gambar 1.2.

Physical computing adalah sebuah konsep untuk memahami

hubungan yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia komputer yang sifatnya adalah

digital. Umumnya, alat yang biasa digunakan sebagai „komputer‟

untuk mengolah segala sesuatu adalah mikrokontroler.

Mikrokontroler dapat dipasang sensor untuk merasakan

parameter-parameter alam dan selanjutnya dapat diolah dan

memberikan aksi ke lingkungan menggunakan aktuator, misalnya menghidupkan lampu, motor, kipas dan sebagainya.

Pembuatan purwarupa (prototype) atau prototyping adalah kegiatan

yang sangat penting dalam proses physical computing. Pada tahap

inilah seorang perancang melakukan eksperimen dan uji coba dari

berbagai jenis komponen, ukuran, parameter, program komputer

dan sebagainya secara berulang-ulang. Kegiatan ini dilakukan sampai diperoleh kombinasi yang dirasa paling tepat. Pada tahap prototyping inilah kemampuan programming serta analisis dari

perancang akan dieksplorasi. Kesuksesan tidak semata-mata

dipengaruhi oleh kemampuan memprogram sebuah

mikrokontroler, tetapi juga memerlukan pengetahuan mengenai

fenomena alam, pemodelan dalam rumus-rumus matematika, serta analisis terhadap rangkaian elektronika. Sering kali terjadi error

pada proses ini, baik dikarenakan oleh kesalahan dalam program,

kesalahan dalam perhitungan matematis, maupun kesalahan pada

perangkat keras yang sangat membutuhkan berbagai kemampuan

seperti yang disebutkan sebelumnya. Terkadang, proses inilah yang

membuat kita menjadi frustasi. Namun demikian, proses dan pengalaman inilah yang sering membuat seseorang bisa menjadi mahir dalam membuat suatu sistem physical computing.

Page 24: TEKNIK ANTARMUKA MATLAB DAN ARDUINO - …nulisbuku.com/books/download/samples/dcefd6962c5c0272addf623cc… · Arduino, buku ini tidak membahas secara detail mengenai dua pokok berikut:

6

Gambar 1.2 Interaksi Dunia Fisik dan Virtual yang

Dijembatani oleh Penggunaan Sensor dan Aktuator

Proses prototyping komponen perangkat keras merupakan suatu

proses merangkai berbagai komponen elektronika, seperti resistor,

transistor, kapasitor, dan sebagainya dengan suatu aturan tertentu

sesuai peruntukan rangkaian elektronikanya. Komponen-

komponen tersebut dihubungkan melalui jalur tembaga pada suatu papan yang dikenal dengan istilah printed circuit board (PCB). Tidak

semua orang memiliki keahlian yang sama dalam merancang PCB yang tepat. Oleh karena itu, terkadang proses prototyping dalam

sistem physical computing menjadi suatu yang sangat melelahkan

dan berbiaya mahal.

Saat ini, ketika teknologi mikroprosesor telah berkembang, proses prototyping dapat dikerjakan dengan lebih menyenangkan.

Mengapa demikian? Sebab saat ini telah hadir beberapa platform prototyping yang beredar di pasaran. Platform ini hadir tidak hanya

dalam bentuk hardware, namun juga software. Perancang akan

sangat dimudahkan dalam mendesain sesuatu.

Gambar 1.3 Ilustrasi Proses Prototyping