Komunikasi Pemograman Arduino Nano

Arduino Nano juga dilengkapi dengan 8 buah pin analog, yaitu pin A , A 1 , A 2 , A 3 , A 4 , A 5 , A 6 dan A 7 . Pin analog ini terhubung ke ADC analog to digital converter internal yang terdapat di dalam mikrokontroller. Pada kondisi awal, pin analog ini dapat mengukur variasi tegangan dari 0V sampai 5 V pada arus searah dengan besar arus maksimum 40 mA. Lebar range ini dapat diubah dengan memberikan sebuah tegangan referensi dari luar melalui pin V ref . Pin analog selain dapat digunakan untuk input data analog, juga dapat digunakan sebagai pin digital IO, kecuali pin A 6 dan A 7 yang hanya dpat digunakan untuk input data analog saja. Fungsi khusus untuk pin analog antara lain : Pin A 4 untuk pin SDA, pin A 5 untuk pin SCL, pin ini dapat digunakan untuk komunikasi I2C. Pin A ref digunakan sebagai pin tegangan referensi dari luar untuk mengubah range ADC. Pin reset, pin ini digunakan untuk mereset board Arduino Nano, yaitu dengan menghubungkan pin ini ke ground selama beberapa milidetik. Board Arduino Nano selain dapat direset melalui pin reset, juga dapat direset dengan menggunakan tombol reset yang terpasang pada board Arduino Nano.

2.3.3 Komunikasi

Arduino Nano sudah dilengkapi dengan beberapa fasilitas untuk komunikasi yang dapat digunakan untuk berkomunikasi dengan komputer PC atau Laptop, atau dengan board mikrokontroller lainnya. ATmega168 dan ATmega328 dilengkapi dengan komunikasi serial UART TTL 5V, yang terdapat pada pin D dan pin D 1 . Board juga dilengkapi dengan sebuah IC FTDI 232 Rl yang dapat dihubungkan langsung ke komputer untuk menghasilkan sebuah virtual com-port pada operating sistem. Software Arduino sketch yang digunakan sebagai IDE Arduino juga dilengkapi dengan serial monitor yang memungkinkan programmer untuk menampilkan data serial sederhana yang dapat dikirim atau diterima dari board Arduino Nano. Led RX dan TX yang terpasang pada board Arduino Nano akan berkedip jika terjadi komunikasi data serial antara PC dengan Arduino Nano.Selain dapat berkomunikasi dengan menggunakan data serial melalui virtual com-port, Arduino Nano juga dilengkapi dengan mode komunikasi I2C TWI dan SPI untuk komunikasi antar hardware. Universitas Sumatera Utara

2.3.4 Pemograman

