-
BAB II
LANDASAN TEORI
2.1. Motor Bensin
2.1.1. Sistem Kelistrikan
Sistem kelistrikan bisa disebut juga sebagai jantungnya sepeda
motor agar. Karena dengan adanya sistim kelistrikan tersebut maka
fungsi mekanik lainnya
bisa bersinergi untuk bergerak. Tenaga listrik pada motor
biasanya adalah 6 volt,
tegangan tersebut dapat diubah menjadi 12 volt dengan mengubah
sistem
kelistrikannya. Dengan tegangan 12 volt lampu-lampu menjadi
lebih terang dan
klakson menjadi lebih keras, serta bunga api busi menjadi lebih
besar. Dengan
perubahan tegangan tersebut maka semua peralatan kelistrikan
seperti lampu, koil,
baterai, dan klakson harus diganti dengan yang 12 volt. Pada
motor bensin sistem
kelistrikan diperlukan untuk menyalakan busi. Adanya listrik
pada motor berasal
dari generator yang berputar mengikuti poros engkol. Generator
dibedakan
menjadi dua yaitu:
a. Generator AC, yaitu generator yang menghasilkan arus
bolak-balik.
b. Generator DC, yaitu generator yang menghasilkan arus
searah.
Gangguan-gangguan yang terjadi pada generator antara lain
yaitu:
a. Magnit lemah, akibatnya arus listrik yang dihasilkan lemah,
sehingga motor
tidak bisa hidup sempurna. Perbaikannya ganti magnit.
b. Lubang spi magnit goyah, akibatnya hidup motor terganggu.
Perbaikannya
dibubut.
c. Spoel atau gulungan kawat terbakar,akibatnya tidak ada arus
listrik, sehingga
motor tidak mau hidup (bila spoel penyalaan mesin yang mati)
perbaikannya:
gulung spoel atau ganti spoel.
d. Spoel putus hubungan, akibatnya motor tidak mau hidup dan
perbaikannya:
gulung spoel atau ganti spoel Ignition Coil digunakan untuk
memperbesar
4
-
5
e. arus listrik dari 6 volt menjadi sekitar 10000-12000 Volt,
karena untuk
menghidupkan busi dibutuhkan arus sebesar 10000-12000V.
Pada dasarnya sistem kelistrikan merupakan salah satu sistem
yang
berkaitan dengan berbagai macam kinerja motor maupun komponen
tambahan
moyor bakar. Sisitem kelistrikan pada motor bakar berasal dari
generator yang
diputar oleh energi dari putaran mesin. Manfaat sistem
kelistrikan pada motor
bakar dapat dibedakan berbagai macam berdasarkan fungsinya,
misalnya sebagai
penerangan, sebagai starter, pemercik api busi dan sebaggai
sumber energi untuk
menghidupkan komponen lain seperti klakson dan lain-lain. Pada
motor bakar
sistem kelistrikan dapat dibedakan menjadi beberapa sistem.
Sistem pengisian berfungsi untuk mengisi kembali baterai
setelah
digunakan starting dan menyuplai kebutuhan listrik ke sistem
kelistrikan saat
mesin hidup. Arus baterai yang digunakan untuk menghidupkan
starter sangat
banyak sehingga memerlukan sistem pengisian untuk mengisinya
kembali. Pada
sistem pengisian ini, komponen yang terpenting adalah generator
yang prinsip
dasarnya bekerja karena adanya gerakan yang memotong garis gaya
magnet
sehingga dapat menimbulkan atau mengahasilkan energi listrik.
Generator ini
sering juga disebut sebagai Alternator. Kebanyakan mobil
dilengakapi dengan
alternator arus bolak-balik karena lebih baik daripada dinamo
atau generator arus
searah dalam hal kemampuan membangkitkan tenaga listrik dan
ketahanannya.
Karena mobil membutuhkan arus searah, maka arus bolak-balik yang
diproduksi
oleh alternator diserarahkan sebelum keluar menuju sistem
kelistrikan mobil.
Komponen- komponen yang terdapat pada sistem kelistrikan
khususnya charging
antara lain yaitu :
a. Baterai
b. Kunci Kontak
c. Lampu Indikator
d. Alternator
e. Pulley
f. Bearing
g. Rotor
h. Stator
-
6
i. Rectifier (Dioda)
j. Brush
k. Brush Holder
l. Frame and Cover
m. Regulator (Mekanis Type)
n. Voltage Relay
o. Voltage Regulator
p. Terminal FPE
q. Regulator (IC Type)
Fungsi dari beberapa komponen generator diatas antara laian
yaitu :
a. Pulley sebagai tempat vanbelt memindahkan gerak putar
crankshaft ke rotor.
b. Bearing untu mengurangi gaya gesek dua benda yang
berputar.
c. Rotor sebagai penghasil medan magnet atau kemagnetan.
d. Stator sebagai tempat terbangkitnya energi listrik.
e. Rectifier sebagai penyearah arus AC yang telah dibangkitkan
stator menjadi
DC.
f. Brush sebagai penurunkan tahanan mesin.
Regulator pada sistem pengisian ada dua macam yaitu tipe IC
yang
terpasang menjadi satu dengan alternator dan tipe mekanis yang
terpasang terpisah
dari alternator. Regulator berfungsi:
a. Meregulasi tegangan dan arus yang menuju ke kumparan rotor
sehingga
tegangan dan arus yang dihasilkan alternator sesuai
kebutuhan.
b. Mengukur tegangan baterai
c. Pengukuran arus dan tegangan yang masuk ke rotor.
Jenis-jenis kerusakan yang mungkin terjadi pada sistem pengisian
ini
antara lain yaitu:
a. Ketika alternator membangkitkan listrik (ketika di bawah
voltage yang
dibangkitkan).
b. Ketika alternator membangkitkan listrik (jika voltage di
atas).
c. Rotor coil terbuka
d. Rotor coil terputus
e. Terminal S terputus
-
7
f. Terminal B terputus
g. Antara terminal F dan terminal E terputus. [1]
2.2. Microcontroler
2.2.1. Arduino Uno Arduino adalah sebuah board mikrokontroller
yang berbasis ATmega328.
Arduino memiliki 14 pin input/output yang mana 6 pin dapat
digunakan sebagai
output PWM, 6 analog input, crystal osilator 16 MHz, koneksi
USB, jack power,
kepala ICSP, dan tombol reset. Arduino mampu men-support
mikrokontroller;
dapat dikoneksikan dengan komputer menggunakan kabel USB.
Gambar 2.1 Board Arduino Uno R3
Gambar 2.2 Tampilan belakang Arduino Uno R3
Arduino adalah merupakan sebuah board minimum sistem
mikrokontroler
yang bersifat open source. Di dalam rangkaian board arduino
terdapat
mikrokontroler AVR seri ATMega328 yang merupakan produk dari
Atmel.
-
8
Arduino memiliki kelebihan tersendiri disbanding board
mikrokontroler
yang lain selain bersifat open source, arduino juga mempunyai
bahasa
pemrogramanya sendiri yang berupa bahasa C. Selain itu dalam
board arduino
sendiri sudah terdapat loader yang berupa USB sehingga
memudahkan kita ketika
kita memprogram mikrokontroler didalam arduino. Sedangkan pada
kebanyakan
board mikrokontroler yang lain yang masih membutuhkan rangkaian
loader
terpisah untuk memasukkan program ketika kita memprogram
mikrokontroler.
Port USB tersebut selain untuk loader ketika memprogram, bisa
juga difungsikan
sebagai port komunikasi serial.
Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input
analog dan
14 pin digital input/output. Untuk 6 pin analog sendiri bisa
juga difungsikan
sebagai output digital jika diperlukan output digital tambahan
selain 14 pin yang
sudah tersedia. Untuk mengubah pin analog menjadi digital cukup
mengubah
konfigurasi pin pada program. Dalam board kita bisa lihat pin
digital diberi
keterangan 0-13, jadi untuk menggunakan pin analog menjadi
output digital, pin
analog yang pada keterangan board 0-5 kita ubah menjadi pin
14-19. dengan kata
lain pin analog 0-5 berfungsi juga sebagi pin output digital
14-16.
Sifat open source arduino juga banyak memberikan keuntungan
tersendiri
untuk kita dalam menggunakan board ini, karena dengan sifat open
source
komponen yang kita pakai tidak hanya tergantung pada satu merek,
namun
memungkinkan kita bisa memakai semua komponen yang ada
dipasaran.
Bahasa pemrograman arduino merupakan bahasa C yang sudah
disederhanakan syntax bahasa pemrogramannya sehingga mempermudah
kita
dalam mempelajari dan mendalami mikrokontroler.
Berikut ini adalah konfigurasi dari arduino duemilanove 328
:
Mikronkontroler ATmega328
a. Beroperasi pada tegangan 5V
b. Tegangan input (rekomendasi) 7 - 12V
c. Batas tegangan input 6 - 20V
d. Pin digital input/output 14 (6 mendukung output PWM)
e. Pin analog input 6
f. Arus pin per input/output 40 mA
-
9
g. Arus untuk pin 3.3V adalah 50 mA
h. Flash Memory 32 KB (ATmega328) yang mana 2 KB digunakan
oleh
Bootloader. [2]
2.2.1.1. Power
Arduino dapat diberikan power melalui koneksi USB atau power
supply.
tenaganya diselek secara otomatis. Power supply dapat
menggunakan adaptor DC
atau baterai. Adaptor dapat dikoneksikan dengan mencolok jack
adaptor pada
koneksi port input supply. Board arduino dapat dioperasikan
menggunakan supply
dari luar sebesar 6 - 20 volt. Jika supply kurang dari 7V,
kadangkala pin 5V akan
menyuplai kurang dari 5 volt dan board bisa menjadi tidak
stabil. Jika
menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi
sangat panas
dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada
pada 7
sampai 12 volt.
2.2.1.2. Vin
Tegangan input ke board arduino ketika menggunakan tegangan dari
luar
(seperti yang disebutkan 5 volt dari koneksi USB atau tegangan
yang
diregulasikan). Pengguna dapat memberikan tegangan melalui pin
ini, atau jika
tegangan suplai menggunakan power jack, aksesnya menggunakan pin
ini.
2.2.1.3. Komunikasi Arduino Uno
Uno Arduino memiliki sejumlah fasilitas untuk berkomunikasi
dengan
komputer, Arduino lain, atau mikrokontroler lain. ATmega328 ini
menyediakan
UART TTL (5V) komunikasi serial, yang tersedia pada pin digital
0 (RX) dan 1
(TX). Sebuah ATmega16U2 pada saluran board ini komunikasi serial
melalui
USB dan muncul sebagai com port virtual untuk perangkat lunak
pada
komputer. Firmware 16U2 menggunakan USB driver standar COM, dan
tidak
ada driver eksternal yang dibutuhkan. Namun, pada Windows, file.
Inf diperlukan.
Perangkat lunak Arduino termasuk monitor serial yang
memungkinkan data
tekstual sederhana yang akan dikirim ke dan dari papan Arduino.
RX dan TX
LED di papan akan berkedip ketika data sedang dikirim melalui
chip USB-to-
-
10
serial
-
11
dan koneksi USB ke komputer (tetapi tidak untuk komunikasi
serial pada
pin 0 dan 1). Sebuah perpustakaan Software Serial memungkinkan
untuk
komunikasi serial pada setiap pin digital Arduino Uno
tersebut.
2.2.1.4. Bahasa Pemograman Arduino
Arduino menggunakan pemrograman dengan bahasa C. Untuk
memprogram Arduino digunakan software Arduino. Paket program
ini
menggunakan WinAVR sebagai kompilernya. Namun demikian, tidak
seperti
pemrograman WinAVR biasa, Arduino dilengkapi semacam framework
yang
dilengkapi fungsi-fungsi siap pakai sehingga memudahkan dalam
proses
pengembangan program. Berikut ini adalah sedikit penjelasan
singkat mengenai
karakter bahasa C dan software Arduino. Setiap program Arduino
(biasa
disebut sketch) mempunyai dua buah fungsi yang harus ada.
void setup ( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu
kali ketika
program Arduino dijalankan untuk pertama kalinya.
void loop ( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup)
selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi
secara terus
menerus sampai catu daya (power) dilepaskan.
1. Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk
format
penulisan. //(komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa
arti
dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis
miring dan
apapun yang kita ketikkan dibelakangnya akan diabaikan oleh
program.
/* */(komentar banyak baris)
Jika anda punya banyak catatan, maka hal itu dapat dituliskan
pada
beberapa baris sebagai komentar. Semua hal yang terletak di
antara dua
simbol tersebut akan diabaikan oleh program.
-
12
{ }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan
berakhir (digunakan juga pada fungsi dan pengulangan).
;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika
ada titik
koma yang hilang maka program tidak akan bisa dijalankan).
2. Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai
instruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah
yang
digunakan untuk memindahkannya. Berikut ini adalah contoh
beberapa macam
intruksi dari variabel.
int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak
mempunyai angka desimal dan menyimpan nilai dari -32,768 dan
32,767.
long
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte
(32 bit)
dari memori (RAM) dan mempunyai rentang dari -2,147,483,648
dan
2,147,483,647.
boolean
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE
(benar) atau FALSE (salah). Sangat berguna karena hanya
menggunakan 1 bit dari
RAM.
Float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte
(32 bit)
dari RAM dan mempunyai rentang dari -3.4028235E+38 dan
3.4028235E+38.
char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya A =
65). Hanya memakai 1 byte (8 bit) dari RAM.
3. Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja
seperti
-
13
matematika yang sederhana).
= Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya:
x = 10
* 2, x sekarang sama dengan 20).
%
Menghasilkan sisa dari hasil pembagian suatu angka dengan
angka
yang lain (misalnya: 12 % 10, ini akan menghasilkan angka
2).
+ (Penjumlahan)
- (Pengurangan)
* (Perkalian)
/ (Pembagian)
4. Operator Pembanding
Digunakan untuk membandingkan nilai logika.
= Sama dengan (misalnya : 12 == 10 adalah FALSE (salah) atau 12
== 12
adalah TRUE (benar)
!= Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar)
atau 12 !=
12 adalah FALSE (salah)
< Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah)
atau 12 < 12
adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar)
> Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar)
atau 12
> 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE
(salah).
2.2.1.5.Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan
dijalankan
berikutnya, berikut ini adalah elemen dasar pengaturan dan
beserta penjelasanya
(banyak lagi yang lain dan bisa dicari di internet).
if.else, dengan format sepertI if (kondisi) { }, else if
(kondisi){ } else { }
Dengan struktur seperti diatas program akan menjalankan kode
yang
ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak
FALSE maka
akan diperiksa apakah kondisi pada else if dan jika kondisinya
FALSE maka kode
pada else yang akan dijalankan.
-
14
for, dengan format seperti berikut ini:
for (int i = 0; i < #pengulangan; i++) { }
Digunakan bila anda ingin melakukan pengulangan kode di dalam
kurung
kurawal beberapa kali, ganti #pengulangan dengan jumlah
pengulangan yang
diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke
bawah dengan
i.
6. Digital pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor
pin
yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19).
Mode yang bisa
digunakan adalah INPUT atau OUTPUT.
digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut
dapat
dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan
menjadi ground).
digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat
menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah
HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi
ground).
7. Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan
untuk
beroperasi di dalam alam analog (menggunakan trik). Berikut ini
cara untuk
menghadapi hal yang bukan digital.
analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width
modulation)
yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup
(on)atau mati (off)
dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya
keluaran
analog. Value (nilai) pada format kode tersebut adalah angka
antara 0 ( 0% duty
cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat
membaca
-
15
keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0
volts) dan 1024
(untuk 5 volts). [3]
Salah satu kelebihan dari arduino Uno adalah didukung oleh
software
Arduino IDE (Integrated Development Enviroment) untuk melakukan
penulisan
pemrograman. Bahasa pemrogramannya berdasarkan bahasa C yang
mudah untuk
dipelajari dan sudah didukung oleh library yang lengkap. Berikut
ini adalah
contoh bahasa pemograman dalam softwere arduino.
Gambar 2.3 Bahasa pemrograman dalam softwere arduino
2.2.2. GCC AVR Gnu Compiler Collection merupakan sebuah project
compiler berbasis
open source untuk beberapa bahasa pemrograman. Karena sifatnya
yang "terbuka"
inilah membuat pengembang bahasa pemrograman untuk
microcontroller memilih
bahasa C yang digabungkan dalam environment GCC, sebagai
bahasa
pemrogramman pada beberapa compiler seperti WINAVR atau
TOOLCHAIN.
-
16
Kali ini akan kita bahas GCC yang digunakan paling umum
untuk
menyusun script dari pemrogramman AVR yang digunakan umum pada
AVR
STUDIO yatu WINAVR. Atmel sebagai produsen microcontroller AVR
memiliki
beberapa kerjasama dengan bahasa pemrograman lain seperti IAR
akan tetapi
banyak juga yang memilih versi gratisnya dengan menginstall
plugin WINAVR.
Pola pemrograman dari winavr umumnya seperti berikut :
Header
#define F_CPU 4000000UL
#include
#include
#include "coba.h"
uint8_t jam,menit,detik,show;
#define hidup PORTB|=_BV(PB3)
Pada bagian header ini dinyatakan beberapa syntax yang
berhubungan
dengan preprocessor (#define), variabel global serta "include"
yang merupakan
rujukan compiler untuk menyertakan file-file eksternal. mari
kita bahas satu
persatu.
#define nama kondisi
Setelah #define terdapat dua buah kalimat yang dipisahkan dengan
spasi.
Kalimat sebelah kiri merupakan rujukan sedangkan sebelah kanan
merupakan
proses yang dilakukan. Seperti contoh diatas maka dapat
diartikan bahwa setiap
syntax yang ditulis sebagai "nama" akan berubah menjadi
"kondisi", contoh lain
#define F_CPU 4000000UL berarti setiap syntax pada script yang
berisikan
"F_CPU" maka akan digantikan dengan "4000000UL".
Jika ditulis seperti ini #define hidup PORTB|=_BV(PB3) maka
setiap kita
menulis " hidup; " pada syntax maka akan terjadi kejadian pada
port B3 akan
menjadi "high" atau kalau menyingkat dalam penulisan dan
mempermudah proses
tracing atau debuging error(kesalahan) syntax serta jalannya
dari program yang
diinginkan.
-
17
#include "nama.file".
Bagian ini untuk melakukan penyertaan compiling kepada
file-file
external. Contoh yang paling gampang adalah #include dimana
compiler akan menyertakan directory pada instalasi WINAVR pada
folder
"include/avr" . File io.h merupakan file yang berisikan definisi
port input output
yang disesuaikan dengan jenis IC microcontroller yang digunakan.
Include yang
lain juga sangat berguna dan disesuaikan dengan kebutuhan,
contohnya delay.h
yang berhubungan dengan delay, interrupt.h yang berhubungan
dengan interupt,
string.h yang berhubungan dengan operasi string dan lain
sebagainya. Untuk file
include yang menggunakan tanda petik merupakan penyertaan file
lokal yang
diletakkan di folder atau direktori yang sama dengan direktori
project. [4]
int variabel;
Untuk menyimpan suatu nilai pada memory maka diperlukan
pemesanan
lokasi variabel terlebih dahulu. GCC memiliki cara dinamis untuk
menempatkan
memory sehingga memudahkan dalam penyusunan. Variabel ini
tentunya harus
diberitahukan jenisnya sehingga dapat dipesankan sesuai
kebutuhan. Contoh dari
tipe variabel yang sering digunakan adalah seperti LED akan
menyala, karena
syntax hidup telah diartikan sebagai syntax PORTB|=_BV(PB3) yang
merupakan
syntax untuk menghidupkan port B3.
Berguna sekali apabila kita menggunakan perulangan "kondisi"
yang
banyak sehingga :
- unsigned : menyatakan kalau tipe variabel berupa 8 bit
sehingga nilainya antara
0-255, sama seperti char
- int : integer, merupakan memory 16 bit memiliki nilai antara
-32768 sampai +
32767
ada beberapa tipe integer yang dapat diambil dengan menggunakan
#include
- uint8_t : 8 bit
- uint16_t: 16 bit
- uint32_t: 32 bit
-
18
Sebagai contoh kita akan menyimpan data karakter huruf, cukup
dengan
menggunakan unsigned char atau char saja karena karakter ascii
merupakan data
dengan lebar 8 bit. Sedangkan untuk perhitungan timer 16 bit
maka sebaiknya
menggunakan uint16_t yang memiliki lebar data 16 bit dan selalu
bernilai positif.
Dalam bahasa C semua kode dieksekusi berada dalam suatu
function.
Function adalah sebuah blok yang mempunyai nama yang melakukan
tugas dan
kemudian akan mengembalikan kontrol ke pemanggil. Perhatikan
bahwa bahasa
pemrograman lain mungkin membedakan antara "function",
"subroutine",
"subprogram", "procedure", atau "metode" - sedangkan dalam C hal
ini semuanya
sama dan bernama function.
Sebuah function sering dieksekusi (dipanggil) beberapa kali,
dari beberapa
tempat yang berbeda, selama eksekusi dari sebuah program.
Setelah
menyelesaikan subrutin, program ini akan bercabang dan kembali
ke titik setelah
dimana function ini dipanggil. Function adalah alat pemrograman
yang kuat yang
merupakan salah satu kelebihan bahasa C. Secara umum pada
pemrograman
microcontroller berbasis GCC - Winavr, pola function paling
utama adalah seperti
berikut:
int main(void)
{
uint8_t a;
DDRA |= (1
-
19
Function yang bernama main merupakan function utama dimana awal
dari
program microcontroller dimulai. Function ini sebaiknya
diberikan tipe data yang
akan di kembalikan (return) karena beberapa compiler menanggap
semua function
itu sama. Jika tidak diberi tipe maka di depan main diberikan
tanda void.
perhatikan jenis function berikut ini.
void coba_fungsi_1(void)
{ DDRA |= (1
-
20
kontaktor ( jadi satu dengan Kontaktor ) yang akan berfungsi
jika kontaktor
bekerja ( ON ) maka Timer juga bekerja ( ON ).
Off Delay adalah suatu Timer yang dihubungkan secara langsung
ke
kontaktor ( jadi satu dengan Kontaktor ) yang akan berfungsi
jika kontaktor
bekerja ( ON ) dan Timer tidak bekerja ( OFF ). adalah sebagai
pengatur waktu
bagi peralatan yang dikendalikannya. Timer ini dimaksudkan untuk
mengatur
waktu hidup atau mati dari kontaktor atau untuk merubah sistem
bintang ke
segitiga dalam delay waktu tertentu. Timer dapat dibedakan dari
cara kerjanya
yaitu timer yang bekerja menggunakan induksi motor dan
menggunakan
rangkaian elektronik. Timer yang bekerja dengan prinsip induksi
motor akan
bekerja bila motor mendapat tegangan AC sehingga memutar gigi
mekanis dan
memarik serta menutup kontak secara mekanis dalam jangka waktu
tertentu.
Sedangkan relay yang menggunakan prinsip elektronik, terdiri
dari rangkaian R
dan C yang dihubungkan seri atau paralel. Bila tegangan sinyal
telah mengisi
penuh kapasitor, maka relay akan terhubung. Lamanya waktu tunda
diatur
berdasarkan besarnya pengisisan kapasitor. Bagian input timer
biasanya
dinyatakan sebagai kumparan (Coil) dan bagian pengeluaranya
sebagai kontak NO
atau NC.
Kumparan pada timer akan bekerja selama mendapat sumber arus.
Apabila
telah mencapai batas waktu yang diinginkan maka secara otomatis
timer akan
mengunci dan membuat kontak NO menjadi NC dan NC menjadi NO.
Pada
umumnya timer memiliki 8 buah kaki yang 2 diantaranya merupakan
kaki coil
sebagai contoh pada gambar di atas adalah TDR type H3BA dengan 8
kaki yaitu
kaki 2 dan 7 adalah kaki coil, sedangkan kaki yang lain akan
berpasangan NO dan
NC, kaki 1 akan NC dengan kaki 4 dan NO dengan kaki 3. Sedangkan
kaki 8 akan
NC dengan kaki 5 dan NO dengan kaki 6. Kaki kaki tersebut akan
berbeda
tergantung dari jenis relay timernya. [6]
2.2.4. Interrupt Interrupt adalah suatu kejadian atau peristiwa
yang menyebabkan
mikrokontroler berhenti sejenak untuk melayani interrupt
tersebut.Yang harus
diperhatikan untuk menguanakan interupsi adalah, kita harus tau
sumber-sumber
-
21
interupsi, vektor layanan interupsi dan yang terpenting rutin
lyanan interupsi,
yaitu subrutinyang akan dikerjakan bila terjadi interupsi.
Analoginya adalah sebagai berikut, seseorang sedang mengetik
laporan,
mendadak telephone berdering dan menginterrupsi orang tersebut
sehingga
menghentikan pekerjaanmengetik dan mengangkat telephone.Setelah
pembicaraan
telephone yang dalam hal iniadalah merupakan analogi dari
Interrupt Service
Routine selesai maka orang tersebut kembalimeneruskan
pekerjaanya mengetik.
Demikian pula pada sistem mikrokontroler yang sedangmenjalankan
programnya,
saat terjadi interrupt, program akan berhenti sesaat,
melayaniinterrupt tersebut
dengan menjalankan program yang berada pada alamat yang ditunjuk
olehvektor
dari interrupt yang terjadi hingga selesai dan kembali
meneruskan program
yangterhenti oleh interrupt tadi. Seperti yang terlihat Gambar
di bawah, sebuah
program yang seharusnya berjalan terus lurus, tiba-tiba terjadi
interrupt dan harus
melayani interrupt tersebut terlebih dahulu hingga selesai
sebelum ia kembali
meneruskan pekerjaannya.
Gambar 2.4 Proses Interrupt
AVR menyediakan beberapa sumber interupsi yang berbeda.
Tiap-tiap
interupsi dan reset memiliki vektor program yang berbeda. Semua
interupsi
didasari satu bit tunggalyang harus diberi logika tinggi sebagai
Global Interrupt
Enable. i vektor interupsi seperti pada tabel di bawah ini.
Setiap interupsi yang
aktif akan dilayani segera setelah terjadi permintaan interupsi,
tapi jika dalam
waktu bersamaan terjadi lebih dari satu interupsi maka
perioritas yang akan
-
22
diselesaikan terlebih dahulu adalah interupsi yang memiliki urut
lebih kecil sesuai
tabel 19 berikut.
Tabel 2.1 Reset and interrupt vectors
Pada AVR terdapat 3 pin interupsi eksternal, yaitu INT0,INT1,dan
INT2.
Interupsi eksternal dapat dibangkitkan apabila ada perubahan
logika baik transisi
naik (rising edge) maupun transisi turun (falling edge) pada pin
interupsi. [7]
2.3. KOMPONEN PENDUKUNG 2.3.1. Sensor Infra Red (Infra
Merah)
Cahaya infra merah merupakan cahaya yang tidak tampak. Jika
dilihat
dengan spektroskop cahaya maka radiasi cahaya infra merah akan
terlihat pada
spektrum elektromagnet dengan panjang gelombang di atas panjang
gelombang
-
23
cahaya merah. Radiasi inframerah memiliki panjang gelombang
antara 700 nm
sampai 1 mm dan berada pada spektrum berwarna merah. Dengan
panjang
gelombang ini maka cahaya infra merah tidak akan terlihat oleh
mata namun
radiasi panas yang ditimbulkannya masih dapat
dirasakan/dideteksi.
Pada dasarnya komponen yang menghasilkan panas juga
menghasilkan
radiasi infra merah termasuk tubuh manusia maupun tubuh
binatang. Cahaya infra
merah, walaupun mempunyai panjang gelombang yang sangat panjang
tetap tidak
dapat menembus bahan-bahan yang tidak dapat melewatkan cahaya
yang nampak
sehingga cahaya infra merah tetap mempunyai karakteristik
seperti halnya cahaya
yang nampak oleh mata.
Pada pembuatan komponen yang dikhususkan untuk penerima infra
merah,
lubang untuk menerima cahaya (window) sudah dibuatkhusus
sehingga dapat
mengurangi interferensi dari cahaya non-infra merah. Oleh sebab
itu sensor infra
merah yang baik biasanya memiliki jendela (pelapis yang terbuat
dari silikon)
berwarna biru tua keungu-unguan. Sensor ini biasanya digunakan
untuk aplikasi
infra merah yang digunakan diluar rumah (outdoor).
Sinar infra merah yang dipancarkan oleh pemancar infra merah
tentunya
mempunyai aturan tertentu agar data yang dipancarkan dapat
diterima dengan baik
pada penerima. Oleh karena itu baik di pengirim infra merah
maupun penerima
infra merah harus mempunyai aturan yang sama dalam
mentransmisikan (bagian
pengirim) dan menerima sinyal tersebut kemudian mendekodekannya
kembali
menjadi data biner (bagian penerima). Berikut ini adalah contoh
gambar sensor
infra merah dan photo diode.
Gambar 2.5 sensor infra merah dan photo diode
-
24
Komponen yang dapat menerima infra merah ini merupakan
komponen
yang peka cahaya yang dapat berupa dioda (photodioda) atau
transistor
(phototransistor). Komponen ini akan merubah energi cahaya,
dalam hal ini
energi cahaya infra merah, menjadi pulsa-pulsa sinyal listrik.
Komponen ini harus
mampu mengumpulkan sinyal infra merah sebanyak mungkin sehingga
pulsa-
pulsa sinyal listrik yang dihasilkan kualitasnya cukup baik.
2.3.2. Fotodioda
Fotodioda adalah jenis dioda yang berfungsi mendeteksi
cahaya.
Fotodioda merupakan sensor cahaya semikonduktor yang dapat
mengubah
besaran cahaya menjadi besaran listrik. Fotodioda merupakan
sebuah dioda
dengan sambungan pn yang dipengaruhi cahaya dalam kerjanya.
Cahaya yang
dapat dideteksi oleh fotodioda ini mulai dari cahaya infra
merah, cahaya tampak,
ultra ungu sampai dengan sinar-X. Aplikasi fotodioda mulai dari
penghitung
kendaraan di jalan umum secara otomatis, pengukur cahaya pada
kamera serta
beberapa peralatan di bidang medis.
Gambar 2.6 Fotodioda
Prinsip kerja dari fotodioda jika sebuah sambungan-pn dibias
maju dan
diberikan cahaya padanya maka pertambahan arus sangat kecil
sedangkan jika
sambungan pn dibias mundur arus akan bertambah cukup besar.
Cahaya yang
dikenakan pada fotodioda akan mengakibatkan terjadinya
pergeseran foton yang
akan menghasilkan pasangan electron-hole dikedua sisi dari
sambungan. Ketika
elektron- elektron yang dihasilkan itu masuk ke pita konduksi
maka elektron-
elektron itu akan mengalir ke arah positif sumber tegangan
sedangkan hole yang
dihasilkan mengalir ke arah negatif sumber tegangan sehingga
arus akan mengalir
-
25
di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang
dihasilkan
tergantung dari besarnya intensitas cahaya yang dikenakan pada
fotodioda.
Alat yang mirip dengan fotodioda adalah fototransistor
(Phototransistor).
Fototransistor ini pada dasarnya adalah jenis transistor bipolar
yang
menggunakan kontak (junction) base-collector untuk menerima
cahaya.
Komponen ini mempunyai sensitivitas yang lebih baik jika
dibandingkan dengan
fotodioda. Hal ini disebabkan karena elektron yang ditimbulkan
oleh foton cahaya
pada junction ini diinjeksikan di bagian Base dan diperkuat di
bagian
Kolektornya. Namun demikian, waktu respon dari fototransistor
secara umum
akan lebih lambat dari pada fotodioda. [8]
2.3.3. LCD Liquid Crystal Display (LCD) merupakan Sebuah
teknologi layar digital
yang menghasilkan citra pada sebuah permukaan yang rata (flat)
dengan memberi
sinar pada kristal cair dan filter berwarna, yang mempunyai
struktur molekul
polar, diapit antara dua elektroda yang transparan. Bila medan
listrik diberikan,
molekul menyesuaikan posisinya pada medan, membentuk susunan
kristalin yang
mempolarisasi cahaya yang melaluinya.
Teknologi yang ditemukan semenjak tahun 1888 ini, merupakan
pengolahan kristal cair merupakan cairan kimia, dimana
molekul-molekulnya
dapat diatur sedemikian rupa bila diberi medan elektrik--seperti
molekul-molekul
metal bila diberi medan magnet. Bila diatur dengan benar, sinar
dapat melewati
kristal cair tersebut.
Tampilan Kristal Cair (Liquid Crystal Display) juga dikenal
sebagai LCD
adalah suatu jenis media tampilan yang menggunakan kristal cair
sebagai
penampil utama. LCD sudah digunakan di berbagai bidang misalnya
dalam alat-
alat elektronik seperti televisi, kalkulator ataupun layar
komputer.
Pada LCD berwarna semacam monitor terdapat banyak sekali titik
cahaya
(pixel) yang terdiri dari satu buah kristal cair sebagai sebuah
titik cahaya. Walau
disebut sebagai titik cahaya, namun kristal cair ini tidak
memancarkan cahaya
sendiri. Sumber cahaya di dalam sebuah perangkat LCD adalah
lampu neon
-
26
berwarna putih di bagian belakang susunan kristal cair tadi.
Titik cahaya
yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk
tampilan
citra. Kutub kristal cair yang dilewati arus listrik akan
berubah karena pengaruh
polarisasi medan magnetik yang timbul dan oleh karenanya akan
hanya
membiarkan beberapa warna diteruskan sedangkan warna lainnya
tersaring.
Berikut ini adalah contoh gambar LCD 16 x 2.
Gambar 2.7 LCD 16 x 2
Beberapa alasan yang menjadi petimbangan utama para pengguna
beralih
ke monitor LCD adalah, selain lebih artistik ketika dipandang,
harganya sudah
jauh lebih murah ketimbang tahun tahun sebelumya. Selain itu
secara kualitas
dan teknologi, monitor LCD juga sudah jauh lebih berkembang
dibanding tahun-
tahun sebelumbya. Belakangan, kalangan rumahan juga banyak yang
lebih
memilih monitor LCD ketimbang CRT, baik untuk penggunaan sandar
maupun
untuk beragam aplikasi sepetigame maupun sebagai perangkat
penampil
aplikasi digital home entertainment. [9]
2.3.4. LED Lampu LED atau kepanjangannya Light Emitting Diode
adalah suatu
lampu indikator dalam perangkat elektronika yang biasanya
memiliki fungsi untuk
menunjukkan status dari perangkat elektronika tersebut. Misalnya
pada sebuah
komputer, terdapat lampu LED power dan LED indikator untuk
processor, atau
dalam monitor terdapat juga lampu LED power dan power saving.
Lampu LED
terbuat dari plastik dan dioda semikonduktor yang dapat menyala
apabila dialiri
tegangan listrik rendah (sekitar 1.5 volt DC). Bermacam-macam
warna dan bentuk
-
27
dari lampu LED, disesuaikan dengan kebutuhan dan fungsinya.
Dibawah
ini adalah contoh gambar struktur dasar LED.
Gambar 2.8 Struktur Dasar LED
LED (Light Emitting Diode) merupakan sejenis lampu yang
akhir-akhir ini
muncul dalam kehidupan kita. LED dulu umumnya digunakan pada
gadget seperti
ponsel atau PDA serta komputer. Sebagai pesaing lampu bohlam dan
neon, saat
ini aplikasinya mulai meluas dan bahkan bisa kita temukan pada
korek api yang
kita gunakan, lampu emergency dan sebagainya. Led sebagai model
lampu masa
depan dianggap dapat menekan pemanasan glonal karena
efisiensinya.
Kualitas cahayanya memang berbeda dibandingkan dengan lampu TL
atau
lampu lainnya. Tingkat pencahayaan LED dalam ruangan memang tak
lebih
terang dibandingkan lampu neon, inilah mengapa LED dianggap
belum layak
dipakai secara luas. Untungnya para ilmuwan di University of
Glasgow
menemukan cara untuk membuat LED bersinar lebih terang.
Solusinya adalah
dengan membuat lubang mikroskopis pada permukaan LED sehingga
lampu bisa
menyala lebih terang tanpa menggunakan tambahan energi apapun.
Pelubangan
tersebut menerapkan sistem nano-imprint litography yang sampai
saat ini
proyeknya masih dikembangkan bersama-sama dengan Institute of
Photonics.
Sementara ini beberapa jenis lampu LED sudah dipasarkan oleh
Philips. Anda
bisa menemui beberapa model lampu LED bergaya bohlam yang hadir
dalam
warna putih susu dan juga warna-warni. Daya yang diperlukan
lampu jenis ini
hanya sekitar 4-10 watt saja dibandingkan lampu neon sejenis
yang mencapai
http://usmanft.blogspot.com/2006/05/led-sebagai-sumber-cahaya-masa-depan.htmlhttp://obengware.com/news/index.php?id=4027
-
28
1220 watt. Jika dihitung secara seksama memang bisa diakui bahwa
lampu
LED menggunakan daya yang lebih hemat daripada lampu TL.
Sumber cahaya dari waktu ke waktu semakin berkembang, mulai
dari
penemuan lampu pijar oleh Edison dan dalam waktu yang hampir
bersamaan
ditemukan juga lampu fluorescence (TL) dan merkuri. Saat ini ada
beberapa jenis
lampu yang digunakan manusia untuk berbagai keperluan, yaitu
lampu pijar, TL,
LED, Merkuri, Halogen, Sodium dan sebagainya. Namun masih ada
kekurangan
pada lampu generasi pertama sehingga lampu terus dikembangkan
agar bisa
menghasilkan cahaya yang terang, memberikan warna yang bagus,
hemat energi,
portable (mudah dibawa) dan lain sebagainya. Yang paling menarik
dari beberapa
jenis lampu adalah LED.
Lampu pijar lebih murah tapi juga kurang efisien dibanding LED.
Lampu
TL lebih efisien daripada lampu pijar, tapi butuh tempat besar,
mudah pecah dan
membutuhkan starter atau rangkaian ballast yang terkadang
terdengar suara
dengungnya. LED mempunyai beberapa keunggulan dibandingkan
dengan lampu
pijar konvensional. LED tidak memiliki filamen yang terbakar,
sehingga usia
pakai LED jauh lebih panjang daripada lampu pijar, LED tidak
memerlukan gas
untuk menghasilkan cahaya. Selain itu bentuk dari LED yang
sederhana, kecil dan
kompak memudahkan penempatannya. Dalam hal efisiensi, LED juga
memiliki
keunggulan. Pada lampu pijar konvensional, proses produksi
cahaya
menghasilkan panas yang tinggi karena filamen lampu harus
dipanaskan. LED
hanya sedikit menghasilkan panas, sehingga porsi terbesar dari
energi listrik yang
ada digunakan untuk menghasilkan cahaya dan membuatnya jauh
lebih efisien.
RGB (Red Green Blue) LED atau LED yang bisa mengeluarkan warna
yang
dipancarkan lebih dari satu warna sehingga memungkinkan aplikasi
LED yang
semakin luas, khususnya menambah keindahan dalam dunia desain
interior dan
eksterior.
Dalam terminologi teknik pencahayaan, LED dapat dikatakan
memiliki
tingkat efisiensi luminus (cahaya) atau efikasi yang tinggi,
karena perbandingan
banyaknya energi cahaya yang dikeluarkan LED dengan besarnya
daya listrik
yang dikonsumsinya cukup tinggi jika dibandingkan dengan lampu
pijar
konvensional. Salah satu contoh produk dari LED adalah LedVision
yang
-
29
dikeluarkan oleh Philips sebagai traffic light (lampu lalu
lintas) yang
tersusun dari ribuan LED yang dipasangkan pada lampu lalu lintas
dengan umur
(life time) mencapai 100.000 jam atau sekitar 10 tahun lebih
sehingga efektif
dalam mengurangi biaya perawatan.LedVision beroperasi pada
tegangan rendah
dan arus yang lebih kecil sehingga bisa menghemat sampai 90%
energi listrik
yang dikonsumsi oleh lampu pijar (yang sekarang banyak
digunakan) dan
umurnya 10 kali lebih panjang.
LED dengan cahaya monokromatiknya memiliki keunggulan
kekuatan
yang besar lebih dari cahaya putih ketika warna yang spesifik
diperlukan. tidak
seperti cahaya putih tradisional, LED tidak membutuhkan lapisan
atau diffuser
yang banyak mengabsorpsi cahaya yang dikeluarkan. cahaya LED
mempunyai
sifat warna tertentu, dan tersedia pada range warna yang lebar.
salah satunya yang
baru-baru ini warnanya diperkenalkan adalah emerald green
(bluish green,
panjang gelombangnya kira-kira 500nm) yang cocok dengan
persyaratan sebagai
sinyal lalu lintas dan cahaya navigasi. Cahaya LED kuning adalah
pilihan bagus
karena mata manusia sensitif pada cahaya kuning (kira-kira yang
dipancarkan
500lm/watt). Kelebihan LED dari lampu yang ada sekarang (lampu
pijar, TL,dll)
yaitu dalam hal efisiensi energi dan umur yang panjang
menjadikan LED sangat
berpotensi untuk dijadikan sumber pencahayaan pengganti lampu di
masa depan.
Kemajuan teknologi mungkin akan mengurangi biaya sehingga LED
bisa menjadi
idola sebagai lampu dimasa depan. [10]
2.3.5. Buzzer Buzzer adalah sebuah komponen elektronika yang
berfungsi untuk
mengubah getaran listrik menjadi getaran suara. Pada dasarnya
prinsip kerja
buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri
dari kumparan
yang terpasang pada diafragma dan kemudian kumparan tersebut
dialiri arus
sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke
dalam atau
keluar, tergantung dari arah arus dan polaritas magnetnya,
karena kumparan
dipasang pada diafragma maka setiap gerakan kumparan akan
menggerakkan
diafragma secara bolak-balik sehingga membuat udara bergetar
yang akan
-
30
menghasilkan suara. Buzzer biasa digunakan sebagai indikator
bahwa proses telah
selesai atau
-
31
terjadi suatu kesalahan pada sebuah alat (alarm). Berikut ini
adalah contoh
gambar buzzer.
Gambar 2.9 Buzzer
Buzzer dibagi menjadi beberapa jenis yaitu bedasarkan
teganganya, ada
yang 12 volt, ada yang 6 volt dan ada juga yang 3 volt. Apabila
akan
menggunakan buzzer maka dapat memilih jenis buzzer sesuai dengan
kebutuhan
atau yang diperlukan. [11]