Professional Documents
Culture Documents
LANDASAN TEORI
Gambar 2.1 Fisik dan skematik instalasi Water Flow Sensor G1/2
Name
Quantity/
kuantitas
Material
Valve body
PA66+33%glass fiber
Axis
Impeller
POM
Ring magnet
Ferrite
Middle ring
PA66+33%glass fiber
O-seal ring
Rubber
Rubber
Cover
PA66+33%glass fiber
10
Screw
11
Cable
1007 24AWG
Note/
catatan
3.0*11
Water flow sensor ini terdiri atas katup plastik, rotor air, dan sebuah sensor
hall-effect. Prinsip kerja sensor ini adalah dengan memanfaatkan fenomena efek
Hall. Efek Hall ini didasarkan pada efek medan magnetik terhadap partikel
bermuatan yang bergerak. Ketika ada arus listrik yang mengalir pada divais efek
Hall yang ditempatkan dalam medan magnet yang arahnya tegak lurus arus listrik,
pergerakan pembawa muatan akan berbelok ke salah satu sisi dan menghasilkan
medan listrik. Medan listrik terus membesar hingga gaya Lorentz yang bekerja
pada partikel menjadi nol. Perbedaan potensial antara kedua sisi divais tersebut
disebut potensial Hall. Potensial Hall ini sebanding dengan medan magnet dan
arus listrik yang melalui divais.
2.2
1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
2. ADC internal sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
7. Port antarmuka SPI
b. Data Memory
Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 8535.
Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk
Register File dan I/O Memory sementara 512 likasi address lainnya digunakan
untuk internal data SRAM. Register file terdiri dari 32 general purpose working
register, I/O register terdiri dari 64 register.
banyak
sekali
dalam
perancangan
suatu
system
Adapunkonfigurasidandeskripsidaripin-pin LCDantaralain:
VCC (Pin 1)
Merupakan sumber tegangan +5V.
GND 0V (Pin 2)
Merupakan sambungan ground.
VEE (Pin 3)
Merupakan input tegangan Kontras LCD.
RS Register Select (Pin 4)
Merupakan Register pilihan 0 = Register Perintah, 1 = Register Data.
R/W (Pin 5)
Merupakan read select, 1 = read, 0 = write.
Enable Clock LCD (Pin 6)
Merupakan masukan logika 1 setiap kali pengiriman atau pembacaan data.
D0 D7 (Pin 7 Pin 14)
Merupakan Data Bus 1 -7
Anoda ( Pin 15)
Merupakan masukan tegangan positif backlight
Katoda (Pin 16)
tempat karakter
yang ditampilkan.
Contohnya karakter A atau 41h yang ditulis pada alamat 00 akan tampil
pada baris pertama dan kolom pertama
tersebut di alamat 40h, karakter tersebut akan tampil pada baris kedua
kolom pertama dari LCD.
b. CGRAM
CGRAM merupakan memori untuk menggambarkan pola seluruh karakter
dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi
memori akan hilang saat power supply tidak aktif sehingga pola karakter
akan hilang.
c. CGROM
UJT,
BJT,
JFET,
MOSFET,
IGBT,
HBT,
MISFET,
anguage(assembly)danhighlevellanguage(C,Basic,Pascal,JAVA,dll)tergantungco
mpiler
yangdigunakan(WidodoBudiharto,2006).Bahasa
AssemblermikrokontrolerAVR
memilikikesamaaninstruksi,sehingga
mudah
menguasai
pemrograman
keseluruhan
serta lebih mudah untuk menangani project yang besar. Bahasa C memiliki
keuntungan-
keuntungan
yang
dimiliki
bahasa
dilakukan
dengan
bahasa
dengan
yanglebihsederhanadanmudah.BahasaCterletakdiantara
penyusunanprogram
bahasa
pemrograman
2.5
2.5.1
bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat
tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa
tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah
untuk membuat program pada berbagai mesin. Berbeda halnya dengan
menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada
jenis mesin.
Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada
tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program
dalam bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan
pengembangan program. Program yang ditulis dengan bahasa C mudah sekali
dipindahkan dari satu jenis program ke bahasa program lain. Hal ini karena
adanya standarisasi bahasa C yaitu berupa standar ANSI ( American National
Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.
2.5.2
menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus.
Pemberian pengenal pada program harus memenuhi syarat-syarat di bawah ini:
1. Karakter pertama tidak menggunakan angka;
2. Karakter kedua berupa huruf, angka, garis bawah,;
3. Tidak menggunakan spasi;
4. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap
berbeda;
5. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau
operator dari bahasa C.
Contoh menggunakan pengenal yang diperbolehkan:
1. Nama
2. _nama
3. Nama2
4. Nama_pengenal
Contoh penggunaan pengenal yang tidak diperbolehkan:
1. 2nama
2. Nama+2
3. Nama pengenal
Pemodifikasi Tipe
Persamaan
Jangkauan Nilai
Signed char
Char
Signed int
Int
Unsigned char
Tidak ada
0 s/d 255
Unsigned int
Unsigned
0 s/d 65.535
Unsigned short
0 s/d 65.535
Unsigned long
0 s/d 4.294.967.295
s/d
#include <mega.8535>
#include <delay.h>
Void main (void)
{
int a, b;
// pengenal
unsigned d, e;
a = 50;
b = 40;
d = 50;
e = 40;
PORTC
DDRC
PORTB
DDRB
=
=
=
=
0x00;
0Xff; //set PORTC sebagai output
0x00;
0Xff; // set PORTB sebagai output
While(1)
{
PORTB = a b;
PORTC = d e;
delay_ms(100);
};
}
Header
Header digunakan untuk menginstruksikan kompiler untuk menyisipkan
file lain. Di dalam file header ini tersimpan deklarasi, fungsi, variable, dan jenis
mikrokontroler yang kita gunakan (pada software Code Vision AVR). File-file
yang ber akhiran .h disebut file header.
File header yang digunakan untuk mendefinisikan jenis mikrokontroler
yang digunakan berfungsi sebagai pengarah yang mana pendeklarasian registerregister yang terdapat program difungsikan untuk jenis mikrokontroler apa yang
digunakan ( pada software Code Vision AVR ) contohnya di bawah ini:
#include <mega8535.h>
#include<delay.h>
#include <stdio. h>
2.5.5
Operator Aritmatika
Operator aritmatika digunakan untuk melakukan proses perhitungan
Keterangan
2.5.6
Operator Pembanding
Operator pembanding digunakan untuk membandingkan 2 data atau lebih.
Hasil operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika
salah. Operator pembanding dapat kita lihat pada tabel di bawah ini:
Operator Contoh Keterangan
==
!=
x != y
>
x>y
<
x<y
>=
x >= y
<=
x <= y
2.5.7
Operator Logika
Logika AND
Logika OR
Logika NOT
Contoh program:
Penjelasan program:
Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan
mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang
waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC
akan mengeluarkan logika 0x00.
>>
<<
b = 0x32 =
0011 0000
------------------------a & b = 0x10 = 0001 0000
Keterangan
Memberikan nilai variabel
Menambahkan nilai variabel
Mengurangi nilai variabel
Mengalikan nilai variabel
Membagi nilai variable
Memperoleh sisa bagi
Arti
&=
x &= 1
|=
x |= 1
~=
x ~= 1
x = ~ (1) ; x = 0xFE
^=
x ^= 1
<<=
>>=
Operator
Keterangan
++
--
Pengurangan
Pernyataan_1;
Pernyataan_2;
............;
}
2. Pernyataan else
if (kondisi)
{
Pernyataan_1;
............;
}
else
{
Pernyataan_2;
............;
}
3. If di dalam if
Pernyataan ini sering disebut nested if atau if bersarang. Salah satu
bentuknya adalah sebagai berikut:
if (kondisi1)
Pernyataan_1;
else if (kondisi2)
pernyataan_2;
else if (kondisi3)
pernyataan_3;
else
pernyataan;
contoh program:
if ( PINA.0 = =1)
{
PORTC = 0xff;
}
else
{
PORTC = 0x00;
}
Penjelasan program:
Jika PINA.0 diberi input logika 1 maka PORTC akan mengeluarkan logika
0xff, jika yang pernyataan yang lain maka PORTC akan mengeluarkan logika
0x00.
2.5.12 Pernyataan Switch
Pernyataan switch digunakan untuk melakukan pengambilan keputusan
terhadap banyak kemungkinana. Bentuk pernyataan switch adalah sebagai berikut:
Switch (ekspresi)
{
case nilai_1
: pernyataa_1;break;
case nilai_2
: pernyataan_2;break;
case niai_3
: pernyataan_3;break;
Defaut
: pernyataan_default;break;
dikerjakan apabila nilai ekspresi tidak ada yang sama satupun dengan salah satu
nilai_1, nilai_2, nilai_3 dan seterusnya. Setiap akhir dari pernyataan harus
diakhiri dengan break, karena ini digunakan untuk keuar dari pernyataan swich.
Contoh :
Switch (PINA)
{
case 0xFE
: PORT=0x00;break;
case 0xFD
: PORT=0xFF;break;
while (kondisi)
{
// sebuah pernyataan atau blok pernyataan
}
Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja
maka tanda { dan } bias dihilangkan.
Contoh :
unsigned char a=0;
..
while (a<10)
{
PORT=a;
a++;
}
Pernyataan di atas akan mengeluarkan data a ke port C secara berulangulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a
mencapai 10 maka pengulangan selesai.
{
// sebuah pernyataan atau b;ok pernyataan
} while (kondisi).
merupakan
pernyataan
pengetesan
untuk
mengontrol
BAB III
PERANCANGAN DAN SISTEM KERJA RANGKAIAN