38
BAB II LANDASAN TEORI 2.1 Boost Converter Boost Converter adalah sebuah teknik Power supply switching Step-Up yang merupakan konverter daya dari DC ke DC dengan tegangan output lebih besar dari tegangan input. Ini merupakan teknik switched-mode power supply (SMPS) yang mengandung setidaknya dua semikonduktor switching (dioda dan transistor) dan setidaknya satu elemen penyimpanan energy seperti kapasitor, induktor, atau kombinasinya. Filter biasanya terbuat dari kapasitor (namun kadang-kadang berada dalam kombinasi dengan inductor juga) biasanya ditambahkan untuk output konverter sehingga dapat mengurangi riak tegangan output. Gambar 2.1 Skematik dasar Boost Converter 2.1.1 Teknologi Prinsip utama untuk menaikan tegangan adalah kemampuan induktor untuk menyimpan energi. Dalam boost 5

10 Bab II Landasan Teori

Embed Size (px)

DESCRIPTION

gh

Citation preview

Page 1: 10 Bab II Landasan Teori

BAB II

LANDASAN TEORI

2.1 Boost Converter

Boost Converter adalah sebuah teknik Power supply switching Step-Up

yang merupakan konverter daya dari DC ke DC dengan tegangan output lebih

besar dari tegangan input. Ini merupakan teknik switched-mode power supply

(SMPS) yang mengandung setidaknya dua semikonduktor switching (dioda dan

transistor) dan setidaknya satu elemen penyimpanan energy seperti kapasitor,

induktor, atau kombinasinya. Filter biasanya terbuat dari kapasitor (namun

kadang-kadang berada dalam kombinasi dengan inductor juga) biasanya

ditambahkan untuk output konverter sehingga dapat mengurangi riak tegangan

output.

Gambar 2.1 Skematik dasar Boost Converter

2.1.1 Teknologi

Prinsip utama untuk menaikan tegangan adalah kemampuan induktor

untuk menyimpan energi. Dalam boost konverter , tegangan output selalu lebih

tinggi dari tegangan input . Prinsip dasar dari sebuah Boost converter terdiri dari 2

kondisi yang berbeda :

Gambar 2.2 Cara Kerja Boost Converter

5

Page 2: 10 Bab II Landasan Teori

6

Bila saklar ditutup , arus mengalir melalui induktor searah jarum jam dan

induktor menyimpan energi . Polaritas dari sisi kiri induktor adalah positif.

Ketika sakelar di On, saklar S (lihat gambar diatas) ditutup, maka akan

mengakibatkan terjadinya peningkatan arus induktor.

Ketika saklar dibuka , arus akan berkurang sebagai impedansi lebih

tinggi . Oleh karena itu , perubahan atau pengurangan saat ini akan ditahan

oleh induktor. Dengan demikian polaritas akan terbalik ( berarti sisi kiri

induktor akan negatif sekarang ) . Akibatnya dua sumber akan dalam seri

menyebabkan tegangan yang lebih tinggi untuk mengisi kapasitor melalui

dioda D. maka ketika sakelar Off-negara, saklar terbuka dan satu-satunya

jalan yang ditawarkan untuk arus induktor adalah melalui flyback dioda D,

kapasitor C dan beban R. Ini hasil dalam mentransfer energi yang

terakumulasi selama On-negara menjadi kapasitor. Arus input sama

dengan arus induktor seperti dapat dilihat pada gambar 2.

Gambar 2.3 Keadaan dasar 2 sistem Boost Converter

Jika saklar buka-tutup dengan cukup cepat, maka induktor tidak akan

sepenuhnya kosong ketika masa pengisian dan pengurangan energi. Maka dengan

hal ini beban akan melihat tegangan akan selalu lebih besar daripada sumber

tegangan input ketika sakelar dibuka. Dan ketika sakelar dibuka kapasitor secara

pararel dengan beban, maka kapasitor akan menyuplai energi ke beban dengan

kombinasi energi dari input sehingga energi total menjadi berlipat-lipat energy

semula. Ketika sakelar ditutup maka akan terjadi korsleting sehingga sisi kanan

akan kekurangan energy, namun pada waktu ini energi akan di supply oleh

kapasitor. Maka pada waktu tersebut kapasitor itu mampu memberikan tegangan

Page 3: 10 Bab II Landasan Teori

7

dan energi ke beban. Selama waktu ini, dioda akan mencegah energi dari

kapasitor untuk keluar melalui saklar . Saklar tentu saja harus dibuka dengan

sangat cepat untuk mencegah energi kapasitor keluar terlalu banyak .

2.1.2 Operasi kerja

Ada 2 buah operasi kerja dengan pada sistem Boost Konverter ini yaitu :

Continuous mode

Ketika boost konverter beroperasi secara kontinyu, arus melalui induktor

(IL) tidak pernah jatuh ke nol. Gambar dibawah menunjukkan bentuk gelombang

baik arus maupun tegangan dalam operasi konverter mode ini. Tegangan output

dapat dihitung sebagai berikut, dalam kasus sebuah konverter yang ideal (yaitu

menggunakan komponen ideal) yang beroperasi dalam kondisi stabil. Selama

saklar S ditutup, yang membuat tegangan input (Vi) muncul di induktor, yang

menyebabkan perubahan arus (IL) mengalir melalui induktor selama periode

waktu (t) dengan rumusuntuk mencari siklus waktu kerja :

…………………………………………………….…Persamaan 2.1

Persamaan di atas menunjukkan bahwa tegangan keluaran selalu lebih

tinggi dari tegangan input (sebagai siklus pergi dari 0 ke 1), dan hal tersebut

meningkatkan dengan D, secara teoritis hingga tidak terbatas hingga D mendekati

1. Inilah sebabnya mengapa konverter ini kadang-kadang disebut sebagai