Arduino Nano dapat diprogram dengan menggunakan software Arduino sketch. Pada menu program, pilih tool – board kemudian pilih jenis board yang akan diprogram. Untuk memprogram board Arduino dapat memilih tipe board Arduino diecimila atau duemilanove atau langsung memilih Nano Watmega168 atau Nano Watmega328. Arduino Nano sudah dilengkapi dengan program boatloader, sehingga programmer dapat langsung meng-up-load kode program langsung ke board Arduino Nano tanpa melalui board perantara atau hardware lain. Komunikasi ini menggunakan protokol STK500 keluaran ATMEL. Programmer juga dapat mem-up-load program ke board Arduino Nano tanpa menggunakan boatloader, tetapi melalui ICSP in-circuit serial programming header yang sudah tersedia di board Arduino Nano. Pemograman melalui ICSP tidak akan dibahas pada buku ini. 2.4.Pemograman Arduino Nano Arduino Nano dapat diprogram dengan menggunakan software Arduino.Software ini bisa didapatkan secara gratis dari website resmi Arduino.Software Arduino yang akan digunakan adalah driver dan IDE. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java IDE Arduino terdiri dari: 1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam Bahasa processing. 2. Compiler, sebuah modul yang mengubah kode program bahasa Processing menjadi kode biner. Bagaimanapun sebuah microcontroller tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh microcontroller adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini. 3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan Arduino. Universitas Sumatera Utara Visual Basic adalah salah satu bahasa pemrograman komputer.Bahasa pemrograman adalah perintah-perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC Beginner’s All-purpose Symbolic Instruction Code yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasiWindows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object Object Oriented Programming = OOP. 2.5.LCD Liquid Crystal Display Layar LCD merupakan suatu media penampilan data yang sangat efektif dan efisien dalam penggunaannya.Untuk menampilkan sebuah karakter pada layar LCD diperlukan beberapa rangkaian tambahan.Untuk lebih memudahkan para pengguna, maka beberapa perusahaan elektronik menciptakan modul LCD. Gambar 2.4LCD Liquid Crystal Display LCD dibagi menjadi dua bagian yaitu bagian depan panel LCD yang terdiri dari banyak dot atau titik LCD dan mikrokontroler yang menempel pada bagian belakang panel LCD yang berfungsi untuk mengatur titik-titik LCD sehingga dapat menampilkan huruf, angka, dan simbol khusus yang dapat terbaca. Fungsi Pin-Pin LCD Modul LCD berukuran 16 karakter x 2 baris dengan fasilitas backlighting memiliki 16 pin yang terdiri dari 8 jalur data, 3 jalur kontrol dan jalur-jalur catu Universitas Sumatera Utara daya, dengan fasilitas pin yang tersedia maka lcd 16x2 dapat digunakan secara maksimal untuk menampilkan data yang dikeluarkan oleh mikrokontroler, secara ringkas fungsi pin-pin pada LCD dituliskan pada Tabel 2.1. Tabel 2.1Konfigurasi Pin LCD 16x2 Sedangkan secara umum pin-pin LCD diterangkan sebagai berikut : 1. Pin 1 dan 2 Merupakan sambungan catu daya, Vss dan Vdd. Pin Vdd dihubungkan dengan tegangan positif catu daya, dan Vss pada 0V atau ground. Meskipun data menentukan catu 5 Vdc hanya pada beberapa mA, menyediakan 6V dan 4.5V yang keduanya bekerja dengan baik, bahkan 3V cukup untuk beberapa modul. 2. Pin 3 merupakan pin kontrol Vee, yang digunakan untuk mengatur kontras display. Idealnya pin ini dihubungkan dengan tegangan yang bisa diubah untuk memungkinkan pengaturan terhadap tingkatan kontras display sesuai dengan kebutuhan, pin ini dapat dihubungkan dengan variable resistor sebagai pengatur kontras. 3. Pin 4 merupakan Register Select RS, masukan yang pertama dari tiga command control input. Dengan membuat RS menjadi high, data karakter dapat ditransfer dari dan menuju modulnya. Universitas Sumatera Utara 4. Pin 5ReadWrite RW, untuk memfungsikan sebagai perintah write maka RW low atau menulis karakter ke modul. RW high untuk membaca data karakter atau informasi status dari register-nya. 5. Pin 6Enable E, input ini digunakan untuk transfer aktual dari perintah- perintah atau karakter antara modul dengan hubungan data. Ketika menulis ke display, data ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca dari display, data akan menjadi lebih cepat tersedia setelah perpindahan dari low ke high dan tetap tersedia hingga sinyal low lagi. 6. Pin 7 sampai 14 adalah delapan jalur datadata bus D0 sampai D7 dimana data dapat ditransfer ke dan dari display. 7. Pin 16 dihubungkan kedalam tegangan 5 Volt untuk memberi tegangan dan menghidupkan lampu latarBack Light LCD. 2.6.Keypad Keypad merupakan komponen elektronik yang digunakan sebagai masukan, disususun dari beberapa tombolswitch dengan teknik matrix. Berdasarkan penjelasan tersebut, bahwa sebenarnya keypad merupakan tombol- tombol yang dirangkai menjadi sebuah paket dengan teknik menghubungkan satu tombol dengan tombol yang lain dengan teknik matrix. Teknik matrix adalah bisa dikatakan array, memiiki kolom dan baris lebih dari satu.Berikut secara ilusrasi penghubungan tombol-tombol pada keypad. Gambar 2.5Rangkaian Mariks 4x4 Keypad Matriks adalah tombol-tombol yang disusun secara maktriks baris x kolom sehingga dapat mengurangi penggunaan pin input. Sebagai Universitas Sumatera Utara contoh, Keypad Matriks 4x4 cukup menggunakan 8 pin untuk 16 tombol. Hal tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom. Namun demikian, sebagai konsekuensi dari penggunaan bersama satu jalur semisal baris satu B1, maka tidak dimungkinkan pengecekkan dua tombol sekaligus dalam satu slot waktu. Proses pengecekkan dari tombol yang dirangkai secara maktriks adalah dengan teknik scanning, yaitu proses pengecekkan yang dilakukan dengan cara memberikan umpan data pada satu bagian dan mengecek feedback umpan balik nya pada bagian yang lain.Dalam hal ini, pemberian umpan data dilakukan pada bagian baris dan pengecekkan umpan balik pada bagian kolom.Pada saat pemberian umpan data pada satu baris, maka baris yang lain harus dalam kondisi inversinya. Tombol yang ditekan dapat diketahui dengan melihat asal data dan di kolom mana data tersebut terdeteksi: Gambar 2.6Rangkaian Umpan Balik Mariks 4x4 Pada contoh Gambar2.5.Rangkaian Umpan Balik Mariks 4x4 di atas, tombol yang ditekan adalah tombol “5”.Seperti terlihat bahwa B2 bernilai nol, sedangkan B1, B3, dan B4 adalah satu.Kemudian dengan mengetahui bahwa asal data dari B2, dan umpan baliknya terdeteksi pada K2, maka dapat disimpulkan bahwa tombol yang ditekan adalah tombol “5”. Flowhcart berikut memperlihatkan proses scanning Keypad Matriks 4×4 secara lengkap: Universitas Sumatera Utara Gambar 2.7FlowchartMariks 4x4 2.7.Motor Servo Motor servo adalah sebuah perangkat atau aktuator putar motor yang dirancang dengan sistem kontrol umpan balik loop tertutup servo, sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo. Universitas Sumatera Utara Gambar 2.8Gambar Bentuk Fisik Motor Servo Dalam bentuk fisik motor servo terdapat komponen dalam yang dapat dilihat dari gambar dibawah ini, yang terdiri dari output spline, drive gears, servo case, control circuit, motor dan ppotensiometer. Gambar 2.9Komponen Dalam Motor Servo Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya. Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot, pesawat, dan lain sebagainya.Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih dapat menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan pada mesin-mesin industri. Universitas Sumatera Utara Sedangkan motor servo DC biasanya lebih cocok untuk digunakan pada aplikasi- aplikasi yang lebih kecil. Dan bila dibedakan menurut rotasinya, umumnya terdapat dua jenis motor servo yang dan terdapat di pasaran, yaitu motor servo rotation 180 ⁰ dan servo rotation continuous. • Motor servo standard servo rotation 180 ⁰ adalah jenis yang paling umum dari motor servo, dimana putaran poros outputnya terbatas hanya 90 ⁰ kearah kanan dan 90 ⁰ kearah kiri. Dan total putarannya hanya setengah lingkaran atau 180 ⁰. • Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya sama dengan jenis servo standard, hanya saja perputaran porosnya tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah kanan maupun kiri.

2.7.1. Prinsip Kerja Motor Servo