konverter langkah-naik.

Gambar 2.4 Bentuk gelombang arus & tegangan mode Continued

Page 4: 10 Bab II Landasan Teori

8

Discontinuous mode

Jika riak amplitudo saat ini terlalu tinggi, induktor dapat benar-benar habis

sebelum akhir siklus pergantian seluruhnya. Hal ini biasanya terjadi di bawah

beban ringan. Dalam hal ini, arus melalui induktor jatuh menuju nol selama

bagian dari periode (lihat bentuk gelombang pada gambar dibawah). Meskipun

sedikit, perbedaan memiliki efek yang kuat pada persamaan tegangan output. Hal

ini dapat dihitung sebagai berikut:

……………………………………………….…Persamaan 2.2

Dibandingkan dengan persamaan untuk tegangan output dengan mode

continued, persamaan ini jauh lebih rumit. Selanjutnya, dalam mode discontinued,

penguatan tegangan keluaran tidak hanya tergantung pada siklus, tetapi juga pada

nilai induktor, tegangan input, frekuensi switching, dan arus keluaran.

Gambar 2.5 Bentuk gelombang arus & tegangan mode discontinued

2.2 Baterai Lithium Ion

Baterai lithium-ion (kadang-kadang Li-ion baterai atau LIB) adalah

anggota dari keluarga dari jenis baterai isi ulang. Pada baterai ini ion-ion lithium

akan bergerak dari anoda ke katoda selama waktu discharge dan akan kembali ke

tempatnya semula ketika waktu pengisian/charging. Li-ion baterai menggunakan

senyawa lithium sebagai bahan elektroda.

Baterai lithium-ion umumnya digunakan pada perangkat elektronik yang

bersifat mobile. Baterai ini adalah salah satu jenis yang paling populer dari baterai

isi ulang untuk perangkat elektronik portable. Baterai ini memiliki kepadatan

Page 5: 10 Bab II Landasan Teori

9

energi yang terbaik, tidak memiliki efek memori , dan sangat lambat dalam

masalah pengosongan energi ketika baterai ini tidak digunakan.

Gambar 2.6 Baterai Lithium Ion bentuk kotak

2.2.1 Teknologi Baterai

Ada 3 buah komponen utama dari baterai lithium-ion yaitu

Anoda , biasanya terminal anoda berasal dari sel lithium-ion konvensional

terbuat dari karbon, namun baru-baru ini untuk terminal anoda dibuat dari

material komersial yang paling populer yaitu grafit.

Katoda, biasanya terdiri dari material oksida logam seperti Oksida

berlapis ( seperti lithium kobalt oksida ) , sebuah polyanion ( seperti

lithium besi fosfat ) atau spinel ( seperti lithium oksida mangan ).

Elektrolit, biasanya terdiri dari material lithium garam dalam pelarut

organik . peran elektroda elektrokimia adalah untuk membalikkan antara

anoda dan katoda, tergantung pada arah arus listriknya. Elektrolit

biasanya campuran karbonat organik seperti etilen karbonat atau karbonat

dietil mengandung kompleks ion lithium.

Baterai lithium ion yang lebih mahal daripada baterai NiCd tetapi

beroperasi pada rentang temperatur yang lebih luas dengan kepadatan energi yang

lebih tinggi. Mereka membutuhkan sirkuit pelindung tambahan untuk mencegah

sel-sel baterai melewati puncak tegangan yang diperbolehkan, Biasanya sel

lithium-ion yang ada disertai dengan sensor suhu, converter / regulator tegangan.

Komponen ini memantau keadaan muatan dan arus masuk dan keluar dari setiap

sel , kapasitas masing-masing sel individu ( dimana perubahan drastis dapat

menyebabkan pembalikkan polaritas yang berbahaya ), dan setiap sel suhunya

harus terjaga sehingga meminimalkan risiko sirkuit pendek.

Page 6: 10 Bab II Landasan Teori

10

Gambar 2.7 Baterai Lithium-Ion bentuk tabung

2.2.2 Charge dan Discharge

Baterai Li-Ion merupakan jenis baterai yang dapat di isi ulang, Namun

baik pengisian maupun pada saat pengosongan baterai jenis ini harus memiliki

prosedur keamanan sehingga tidak terjadi short circuit ataupun overcharge yang

dapat menyebabkan baterai ini meledak.

2.2.2.1 Charging

Charging adalah sebuah aktifitas yang dilakukan untuk mengisi kembali

energi yang sudah habis terpakai pada sebuah tempat penyimpan energi seperti

baterai dan lainnya. Berikut adalah cara pengisian energi pada baterai Li-Ion :

Metode Charging

Baterai jenis Li-Ion harus diisi dengan hati-hati. Hal yang paling mudah

untuk melakukan pengisian baterai jenis ini adalah dengan melakukan pengisian

dengan arus konstan yang kecil. Namun metode charging jenis ini akan memakan

waktu yang lama sekali sehingga tidak praktis apabila diterapkan ke dalam sebuah

sebuah aplikasi. Sehingga dikembangkan sebuah metode baru yaitu charger akan

berhenti ketika battery akan mengalami kerusakan. Kebanyakan pabrik

memberikan jaminan overcharging adalah aman apabila arus pengisiannya kecil

dibawah 0.1C (nilai C adalah nilai kapasitansi baterai berdasarkan arus persatuan

waktu biasanya jam ).

Charger akan melakukan monitoring terhadap baterai dan ketika baterai

penuh maka tegangan akan drop sedikit, charger akan mendeteksi akan hal ini dan

Page 7: 10 Bab II Landasan Teori

11

kemudian akan menghentikan proses charging.Proses adalah untuk mengisi pada

arus konstan sampai setiap sel mencapai tegangan 4,1 Volt. Charger kemudian

akan beralih ke modus tegangan konstan sehingga arus pengisian secara bertahap

akan berkurang pada saat charger mencapai tegangan sel pada 4,2 Volt.

Kebanyakan produsen mengklaim tegangan maksimum dan minimum sel baterai

adalah sebesar 4,23 Volt dan 2,75 Volt ( pada penelitian ini batas tegangan

dibawah adalah 3 Volt sebagai proteksi tambahan untuk mencegah adanya

kerusakan pada rangkaian pelindung baterai dari Short-circuit ). Apabila sel

dipaksakan melewati batas-batas ini maka dapat mengurangi kapasitas sel dan

kemampuan untuk memberikan nilai arus penuh.

Suhu versus Charging

Ketika pengisian energi terjadi pada saat baterai belum penuh maka yang

terjadi adalah seluruh arus akan diubah menjadi materi kimia, namun ketika

baterai sudah hampir penuh maka yang terjadi adalah kebanyakan energi akan

diubah menjadi panas. Hal ini akan mengakibatkan naiknya suhu temperature

pada baterai. Pada beberapa pabrik baterai mereka dilengkapi dengan jaket suhu

yang akan menjaga suhu stabil dan beberapa paberik yang lain membuat

pengaturan besarnya arus pada saat pengisian yang juga dapat menjaga suhu tetap

stabil. Beberapa standar baterai yang digunakan memiliki kemampuan untuk

hidup lebih panjang dengan suhu kamar yang dingin. Pada 25 °C (77 °F) baterai

mampu beroperasi sampai dengan 10 tahun, pada suhu 33 °C (91 °F) baterai

mampu beroperasi sampai dengan 5 tahun, dan 42 °C (108 °F) baterai mampu

beroperasi sampai dengan 2,5 tahun.

2.2.2.2 Discharging

Discharging adalah suatu keadaan ketika energi pada baterai secara

perlahan-lahan habis keluar dari baterai.

Self discharging

Page 8: 10 Bab II Landasan Teori

12

Tingkat self-discharge bervariasi dengan suhu, di mana suhu penyimpanan

yang lebih rendah menyebabkan tingkat pengosongan debit lebih lambat dan

sehingga akan menyebabkan daya tahan baterai yang lebih lama. Tingkat self-

discharge adalah 5 - 20% pada hari pertama dan akan stabil sekitar 0,5-4% per

hari pada suhu kamar Tetapi pada 45 ° C adalah sekitar 3 kali lebih tinggi. Ini

bukan masalah dalam jangka pendek tetapi membuat mereka tidak cocok untuk

banyak kegunaan.

Over discharging

Apabila discharge terjadi pada sebuah cell sampai semua energinya habis,

akan menyebabkan adanya pembalikan polaritas pada beberapa sel-selnya.

Biasanya hal ini terjadi pada 4 buah baterai AA yang dipasang seri (contohnya

adalah pada kamera). Ketika salah satu baterai habis energinya, dan ketika hal ini

terjadi baterai yang masih terisi energi akan mendorong sel yang energinya habis

secara terbalik sehingga akan menyebabkan kerusakan permanen pada sel

tersebut. Hal ini terjadi ketika 4 buah baterai tersebut memiliki kapasitas yang

berbeda-beda. Namun pada kondisi pararel baterai tidak akan memiliki masalah

Pada pertengahan 2013, tingkat pengosongan baterai dapat mencapai 70C

secara terus-menerus (70C adalah 70 kali arus yang dikeluarkan dari kapasitas

arus yang tertera pada baterai) akan tetapi hal ini merupakan pengecualian dari

aturan umum. karena umumnya bahwa tingkat pengosongan setiap sel baterai 1C

masih berdiri sebagai standar yang direkomendasikan antara para pengguna. Hal

ini juga penting untuk dicatat bahwa pengisian ataupun pengosongan baterai

dengan arus 1C akan dapat memperpanjang umur setiap baterai Li-Ion.

2.3 Microcontroller Arduino Mini Pro

Pengendali mikro (Inggris: microcontroller) adalah sistem mikroprosesor

lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari

mikroprosesor serba guna yang digunakan dalam sebuah PC, karena sebuah

mikrokontroler umumnya telah berisi komponen pendukung sistem minimal

mikroprosesor, yakni memori dan antarmuka I/O.

Page 9: 10 Bab II Landasan Teori

13

Gambar 2.8 Microcontroller Arduino Mini Pro

Sistem komputer dewasa ini paling banyak justru terdapat di dalam

peralatan lain, seperti telepon, jam, perangkat rumah tangga, kendaraan, dan

bangunan. Sistem embedded biasanya mengandung syarat minimal sebuah sistem

mikroprosesor yaitu memori untuk data dan program, serta sistem antarmuka

input/output yang sederhana. Antarmuka semacam keyboard, monitor, disket, atau

printer yang umumnya ada pada sebuah komputer pribadi justru tidak ada pada

sistem mikrokontroler. Sistem mikrokontroler lebih banyak melakukan pekerjaan-

pekerjaan sederhana yang penting seperti mengendalikan motor, saklar, resistor

variabel, atau perangkat elektronis lain. Seringkali satu-satunya bentuk antarmuka

yang ada pada sebuah sistem mikrokontroler hanyalah sebuah LED, bahkan ini

pun bisa dihilangkan jika tuntutan konsumsi daya listrik mengharuskan demikian.

Perkembangan teknologi mikrokontroler sekarang ini sudah sampai pada

mikrokontroler dengan platform open source Arduino. Arduino adalah open-

source elektronik prototype platform berbasis pada perangkat keras dan perangkat

lunak yang fleksibel dan mudah digunakan. Hal Ini dimaksudkan bagi para

desainer, penggemar, dan siapapun yang tertarik dalam menciptakan objek atau

lingkungan yang interaktif.

Arduino bisa merasakan lingkungan dengan menerima masukan dari

berbagai sensornya dan dapat melakukan pengendalian sekitarnya dengan

menggunakan lampu, motor, aktuator dan lain-lainnya. Mikrokontroler di modul

ini diprogram menggunakan bahasa pemrograman Arduino (berdasarkan Wiring)

Page 10: 10 Bab II Landasan Teori

14

dan pengembangan lingkungan Arduino (berdasarkan Processing). Proyek

Arduino dapat berdiri sendiri atau mereka dapat berkomunikasi dengan perangkat

lunak yang berjalan pada komputer (misalnya Flash, Pengolahan,MaxMSP).

Modul Arduino ini dapat dibangun sendiri atau dibeli jadi. Perangkat

lunaknya dapat didownload secara gratis. Desain referensi perangkat keras (File

CAD) yang tersedia di bawah lisensi open-source, dan bebas untuk

menyesuaikannya dengan kebutuhan. Ada banyak jenis modul Arduino, yang

mana setiap modul berbeda antara satu dengan yang lainnya. Hal yang

membedakan setiap modul arduino adalah chipsetnya, ukuran onboard memori,

on-board peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang

digunakan mereka bisa dikatakan hampir sama.

2.3.1 Sketch

Sketch adalah lembar kerja pada system arduino yang digunakan untuk

menulis program, mengedit, menggabungkan dan kemudian mengunggah ke

dalam microcontroller Arduino tersebut. Sketch Arduino terdiri dari bagian-

bagian seperti comments, Setup (), dan Loop (). Dibawah ini akan dijelaskan

secara lebih detail mengenai bagian-bagian tersebut.

2.3.1.1 Comments

Biasanya komentar digunakan untuk memudahkan bagi orang-orang

membaca kode yang telah ditulis oleh engineer, untuk menjelaskan tujuan dari

dibuatnya program ini, cara kerjanya, atau mengapa program tersebut ditulis.

/*

 * Blink

 *

 * The basic Arduino example.  Turns on an LED on for one second,

 * then off for one second, and so on...  We use pin 13 because,

 * depending on your Arduino board, it has either a built-in LED

 * or a built-in resistor so that you need only an LED.

 *

Page 11: 10 Bab II Landasan Teori

15

 * http://www.arduino.cc/en/Tutorial/Blink

 */

Adalah sesuatu yang baik untuk memberikan komentar atas sketch, salah

satunya adalah untuk membantu ketika adanya kode yang ingin diperbaiki serta

hal ini dapat membantu orang lain untuk belajar dari atau memodifikasi kode yang

sudah berjalan. Ada juga comments dengan bentuk lain, yaitu single-line.

Comments ini dimulai dengan “ // “ dan lanjut hingga ke akhir baris. Sebagai

contohnya adalah :

int ledPin = 13;   // LED connected to digital pin 13

Kalimat yang berisi pesan ini "LED connected to digital pin 13" adalah sebuah

comments yang digunakan untuk menjelaskan mengenai variable 13

2.3.1.2 Fungsi Setup ()

Ada beberapa fungsi khusus yang merupakan bagian dari sketch yaitu “

Setup () “. Fungsi Setup () dipanggil sekali, yaitu ketika sketch dimulai. Fungsi ini

merupakan tempat yang baik untuk melakukan pengaturan-pengaturan seperti :

Pengaturan mode output pada pin digital

Inisialisasi library microcontroller arduino

Inisialisasi Variabel, dan lain-lain

fungsi setup hanya akan berjalan sekali, setelah setiap PowerUp atau setelah

tombol reset pada rangkaian modul Arduino ditekan. Berikut adalah contoh dari

fungsi setup () :

void setup()

{

Serial.begin(9600);

pinMode(buttonPin, INPUT);

}

Page 12: 10 Bab II Landasan Teori

16

2.3.1.3 Fungsi Loop ()

Fungsi Loop () adalah fungsi utama dalam sketch arduino ini. Fungsi ini

dipanggil berulang kali oleh modul microcontroller untuk menjalankan program

yang telah tersimpan di dalamnya. Berikut adalah contoh penggunaan dari fungsi

Loop () :

void loop()

{

if (digitalRead(buttonPin) == HIGH)

serialWrite('H');

else

serialWrite('L');

delay(1000);

}

fungsi loop () sesuai dengan namanya, melakukan perulangan setiap listing

program yang dituliskan, yang pada saat tertentu variable dari program anda telah

berubah sehingga system merespon dan menghasilkan output baru yang berbeda

dengan hasil output pertama.

2.3.2 Fitur-fitur Microcontroller Arduino Mini Pro

Berikut ini adalah fitur-fitur dari perangkat keras microcontroller Arduino.

Perangkat keras ini dapat diprogram dengan mudah pada sketch. Ada beberapa

fitur-fitur perangkat keras yang dapat ditemukan pada modul microcontroller

Arduino, berikut adalah penjelasan dari fitur-fitur tersebut :

2.3.2.1 Pin I/O Digital

I/O Port pada modul microcontroller Arduino dikenal dengan Pin Digital.

Pin ini dapat dikonfigurasi baik sebagai input ataupun dapat digunakan sebagai

output.

Page 13: 10 Bab II Landasan Teori

17

Karakteristik pin digital ketika menjadi input

Arduino dengan chipsnya Atmega, secara default pengaturan port digital

adalah pengaturan untuk port masukan, sehingga mereka tidak perlu secara

eksplisit dinyatakan sebagai input dengan pinMode (). Pin dikonfigurasi sebagai

input sehingga pin tersebut berada dalam keadaan impedansi tinggi. Salah satu

penjelasannya adalah pin input akan mengambil daya yang sangat kecil sekali

pada rangkaian ketika dalam kondisi pengambilan sampel, dapat dikatakan bahwa

ada resistor seri 100 Megaohm di depan pin tersebut. Hal ini berarti bahwa hanya

sangat sedikit arus yang digunakan untuk memindahkan kondisi pin input tersebut

dari keadaan satu ke keadaan yang lain. Sehingga hal ini dapat membuat pin

berguna untuk melakukan tugas-tugas seperti membaca sensor sentuh kapasitif,

membaca sebuah LED sebagai dioda, atau membaca sebuah sensor analog dengan

skema seperti RCTime. Akan tetapi hal ini juga berarti, apabila ada pin input yang

tidak terhubung ke rangkaian, akan menghasilkan beberapa keadaaan seperti akan

berlogika acak, menghasilkan noise, atau akan menjadi kapasitor coupling pada

pin yang berdekatan dengan Pin tersebut.

Adalah hal yang berguna untuk mengarahkan pin masukan ke keadaan

yang dikenal jika tidak ada input. Hal ini dapat dilakukan dengan menambahkan

resistor pullup (ke +5 V), atau resistor pull-down (resistor ke ground) pada input,

dengan resistor 10 Kohm. Ada juga resistor pullup 20 KOhm yang dapat di akses

pada chip Atmega dengan perangkat lunak. Berikut ini adalah cara untuk

mengakses resistor pullup built-in.

pinMode(pin, INPUT); // set pin to input

digitalWrite(pin, HIGH); // turn on pullup resistors

Karakteristik pin digital ketika menjadi Output

Apabila Pin digital ini dikonfigurasi sebagai OUTPUT dengan pinMode (),

maka Pin ini akan berada dalam keadaan impedansi rendah. Hal ini berarti bahwa

mereka dapat menyediakan sejumlah besar arus ke rangkaian lainnya. Pin Atmega

dapat menjadi sumber arus positif atau menjadi sumber arus negatif hingga 40 mA

(milliamps) arus ke perangkat lain. Hal ini cukup untuk menghidupkan sebuah

Page 14: 10 Bab II Landasan Teori

18

LED, menjalankan banyak sensor, namun sayangnya saat ini tidak cukup untuk

menjalankan relay, solenoida, atau motor.

Hubungan pendek pada pin Arduino, atau mencoba untuk menjalankan

rangkaian dengan arus yang besar, dapat merusak atau menghancurkan transistor

output pada pin, atau merusak chip Atmega keseluruhan. Sering kali ini akan

menghasilkan sebuah pin "mati" dalam mikrokontroler akan tetapi chip yang

tersisa masih akan berfungsi secara memadai. Maka untuk alasan ini, adalah

sebuah ide yang baik untuk menghubungkan pin OUTPUT ke perangkat lain

dengan resistor 470 Ohm atau 1 KOhm.

2.3.2.2 Pin I/O Analog

Sebagian besar port Arduino (Atmega) adalah pin analog yang dapat

dikonfigurasi dan digunakan persis dengan cara yang sama seperti pin digital.

Berikut ini adalah karakteristik dari Pin Analog.

A/D Converter

Chips Atmega digunakan pada Arduino memiliki 8 saluran analog to

digital converter (ADC). ADC tersebut memiliki 10 bit resolusi dari 0 ke 1023.

Sedangkan fungsi utama dari pin analog pada Arduino adalah untuk membaca

sensor analog. Pin analog juga memiliki semua fungsi pin General Purposes

Input / Output (GPIO), sama dengan pin digital 0-13.

Pemetaan Pin

Pin analog dapat digunakan sama seperti pin digital, menggunakan

penamaan A0 (untuk input analog 0), A1, dan seterusnya. Sebagai contoh, kode

berikut digunakan untuk mengatur 0 pin analog ke output, dan mengaturnya

berlogika “High” :

pinMode(A0, OUTPUT);

digitalWrite(A0, HIGH);

Page 15: 10 Bab II Landasan Teori

19

Pull up Resistor

Pin yang analog juga memiliki resistor pullup, yang bekerja sama seperti

resistor pullup pada pin digital. Mereka diaktifkan dengan menggunakan perintah

seperti dibawah ini :

digitalWrite(A0, HIGH); // set pullup on analog pin 0

Namun harus disadari bahwa mengatur Resistor Pull up akan

mempengaruhi nilai yang akan diambil oleh analogRead (). Hal tersebut

dikarenakan perintah analogRead tidak akan bekerja dengan benar jika pin

sebelumnya di gunakan sebagai output, apabila hal ini terjadi maka pin tersebut

harus diatur kembali menjadi input sebelum menggunakan perintah analogRead.

Hal yang sama pula harus diterapkan jika pin telah diatur untuk menjadi logika

“High” sebagai output, resistor pullup harus diatur ketika beralih kembali ke

input.

2.3.2.3 PWM ( Pulse Width Modulator )

Pulse Width Modulation, atau PWM, adalah teknik untuk mendapatkan

hasil yang analog dengan teknik digital. Digital kontrol digunakan untuk membuat

gelombang persegi, dan kemudian sinyal diatur sehingga beralih antara hidup dan

mati secara cepat. Pola on-off ini dapat mensimulasikan tegangan Hidup (5 Volt)

dan off (0 Volt) dengan mengubah sebagian waktu sinyal Hidup dengan waktu

pada sinyal mati. Lamanya "on time" disebut lebar pulsa. Untuk mendapatkan

berbagai nilai analog, pengguna akan mengubah, atau memodulasi, yang lebar

pulsa. Jika pengguna mengulangi pola on-off ini dengan cukup cepat dan

menggunakan LED misalnya sebagai output, maka hasilnya adalah pengendalian

kecerahan LED.

Dalam grafik di bawah, garis-garis hijau merupakan periode waktu yang

teratur. Ini adalah durasi atau periode yang merupakan kebalikan dari frekuensi

PWM. Dengan kata lain, dengan frekuensi PWM Arduino di sekitar 500Hz, garis

hijau hanya akan teratur selama 2 milidetik saja. Fungsi untuk analogWrite ()

memiliki nilai skala dari 0 – 255. Ketika analogWrite memiliki (255) maka siklus

Page 16: 10 Bab II Landasan Teori

20

akan 100% (selalu high), dan analogWrite (127) adalah siklus kerja 50% (High

pada separuh waktu dan low pada separuh waktu).

Gambar 2.9 PWM Microcontroller Arduino Mini Pro

2.3.2.4 Memory

Ada tiga jenis memori dalam mikrokontroler yang digunakan pada

microcontroller Arduino (ATmega328)

Flash memori adalah tempat dimana listing program (sketch) Arduino

disimpan.

SRAM adalah di mana listing program (sketch) Arduino menciptakan dan

memanipulasi variabel ketika berjalan sketch tersebut dijalankan.

EEPROM adalah ruang memori untuk menyimpan informasi jangka

panjang.

Flash memori dan EEPROM adalah non-volatile (informasi tetap ada setelah

power dimatikan). Sedangkan SRAM adalah volatile dan akan hilang saat tidak

adanya power supply.

Chip ATmega328 memiliki kapasitas memori sebagai berikut :

Flash 32 Kbytes (dimana 2Kbytes digunakan untuk bootloader)

Page 17: 10 Bab II Landasan Teori

21

SRAM 2 Kbytes

EEPROM 1 Kbytes

2.3.3 Teknik memprogram Microcontroller

Berikut adalah konsep dalam memprogram modul microcontroller arduino uno :

2.3.3.1 Variabel

Variabel adalah tempat untuk menyimpan data. Variabel memiliki nama,

nilai, dan tipe. Sebagai contoh, pernyataan ini (disebut deklarasi):

int pin = 13;

Perintah ini menciptakan variabel yang namanya pin, yang nilainya adalah

13, dan bertipe int. apabila pengguna membutuhkan variable ini, maka akan dapat

menunjuk ke variabel ini dengan memanggil namanya. pada saat itu variable ini

nilainya akan dicari dan digunakan, seperti dalam pernyataan ini:

pinMode(pin, OUTPUT);

Nilai dari pin (13) ini akan diteruskan ke perintah pinMode (). Dalam hal

ini, sebenarnya pengguna tidak perlu menggunakan variabel, pernyataan ini akan

bekerja dengan baik sama seperti :

pinMode(13, OUTPUT);

Keuntungan dari penggunaan variabel dalam hal ini adalah bahwa

pengguna hanya perlu menentukan jumlah pin yang digunakan sekali, akan tetapi

pengguna dapat menggunakannya berkali-kali, sehingga jika pengguna kemudian

memutuskan untuk mengubah penggunaan dari pin 13 menjadi pin 12, pengguna

hanya perlu mengubah sedikit kode. Pengguna juga dapat menggunakan nama

pengenal untuk membuat pentingnya variabel yang jelas (misalnya program

mengendalikan LED RGB memungkinkan penamaan variabel redPin, greenPin,

Page 18: 10 Bab II Landasan Teori

22

dan bluePin. Sebuah variabel memiliki kelebihan seperti mengubah nilai dari

variabel menggunakan perintah seperti contoh:

pin = 12;

Perintah ini akan mengubah nilai dari variabel menjadi 12. Perhatikan

bahwa pengguna tidak menentukan jenis variable, hal tersebut tidak diubah oleh

perintah tersebut. Artinya, nama variabel secara permanen diasosiasikan dengan

jenis, pengguna hanya melakukan perubahan nilainya. pengguna harus

mendeklarasikan variabel sebelum pengguna memberikan nilai untuk itu. Jika

tidak maka pesan error ini akan muncul "error: pin was not declared in this

scope".

Bila pengguna menetapkan satu variabel yang lain, pengguna membuat

salinan nilai variable tersebut dan menyimpan salinannya pada lokasi di memori

yang terkait dengan variabel lain. Mengubah satu tidak berpengaruh pada yang

lain. Misalnya, setelah:

int pin = 13;

int PIN2 = pin;

pin = 12;

hanya variable pin yang memiliki nilai 12, sedangkan untuk variable PIN2

memiliki nilai 13. Hal ini mengacu pada bagian dari listing program pengguna di

mana variabel tersebut digunakan. Sebagai contoh, jika pengguna ingin dapat

menggunakan variabel mana saja dalam programnya, maka pengguna dapat

menyatakan di bagian atas listing programnya. Ini disebut variabel global, berikut

adalah contohnya:

int pin = 13;

void setup()

{

pinMode(pin, OUTPUT);

Page 19: 10 Bab II Landasan Teori

23

}

void loop()

{

digitalWrite(pin, HIGH);

}

Seperti yang terlihat, pin yang digunakan di kedua setup () dan loop ()

fungsi. Kedua fungsi mengacu pada variabel yang sama, sehingga perubahan itu

satu akan mempengaruhi nilai yang telah di yang lain, seperti di bawah ini :

int pin = 13;

void setup()

{

pin = 12;

pinMode(pin, OUTPUT);

}

void loop()

{

digitalWrite(pin, HIGH);

}

Di sini, digitalWrite () fungsi yang dipanggil dari loop () akan melewati

nilai 12, karena itu nilai yang ditugaskan ke variabel di setup () fungsi. Jika

pengguna hanya perlu menggunakan variabel dalam sebuah perintah tunggal,

pengguna dapat menyatakan variable tersebut di setup (), sehingga ruang lingkup

variable tersebut akan terbatas pada perintah tersebut. Sebagai contoh :

void setup()

{

int pin = 13;

pinMode(pin, OUTPUT);

digitalWrite(pin, HIGH);

Page 20: 10 Bab II Landasan Teori

24

}

Dalam perintah ini, pin variabel hanya dapat digunakan dalam setup () fungsi. Jika

pengguna mencoba untuk melakukan sesuatu seperti ini:

void loop()

{

digitalWrite(pin, LOW); // wrong: pin is not in scope here.

}

Pengguna akan mendapatkan pesan yang sama seperti sebelumnya "error:

pin was not declared in this scope". Hal ini berarti meskipun pengguna telah

menyatakan variable pin dalam program, pengguna mencoba untuk menggunakan

suatu variabel di luar jangkauannya. Artinya jika sebuah variabel bersifat global,

nilainya bisa diubah di mana saja di dalam listing program tersebut, sehingga

pengguna perlu memahami keseluruhan program untuk mengetahui apa yang akan

terjadi pada variabel. Misalnya, jika variabel pengguna memiliki nilai yang tidak

diharapkan, akan lebih mudah untuk mencari tahu di mana nilai tersebut berasal

dari jika variabel memiliki ruang lingkup terbatas.

2.3.3.2 Fungsi-Fungsi

Segmentasi program ke fungsi memungkinkan programer untuk membuat

potongan-potongan program yang melakukan tugas yang telah didefinisikan

sebelumnya dan kemudian kembali ke awal program dimana fungsi itu dipanggil.

Menciptakan sebuah fungsi sangat berguna ketika salah satu kebutuhan untuk

melakukan tindakan yang sama beberapa kali dalam sebuah program.

Untuk programer yang terbiasa menggunakan BASIC, fungsi dalam

Arduino memberikan (dan memperluas) kegunaan menggunakan subrutin (gosub

dalam BASIC). Menstandarisasikan program ke fungsi memiliki beberapa

keuntungan yaitu membantu programmer tetap terorganisir yang seringkali hal ini

membantu pada awal konsep program. Fungsi juga mengelompokan satu tindakan

dalam satu tempat sehingga fungsi hanya harus dipikirkan dan debugged sekali.

Page 21: 10 Bab II Landasan Teori

25

Hal ini juga mengurangi kemungkinan untuk kesalahan dalam modifikasi, jika ada

listing program yang perlu diubah. Fungsi juga membuat sketsa keseluruhan

menjadi lebih kecil dan lebih kompak karena hanya bagian kode tertentu saja yang

digunakan kembali berkali-kali. Fungsi membuat lebih mudah untuk

menggunakan kembali kode dalam program lain dengan membuatnya lebih

modular, dan sebagai efek sampingnya, menggunakan fungsi juga sering

membuat program lebih mudah dibaca.

Ada dua fungsi yang diperlukan dalam sketsa Arduino, setup () dan loop

(). Fungsi lainnya harus dibuat di luar kurung dari dua fungsi. Sebagai contoh,

dibawah ini adalah fungsi sederhana untuk mengalikan dua angka.

void setup(){

Serial.begin(9600);

}

void loop() {

int i = 2;

int j = 3;

int k;

k = myMultiplyFunction(i, j); // k now contains 6

Serial.println(k);

delay(500);

}

int myMultiplyFunction(int x, int y){

int result;

result = x * y;

return result;

}

2.3.3.3 Library-Library

Page 22: 10 Bab II Landasan Teori

26

Sebuah kelas hanyalah sebuah kumpulan fungsi dan variabel yang semua

berada di satu tempat. Fungsi-fungsi dan variabel dapat bersifat publik, yang

berarti bahwa mereka dapat diakses oleh orang yang menggunakan library

pengguna, atau private yang berarti mereka hanya dapat diakses dari dalam kelas

itu sendiri. Setiap kelas memiliki fungsi khusus yang dikenal sebagai konstruktor,

yang digunakan untuk membuat sebuah instance dari kelas. Konstruktor ini

memiliki nama yang sama dengan kelas, dan tidak ada jenis kembali.

library menyediakan fungsionalitas tambahan untuk digunakan dalam

sketch, misalnya menggunakan perangkat keras atau memanipulasi data. Untuk

menggunakan perpustakaan di sketch, pilih Sketch> Impor Library Menu. Hal ini

akan memasukkan satu atau lebih pernyataan # include di bagian atas sketch dan

akan mengcompile sketch pengguna dengan Library. Karena library masuk ke

sketch pengguna hal ini menyebabkan peningkatan jumlah memory yang

diperlukan untuk sketch ini. Jika sketch tidak lagi membutuhkan library, cukup

hapus pernyataannya # include dari atas sketch.

Ada banyak library yang sudah ada di dalam perangkat lunak arduino, Dan

beberapa dapat didownload dari berbagai sumber. Library dapat ditemukan dalam

folder khusus, dan biasanya akan berisi sedikitnya dua file dengan akhiran h dan

satu dengan akhiran cpp.

2.4 LCD Display

LCD adalah sebuah layar kristal cair yang merupakan display panel datar,

tampilan visual elektronik, atau tampilan video yang menggunakan sifat modulasi

cahaya kristal cair. Komponen kristal cair ini tidak memancarkan cahaya secara

langsung.

LCD digunakan dalam berbagai aplikasi termasuk monitor komputer,

televisi, panel instrumen, menampilkan pesawat kokpit, dan lain-lainnya. LCD

umum dalam perangkat konsumen seperti pemutar video, perangkat game, jam

tangan, kalkulator, dan telepon. LCD pada masa kini telah menggantikan tabung

sinar katoda (CRT) dan telah dapat menampilkan dalam sebagian besar aplikasi.

LCD tersedia dalam berbagai ukuran layar lebih luas dibanding CRT dan plasma

display. LCD tidak menggunakan fosfor sehingga tidak berbahaya.

Page 23: 10 Bab II Landasan Teori

27

2.4.1 Cara Kerja LCD

Setiap pixel dari sebuah LCD biasanya terdiri dari lapisan molekul yang

selaras antara dua elektroda transparan, dan dua filter polarisasi, sumbu transmisi

cahaya yang (di sebagian besar kasus) tegak lurus satu sama lain. Sehingga

dengan filter polarisasi ini sinar yang melewati filter pertama akan diblokir oleh

polarizer (silang) filter kedua.

Permukaan elektroda yang berada dalam kontak dengan bahan kristal cair

diperlakukan sedemikian rupa untuk menyelaraskan molekul kristal cair dalam

arah tertentu. Peralatan ini biasanya terdiri dari lapisan polimer tipis satu arah

( biasanya digosok menggunakan kain), sehingga arah alignment kristal cair ini

kemudian ditentukan oleh arah menggosoknya. Elektroda terbuat dari konduktor

transparan Indium Tin Oksida (ITO). Liquid Crystal Display pada hakekatnya

merupakan perangkat "pasif ” yang merupakan katup cahaya sederhana. Untuk

mengelola dan mengatur data yang akan ditampilkan dilakukan oleh satu atau

lebih sirkuit biasanya disebut sebagai driver LCD.

Sebelum medan listrik diterapkan, orientasi molekul kristal cair ditentukan

oleh penyelarasan pada permukaan elektroda. Dalam perangkat twisted nematic

(masih perangkat kristal cair yang paling umum), arah keselarasan permukaan

pada dua elektroda yang tegak lurus satu sama lain, sehingga molekul mengatur

diri mereka dalam struktur heliks, atau berputar. Ini menginduksi rotasi polarisasi

dan akan menghalangi cahaya yang masuk. Jika tegangan yang diberikan cukup

besar, molekul kristal cair di tengah lapisan hampir sepenuhnya dipilin dan

polarisasi cahaya insiden tidak diputar saat melewati lapisan kristal cair. Lampu

ini kemudian akan terutama terpolarisasi tegak lurus terhadap filter kedua, dan

dengan demikian akan diblokir dan akan muncul pixel hitam. Dengan mengontrol

tegangan diterapkan di seluruh lapisan kristal cair di setiap pixel, cahaya dapat

diperbolehkan untuk melewati dalam jumlah yang bervariasi sehingga level

cahaya yang keluar akan bervariasi.

Kedua bahan kristal cair dan bahan lapisan alignment mengandung

senyawa ionik. Jika medan listrik dari satu polaritas tertentu diterapkan untuk

jangka waktu yang lama, bahan ini ionik akan tertarik ke permukaan dan

Page 24: 10 Bab II Landasan Teori

28

menurunkan kinerja perangkat. Hal ini harus dihindari baik dengan menerapkan

arus bolak-balik atau dengan membalik polaritas medan listrik tersebut.

2.4.2 LCD Matrix 16x2 Hitachi HD44780

Hitachi HD44780 LCD controller adalah salah satu matriks layar kristal

cair yang paling umum. Hitachi mengembangkan mikrokontroler khusus untuk

mengendalikan layar LCD alfanumerik dengan antarmuka yang sederhana yang

dapat terhubung ke mikrokontroler atau mikroprosesor pada umumnya.

Tegangan operasi nominal untuk lampu latar LED 5V pada kecerahan

penuh, dengan peredupan pada tegangan yang lebih rendah tergantung pada detil

seperti warna LED. Non-LED lampu latar sering membutuhkan tegangan yang

lebih tinggi.

Gambar 2.10 LCD Hitachi HD44780

D44780U dot-matrix liquid crystal display controller dan driver yang

menampilkan alphanumerics LSI, dan simbol. Hal ini dapat dikonfigurasi untuk

mengatur dot-matrix liquid crystal display di bawah kontrol dari 4 - atau 8-bit

mikroprosesor. Karena semua fungsi-fungsi seperti RAM monitor, karakter

generator, dan driver LCD yang dibutuhkan untuk mengendalikan dot-matrix

liquid crystal display secara internal diberikan pada satu chip, sebuah sistem

minimal dapat dihubungkan dengan controller / driver.

Sebuah HD44780U tunggal dapat menampilkan hingga 8-karakter satu

baris atau dua baris. HD44780U ini memiliki kompatibilitas fungsi pin dengan

HD44780S yang memungkinkan pengguna untuk dengan mudah mengganti LCD-

II dengan HD44780U. Karakter HD44780U generator ROM diperpanjang untuk

Page 25: 10 Bab II Landasan Teori

29

menghasilkan 208 5 '8 titik karakter font dan 32 5 '10 titik karakter font dengan

total 240 font karakter yang berbeda.

Catu daya yang rendah (2.7V ke 5.5V) dari HD44780U ini cocok untuk

setiap produk portabel berbasis baterai yang membutuhkan daya rendah. Beberapa

fitur lainnya adalah sebagai berikut:

Tegangan kerja yang rendah : 2,7 sampai 5.5V.

Antar muka kecepatan tinggi bus MPU 2 MHz (ketika VCC = 5V)

4-bit atau 8-bit diaktifkan antarmuka MPU

80 '8-bit display RAM (80 karakter maks.)

9920-bit karakter ROM untuk pembangkit total 240 font karakter

font karakter 208 (5'8 titik) karakter font 32 (5 '10 titik)

Rangkaian ulang otomatis yang menginisialisasi controller / driver

setelah power on

Osilator internal dengan resistor eksternal

Konsumsi daya rendah

Gambar 2.11 Blok Diagram HD44780