Perancangan Alat Pengisi Cairan Dalam Gelas Secara Otomatis Menggunakan Sensor Ultrasonik & Sensor Hambatan Geser Berbasis Atmega8535

(1)

LISTING PROGRAM

#include <mega8535.h> #include <delay.h>

// Alphanumeric LCD functions #include <alcd.h>

#include <stdio.h>

// Declare your global variables here unsigned char x,buflcd[16];

unsigned int nilai_ADC,counter,set;

float nilai_total, nilai_hasil, nilai_rata,jarak,nilai_jarak,jarak_rata; int frekuensi=0;

float pulsa,vol,flowrate;

bit mode_auto,mode_volume,tbl_set; #define ADC_samp 25

#define triger PORTC.6 #define pin_triger DDRC.6 #define echo PINC.7 #define pin_echo DDRC.7 #define switch1 PIND.7 #define tombol1 PINB.7 #define tombol3 PINC.4 #define tombol2 PINC.3 #define pompa_aktif PORTC.5 // External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here frekuensi++;

}

// Timer1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {

// Reinitialize Timer1 value TCNT1H=0x85EE >> 8; TCNT1L=0x85EE & 0xff; // Place your code here pulsa=frekuensi; frekuensi=0; flowrate=pulsa/7.5; vol=vol+pulsa; }

void tampil_lcd(char x,char y,char flash *teks) {


(2)

lcd_gotoxy(x,y); lcd_putsf(teks); //lcd_clear(); }

// Voltage Reference: AVCC pin

#define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR)) // Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete while ((ADCSRA & (1<<ADIF))==0); ADCSRA|=(1<<ADIF);

return ADCW; }

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=P PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (1<<PORTB0);

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=Out Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC7) | (0<<DDC6) | (1<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit7=T Bit6=T Bit5=0 Bit4=T Bit3=T Bit2=T Bit1=T Bit0=P PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (1<<PORTC0);


(3)

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=P Bit5=P Bit4=P Bit3=P Bit2=T Bit1=P Bit0=P PORTD=(1<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (1<<PORTD3) | (0<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 31,250 kHz // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off

// Input Capture on Falling Edge // Timer Period: 1 s

// Timer1 Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (1<<CS12) | (0<<CS11) | (0<<CS10);

TCNT1H=0x85; TCNT1L=0xEE; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x80; OCR1BH=0x00; OCR1BL=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (1<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization // INT0: On

// INT0 Mode: Any change // INT1: Off

// INT2: Off

GICR|=(0<<INT1) | (1<<INT0) | (0<<INT2);

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (1<<ISC00); MCUCSR=(0<<ISC2);

GIFR=(0<<INTF1) | (1<<INTF0) | (0<<INTF2); // ADC initialization

// ADC Clock frequency: 500,000 kHz // ADC Voltage Reference: AVCC pin


(4)

// ADC High Speed Mode: Off

// ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE;

ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

SFIOR=(1<<ADHSM) | (0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("devi"); lcd_gotoxy(0,1); lcd_putsf("fis ekstnsi'14"); delay_ms(1500); lcd_clear(); #asm("cli") lcd_clear();tampil_lcd(0,0,"mode"); tampil_lcd(7,0,"auto"); tampil_lcd(7,1,"volume"); while (1) { if(tombol1==0) {lcd_clear();tampil_lcd(0,0,"mode"); tampil_lcd(7,0,"auto"); tampil_lcd(7,1,"volume"); } if(tombol2==0) {lcd_clear();tampil_lcd(0,0,"auto_mode");mode_auto=1;mode_volume=0;tbl_set=0;} if(tombol3==0) {lcd_clear();tampil_lcd(0,0,"volume_mode");mode_auto=0;mode_volume=1;tbl_set=0; } //mode auto;.

while(mode_auto==1 & tbl_set==0){ #asm("cli")

nilai_total = 0;nilai_hasil=0;nilai_jarak=0; for (x=0; x<ADC_samp; x++)

{

nilai_ADC = read_adc(0);

nilai_hasil=nilai_hasil + nilai_ADC; delay_ms(10); pin_triger=1; triger=1; delay_us(10); triger=0; pin_echo=0; counter = 0;


(5)

while (echo==1) {

counter++;

if ( counter > 13000) break; }

nilai_jarak=nilai_jarak + counter; }

nilai_rata = (float)nilai_hasil / ADC_samp; // nilai rata-rata nilai_total =(nilai_rata * 4.8825125);

jarak_rata=nilai_jarak/ADC_samp; jarak=(jarak_rata/34); lcd_clear(); sprintf(buflcd,"nl:%2.2f mV",nilai_total); lcd_gotoxy(0,0);lcd_puts(buflcd); sprintf(buflcd,"jrk:%2.2f cm",jarak); lcd_gotoxy(0,1);lcd_puts(buflcd);

if(switch1==0 & ((jarak+0.5)<nilai_total)){delay_ms(200);pompa_aktif=1;} if ((jarak+0.5)>=nilai_total){pompa_aktif=0;}

if(tombol1==0) tbl_set=1; }

while(mode_volume==1 & tbl_set==0){

if(tombol2==0) {set=set+50;delay_ms(250);} if(tombol3==0) {set=set-50;delay_ms(250);} if (set<50) set=3000;

if (set>3000) set=50;

sprintf(buflcd,"set vol:%2d ml",set); lcd_gotoxy(0,0);lcd_puts(buflcd); if(tombol1==0) {tbl_set=1;vol=0;} while(switch1==0 && vol<set){ #asm("sei");

pompa_aktif=1;

lcd_clear();sprintf(buflcd,"vol: %.2f ml",vol); lcd_gotoxy(0,0);lcd_puts(buflcd); } pompa_aktif=0;#asm("cli"); } } }


(6)

FOTO PERANCANGAN ALAT PENGISI CAIRAN OTOMATIS MENGGUNAKAN SENSOR HAMBATAN GESER BERDASARKAN


(7)

SKEMATIK RANGKAIAN PERANCANGAN ALAT PENGISI CAIRAN OTOMATIS MENGGUNAKAN SENSOR HAMBATAN GESER BERDASARKAN ATMEGA8535

U

n

iv

e

r

s

ita

s

Su

m

a

te

r

a

U

ta

r


(8)

DAFTAR PUSTAKA

Andi, Nalwan Paulus.2004.Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632.Jakarta:PT.Alex Media Komputindo.

Elektur.1996.302 Rangkaian Elektronika.Penerjemahan P.Pratomo dkk.Jakarta: Percetakan PT Gramedia.

Lingga, W. 2006. Belajar Sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.

Paulus Andi Nalwan.2003.Teknik Antarmuka dan Pemrograman Mikrokontroler AT89S51, Cetakan Pertama, Jakarta : PT Gramedia.

Retna Prasetia dan Catur Edi Widodo.Teori dan Praktek Interfacing Port Parallel & Port Serial Komputer dengan VB 6.0.Yogyakarta: Penerbit Andi. Riyanto Sigit.2007.Robotika, Sensor dan Aktuator.Yogyakarta : Graha Ilmu


(9)

BAB III

PERANCANGAN ALAT DAN PEMBUATAN SISTEM

3.1. Diagram Blok Sistem

Diagram merupakan pernyataan hubungan yang berurutan dari suatu atau lebih komponen yang memiliki kesatuan kerja tersendiri dan setiap blok komponen mempengaruhi komponen yang lainnya. Diagram blok merupakan salah satu cara yang paling sederhana untuk menjelaskan cara kerja dari suatu sistem. Dengan diagram blok kita dapat menganalisa cara kerja rangkaian dan merancang hardware yang akan dibuat secara umum.

Adapun diagram blok dari sistem yang dirancang, seperti yang diperlihatkan pada gambar 3.1.

A

T

M

E

G

A

8

5

3

5

SENSOR ULTRASONIK Tombol 1 LIMIT SWITCH SENSOR RESISTIF GESER SENSOR FLOWMETER Tombol 2 Tombol 3 DRIVER RELAY LCD WATERPUMP

Gambar 3.1. Diagram Blok Sistem


(10)

a. Blok Sensor Ultrasonik sebagai pengukur ketinggian cairan didalam gelas yang telah terisi.

b. Blok Sensor Geser Resistif sebagai pengukur ketinggian gelas.

c. Blok Sensor Flowmeter sebagai pengukur jumlah volume cairan yang telah disalurkan.

d. Input keypad sebagai input pilihan mode pada sistem alat

e. Limit switch sebagai penanda gelas telah diletakkan atau diangkat dari sistem alat. f. Blok mikrokontroller sebagai pengolah data dari sensor dan mengendalikan

Waterpump.

g. Blok LCD sebagai penampil hasil/data pengukuran. h. Blok driver relay sebagai pengendali on/off waterpump. i. Blok Waterpump sebagai penyalur cairan.

3.2. Rangkaian Mikrokontroler ATMega8535

Rangkaian sistem minimum mikrokontroler ATMEGA 8535 dapat dilihat pada gambar 3.2. di bawah ini :


(11)

Dari gambar 3.2, Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler ATMega8535. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Pin 12 dan 13 dihubungkan ke XTAL 16,000 MHz dan dua buah kapasitor 22pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler ATMega8535 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

Untuk men-download file heksadesimal kemikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke USB via programmer. Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemrograman mikrokontroler tidak dapat

dilakukan karena mikrokontroler tidak akan bisa merespon.

3.3. Rangkaian Sensor Ultrasonik

Rangkaian sensor ultrasonik dapat dilihat pada gambar 3.3. di bawah ini :


(12)

Di dalam blok sensor ultrasonic ada 2 rangkaian yang saling berhubungan yaitu Transmitter sebagai pengirim data dari objek ke benda dan Receiver sebagai penerima data dari benda ke objek.

Jarak antara ultrasonic tranducer Rx dan Tx mempengaruhi kinerja alat dalam aplikasi ini. Pengaturan resistor variabel R6 pada rangkaian receiver dapat dilakukan saat rangkaian dinyalakan yaitu dengan acuan tampilan LCD. Bila LCD selalu menampilkan “Distance = 001 cm” berarti jendela komparator terlalu sempit sehingga dapat di-trigger oleh gelombang ultrasonic langsung dari Tx bukan pantulan dari benda di depannya.

Proses pengukuran jarak dipicu dengan mengirimkan pulsa negatif (logika 0 / 0 V) selama 20 µs. Setelah perintah diterima dan dikenali, modul ultrasonic akan mulai mengukur jarak dengan menggunakan ultrasonic ranger. Selama modul sedang dalam proses mengukur jarak Proses pengukuran jarak akan berlangsung antara 100 µs – 25 ms tergantung pada berapa jarak obyek dan pengukuran apa saja yang dilakukan. Proses pengukuran tersebut memberi waktu untuk mengganti pin mikrokontroler yang dihubungkan ke pin SIG menjadi input dan menyiapkan mikrokontroler untuk menghitung lebar pulsa.

Setelah proses pengukuran selesai, modul ultrasonik akan mengirimkan data hasil pengukuran berupa pulsa negatif yang lebarnya proporsional terhadap jarak obyek yang diukur/dideteksi. Pulsa selebar 10 µs menyatakan jarak 1 mm. Jadi misalkan lebar pulsa yang dikirim adalah 10 ms, maka hasil pengukuran adalah 100 cm. Gambar 3.4 menunjukkan pulsa keluaran gelombang ultrasonik.

Gambar 3.4. Keluaran Pulsa Ultrasonik


(13)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontrole rmenjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil. Gambar 3.5 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.

Gambar 3.5. Rangkaian LCD

Dari gambar 3.5, rangkaian ini terhubungke PA.0... PA7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Analog and Digital Converter. Nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.

3.5. Rangkaian Relay

Relay berfungsi sebagai saklar elektronik yang dapat menghidupkan atau mematikan peralatan elektronik. Rangkaian relay pengendali waterump tampak seperti gambar 3.6 berikut :


(14)

Gambar 3.6. Rangkaian Relay Pengendali Waterpump

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt.

3.6. Rangkaian Input Push Button dan Limit Switch

Input yang digunakan untuk memilih mode pada sistem ini dan menentukan jumlah volume adalah tombol push button normally open yang dihubungkan ke ground, dengan alasan pada saat mikrokontroler dihidupkan pertama kali, akan menuliskan logika 0 pada semua port yang digunakan otomatis terkonfigurasi sebagai masukan impedansi rendah, program akan membaca kaki port logika 0 karena masukan tombol tekan disambung ke-ground. Tombol yang digunakan adalah jenis tactile switch berukuran kecil dengan jumlah total 3 buah tombol. Limit swicth yang digunakan untuk medeteksi keberadaan gelas juga merupakan active low, yaitu jika ditekan maka akan terhubung ke ground. Perancangan limit switch dan tombol diperlihatkan pada gambar 3.7. dibawah ini.


(15)

Gambar 3.7. Rangkaian Input Push Button & Limit Switch

3.7. Perancangan Rangkaian Sensor Potensio Geser

Perancangan ini menggunakan sensor potensio geser/resistor geser. Berbeda dengan potensiometer turn, jenis reistor ini akan berubah hambatan nya apabila di geser bukan diputar. Prinsip yang digunakan pada resistor jenis ini adalah prinsip pembagi tegangan. Adapun perancangan rangkaian potensio geser pada sistem diperlihatkan pada gambar 3.8. dibawah ini :

Gambar 3.8. Rangkaian Sensor Potensio Geser

Dengan metode tersebut maka tegangan keluaran dihasilkan melalui perbandingan sebagai berikut :


(16)

Dengan prinsip rangkaian diatas maka semakin tinggi saklar digeser maka semakin besar tegangan yang dihasilkan oleh sensor ini.

3.8. Perancangan Sensor Flowmeter

Pada rangkaian ini menggunakan sebuah Water Flow sensor terdiri dari katup plastik, rotor air, dan sensor hall efek. Ketika air mengalir melalui gulungan rotor-rotor, perubahan kecepatan aliran dengan tingkat yang berbeda sesuai output sinyal pulsa dari sensor hall efek. Kelebihan sensor ini adalah hanya membutuhkan 1 sinyal (SIG) selain jalur 5V dc dan Ground. Adapun perancangan snsor flowmeter dapat dilihat pada gambar 3.9. dibawah ini.

Gambar 3.9. Rangkaian Sensor Flowmeter

Pada rangkaian ini flowmeter dihubungkan dengan pin port D, sehingga mikrokontroler dapat membaca jumlah penggunaan volume air. 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


(17)

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.


(18)

3.9. Diagram Alir ( Flow Chart )

Mulai

Inisialisasi sistem

Pemilihan

Mode Mode Manual

Input Jumlah volume

Aktifkan Pompa

Sensor WaterFlow

Volume air<input jumlah volume

Matikan Pompa Mode otomatis

Pengukuran ketinggian gelas menggunakan

potensio geser

Penekanan tombol ON

Aktifkan Pompa

Pengukuran ketinggian cairan menggunakan

sensor ultrasonic

Ketinggian cairan>=Ketinggian

gelas

Matikan Pompa Selesai Ya

Ya

Tidak

Tidak

Tidak

Ya

Gambar 3.10. Flowchart Cara Kerja Sistem


(19)

Program dimulai dari start dan dilanjutkan dengan inisialisasi untuk memetakan memori dan port – port yang akan digunakan untuk keperluan pembacaan sensor dan port – port untuk menampilkan ke LCD.

Kemudian mikrokontroler akan memeriksa pemilihan mode yang digunakan. Pada mode manual, kita harus memasukan jumlah nilai volume air yang diinginkan (dikeluarkan). Kemudian pompa air akan aktif, lalu sensor waterflow akan memerika apakah volume air yang terisi lebih kecil daripada jumlah volume air yang diinginkan.

Jika ‘Tidak’, maka sensor waterflow akan mendeteksi terus – menerus. Jika ‘Ya’, maka pompa air akan dimatikan.

Pada mode otomatis, gelas akan diukur ketinggiannya secara otomatis oleh potensiometer geser, kemudian dilakukan pendeteksian penekanan tombol ON.

Jika ‘Tidak’, tidak akan ada proses yang dijalankan (sensor potensiometer geser akan terus mengukur ketinggian gelas).

Jika ‘Ya’, pompa air akan diaktifkan. Setelah pompa air aktif, dilakukan pengukuran ketinggian level cairan dalam gelas menggunakan sensor ultrasonic, lalu sensor ultrasonic memeriksa apakah ketinggian level cairan lebih besar atau sama dengan ketinggian gelas.

Jika ‘Ya’, pompa air akan dimatikan.

Jika ‘Tidak’, sensor ultrasonik akan terus mendeteksi ketinggian cairan dalam gelas.


(20)

BAB IV

PENGUJIAN ALAT DAN ANALISA RANGKAIAN

4.1. Pengujian Rangkaian Mikrokontroler ATMega8535

Pengujian pada rangkaian mikrokontroler ATMega8535 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 10 sebesar 4,9 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega 8535, program yang diberikan adalah sebagai berikut:

#include <mega8535.h> #include <delay.h> #include <stdio.h> while (1)

{

// Place your code here PORTC=0x00;

Delay_ms(1000); PORTC=0xFF; Delay_ms(1000);

}

4.2. Pengujian dan Analisa Rangkaian Sensor Ultrasonik

Pada gambar 3.2. dan 3.3. tentang rangkaian transmitter dan receiver terletak dalam 1 komponen melainkan masing-masing mempunyai fungsi. Untuk menganalisa rangkaian ultrasonik dapat di lihat pada tabel 4.1. di bawah ini.

Tabel 4.1. Data Jarak Deteksi Halangan Pengujian Jarak pengujian (cm)


(21)

ke - 5 8 10 12 14 16 1 4,99 8,00 10,00 11,87 13,95 15,89 2 5,30 8,10 10,00 11,98 13,97 15,95 3 5,00 8,00 10,34 11,98 13,97 16,11 4 5,10 8,00 10,00 11,97 13,97 15,95 5 5,00 8,00 10,20 11,97 13,97 16,21 Rata-rata 5,08 8,02 10,11 11,95 13,97 16,02 % Ralat 1,6% 0.2% 1,1% 7,9% 7,4% 0,1%

Pengujian jarak pendeteksian sensor ultrasonik dilakukan dengan mendekatkan dan menjauhkan posisi objek yang ada didepan sensor, dengan kondisi objek merupakan benda padat yang tidak menyerap atau terbuat dari bahan yang lunak. Untuk mengetahui kepekaan sensor ketika diberikan objek yang berbeda dilakukan sebanyak 5 kali pada masing-masing objek.

Hasil pengujian dapat membuktikan bahwa sensor ultrasonik bekerja berdasarkan kemampuan penghalang memantulkan kembali gelombang ultrasonik yang dikirim oleh sensor ultrasonik, gangguan pada pendeteksian sensor dapat diakibatkan oleh penghalang yang tidak mampu memantulkan gelombang bunyi dengan baik dan adanya interferensi gelombang dengan frekuensi yang sama. Pulsa selebar 10 µs menyatakan jarak 1 mm. Jadi misalkan lebar pulsa yang dikirim adalah 10 ms, maka hasil pengukuran adalah 100 cm.

Dapat di simpulkan bahwa cara kerja sensor ini ketika di beri penghalang/ benda yang menghalangi sensor maka akan menimbulkan tegangan sebesar pantulan yang di berikan. Setelah data di dapat berbentuk pulsa selanjutnya di baca oleh mikrokontroller untuk di konversi ke kode ASCII, selanjutnya data di kirim ke PC melalui serial port.

4.3. Pengujian dan Analisa Rangkaian Sensor Potensio Geser

Pengujian ini bertujuan untuk mengetahui kemampuan sensor untuk melakukan pengukuran tinggi gelas dengan jangkauan pengukuran 7-14 cm apakah hasilnya sesuai dengan tinggi gelas sesungguhnya. Pengujian ini dilakukan dengan melakukan


(22)

pengukuran gelas dengan tinggi yang berbeda-beda dan membandingkan hasilnya dengan tinggi sebenarnya. Hasil pengujian sensor tinggi gelas ditunjukkan dalam tabel 4.2. berikut.

Tabel 4.2. Data Jarak Pengukuran Potensiogeser

Pengujian ke -

Jarak pengujian (cm)

7 8 9 10 11 12 13 14

1 7,12 8,15 9,12 10,22 11,35 12,27 13,20 14,2 2 7,21 8,14 9,13 10,24 11,11 12,01 13,22 14,3 3 7,22 8,19 9,16 10,22 11,30 12,14 13,20 14,3 4 7,11 8,12 9,16 10,30 11,20 12,30 13,20 14,3 5 7,10 8,20 9,19 10,22 11,35 12,33 13,15 14,3 Rata-rata 7,15 8,16 9,15 10,24 11,26 12,21 13,19 14,28

% Ralat 2% 2,1% 1,6% 2,4% 2,3% 1,7% 1,5% 2%

Berdasarkan hasil pengujian diketahui ralat terbesar di jarak pengujian 10 cm yaitu 2,4%. Sementara ralat terkecil sebesar 1,5% pada jarak pengujian 13 cm.

4.4. Pengujian dan Analisa Rangkaian Sensor Flowmeter

Pengujian pada volume air yang terukur bertujuan untuk mengetahui tingkat ketepatan sensor water flowmeter. Volume air yang terukur akan menjadi acuan untuk hasil output yang dikeluarkan dari sensor yang dipakai tersebut. Pengujian sensor terhadap volume air yang terukur dilakukan secara bertahap, dimulai dari dari volume air yang kecil hingga yang besar yaitu dari 100 mililiter sampai dengan 1 liter. Hasil pengujian sensor flowmeter ditunjukkan dalam tabel 4.3. berikut.

Tabel 4.3. Data Hasil Pengujian Sensor Flowmeter Pengujian

ke -

Volume Pengujian (mL)

100 300 500 700 900 1000

1 100 315 530 720 920 1050

2 105 310 515 735 950 1030


(23)

Rata-rata 103 316 520 725 947 1037 %Ralat 3% 5,3% 4% 3,5% 5,2% 3,7%

Berdasarkan hasil pengujian diketahui ralat terbesar pada pengujian 300 ml yaitu 5,3%. Sementara ralat terkecil sebesar 3% pada pengujian 100 ml.

4.5. Pengujian Rangkaian Relay

Jika diinputkan logika high dari mikro yang terhubung pada port C5 maka relay akan aktif dan mengeluarkan tegangan 12 Volt. Saat diinputkan logika low dari mikro, maka relay tidak aktif dan tidak mengeluarkan tegangan.

Listing programnya adalah sebagai berikut: #include <mega8535.h>

#include <delay.h> #include <stdio.h> while (1)

{

// Place your code here PORTC=0x01;

Delay_ms(1000); PORTC=0x00; Delay_ms(1000);

}

Saat program dijalankan, relay akan aktif dan menarik solenoid, kemudian satu detik kemudian, relay non aktif. begitu seterusnya. Solenoid yang berfungsi sebagai pengunci pintu dalam pengujian ini bisa berjalan dengan baik seperti yang diharapkan. Pengujian pada relay dapat dilihat pada tabel 4.4.

Tabel 4. 4. Pengujian Relay

No. Detik ke- Logika mikro Kondisi Relay Status motor

1. 1 High Terhubung Hidup


(24)

Pada rangkaian ini untuk mengaktifkan atau menon-aktifkan relay digunakan transistor tipe NPN. Dari gambar 3.6. dapat dilihat bahwa negatif relay dihubungkan ke kolektor dari transistor NPN (C945) dan positif relay dihubungkan pada tegangan 12 volt., ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emittor dimana emittor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktif. Disaat relay aktif maka kaki-kaki relay yang berfungsi sebagai Normally Close sudah mendapatkan tegangan 12 volt. Sementara kaki-kaki relay yang berfungsi sebagai Normally Open masih belum mendapatkan tegangan 12 volt sebelum ada inputan (inputan berupa logika high atau 5 volt).

Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan relay tidak aktif. Resistor didalam rangkaian berfungsi sebagai pull up untuk menaikkan tegangan agar inputan mikrokontroler sanggup mengaktifkan relay. Dioda dihubungkan secara terbalik untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya, sentakan itu hanya terjadi ketika relay dinonaktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda sentakan listrik itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

4.6. Pengujian Input Push Button dan Limit Switch

Keypad yang digunakan pada penelitian ini merupakan keypad aktif low. Keypad ini dapat dihubungkan langsung pada port mikrokontroler. Dimana port yang dipakai untuk pengujian keypad pada penelitian ini adalah portB7 dan dari portD0-portD1 & portD7.

Keypad ini bekerja dengan sistem aktif low. Setiap penekanan pada salah satu keypad akan membuat pin pada port yang terhubung dengan keypad akan berlogika low. Hasil pengujian keypad ditunjukkan dalam tabel 4.5.

Tabel 4.5. Hasil pengamatan pada pengujian keypad


(25)

2 0 1

3 0 1

Limit switch 0 1

Dengan adanya respon yang terlihat pada port disetiap penekanan keypad, maka keypad tersebut dianggap berfungsi dan dapat digunakan dalam penelitian ini.

4.7. Pengujian Rangkaian LCD

Rangkaian LCD dihubungkan ke PB.0 .... PB.6, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komparator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.

Pada bagian ini, mikrokontroler dapat memberi data langsung ke LCD. Pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.

Pengujian rangkaian LCD dilakukan dengan memberikan program pada mikrokontroller untuk menampilkan karakter pada display LCD. Programnya adalah sebagai berikut :

#include <mega8535.h> #asm

.equ __lcd_port=0x18 ;PORTB #endasm

#include <lcd.h> void main(void) {

lcd_init(16); lcd_clear(); while (1) {

// Place your code here lcd_gotoxy(6,0);

lcd_putsf("Devi"); lcd_gotoxy(4,1);


(26)

lcd_putsf("ekstensi"); delay_ms(500);

} }

Program ini telah berjalan dengan baik dan sesuai dengan kebutuhan pada perancangan.

4.8. Pengujian Sistem Secara Keseluruhan

Pengujian keseluruhan sistem dilakukan dengan menyambungkan blok perangkat keras dan perangkat lunak yang telah dibuat kemudian menjalankan sistem. Dengan pengujian ini dapat dianalisis apakah alat ini bekerja sesuai dengan spesifikasi yang diharapkan. Proses pengujian ini melibatkan 2 mode pengisian pada sistem yaitu mode auto dan mode volume. Pada mode auto, pengisian gelas akan ditentuakan dari ketinggian potensio geser dalam mendeteksi ketinggian mulut gelas dan sensor ultrasonik dalam mendeteksi ketinggian pengisian permukaan air. Pengujian mode ini menggunakan 6 buah gelas dengan ketinggian yang berbeda-beda. Masing-masing gelas akan diisi berdasarkan ketinggian mulut gelas. Parameter penuh didalam pengujian ini adalah sampai mulut gelas. Hasil pengujian sistem dengan mode auto dapat dilihat pada tabel 4.6 dibawah ini.

Tabel 4.6. Pengujian Sistem dengan Mode Auto

Gelas ke- Ketinggian gelas (cm)

Ketinggian permukaan air di gelas

Jarak air dari mulut gelas (cm)

Error (cm)

1 7 5,8 1,2 0,2

2 9 8 1 0

3 10 8,8 1,2 0,2

4 11 11 0 1

5 12 12 0 1

6 14 12,5 1,5 0,5

Berdasarkan hasil pengujian keseluruhan sistem menggunakan 6 gelas yang berbeda dalam Tabel 4.6 diketahui bahwa sistem mampu mengisi gelas hingga penuh


(27)

dengan error terbesar 1 cm. Error ini dapat terjadi karena adanya riak pada permukaan air sehingga sensor tidak dapat mengukur jarak dengan tepat. Pengisian air dapat berhenti sebelum air tumpah / melebihi ketinggian mulut gelas.

Pada mode volume, sistem akan mengisi wadah berdasarkan parameter yang diinput pada sistem, parameter yang di input 50 mL - 1000 mL dengan rentang 100 mL. Hasil pengujian sistem dengan mode volume dapat dilihat pada tabel 4.7. dibawah ini.

Tabel 4.7. Pengujian Sistem dengan Mode Volume Volume

wadah (mL)

Volume Pengisian (mL)

Error (mL)

50 50 0

100 110 10

200 220 20

300 315 15

400 420 20

500 490 10

600 625 25

700 700 0

800 790 10

900 930 30

1000 1030 30

Berdasarkan hasil pengujian keseluruhan sistem yang menggunakan mode volume pada tabel 4.7 diketahui bahwa sistem mampu mengisi gelas dengan error sebesar 30 mL. Error ini terjadi karena pengaruh kecepatan motor pompa yang sudah mulai kepanasan sehingga tidak maksimal dalam mengalirkan air dan kepresisian dari sensor flowmeter itu sendiri dalam menghitung volume air yang mengalir.


(28)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah dilakukan pengujian hasil perancangan alat pengisi cairan otomatis, dapat di ambil beberapa kesimpulan :

dapat di ambil beberapa kesimpulan :

1. Telah berhasil dirancang sebuah alat yang dapat mengisi cairan ke dalam gelas secara otomatis menggunakan sensor ultrasonik, limit switch dan sensor hambatan geser, serta dapat mengisi cairan ke dalam gelas berdasarkan inputan volume menggunakan sensor flow meter dan limit switch.

2. Alat ini telah berfungsi sesuai rancangan dengan error pada mode otomatis terbesar 1 cm dan pada mode volume dengan error terbesar 30 ml.

5.2. Saran

Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah: 1. Alat ini masih memerlukan bantuan manusia untuk membantu dalam

pengukuran ketinggian gelas. Untuk lebih sempurna, alat ini dapat dikembangkan agar mampu mendeteksi ketinggian gelas tanpa bantuan manusia dengan sensor yang berbeda.

2. Alat ini dapat dikembangkan lagi agar mampu mengisi cairan ke dalam gelas dengan ukuran volume yang sama untuk setiap gelas.


(29)

BAB II

LANDASAN TEORI

Pengetahuan yang mendukung perencanaan dan realisasi alat dalam skripsi ini, meliputi : limit switch, sensor resistif geser, sensor ultrasonik, sensor flowmeter, mikrokontroler, dan codevision AVR.

2.1. Perangkat Keras (Hardware) 2.1.1. Limit Switch

Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi menggantikan tombol. Namun sistem kerja limit switch berbeda dengan saklar pada umumnya, jika pada saklar umumnya sistem kerjanya akan diatur/ dikontrol secara manual oleh manusia (baik diputar atau ditekan). Sedangkan limit switch dibuat dengan sistem kerja yang berbeda, limit switch dibuat dengan sistem kerja yang dikontrol oleh dorongan atau tekanan (kontak fisik) dari gerakan suatu objek pada aktuator, sistem kerja ini bertujuan untuk membatasi gerakan ataupun mengendalikan suatu objek/mesin tersebut, dengan cara memutuskan atau menghubungkan aliran listrik yang melalui terminal kontaknya. Bentuk fisik limit switch dapat dilihat pada gambar 2.1.

Gambar 2.1. Bentuk Fisik Limit Swicth


(30)

Gambar 2.2. Sistem Kerja Limit Switch

Limit switch memiliki 2 kontak yaitu NO (Normally Open) dan kontak NC (Normally Close) dimana salah satu kontak akan aktif jika tombolnya tertekan. Konstruksi dan simbol limit switch dapat dilihat seperti gambar 2.3. di bawah.

Gambar 2.3. Konstruksi dan Simbol Limit Switch

2.1.2. Sensor Resistif Geser (Potensiometer Geser)

Potensiometer adalah salah satu jenis resistor yang nilai resistansinya dapat diatur sesuai dengan kebutuhan pemakainya. Potensiometer merupakan keluarga resistor yang tergolong dalam kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya. Gambar 2.4. dibawah ini menunjukan bentuk fisik potensiometer geser.


(31)

Gambar 2.4. Bentuk Fisik Potensiometer Geser

Cara kerja potensiometer geser yaitu dengan cara menggeserkan Wiper-nya dari kiri ke kanan atau dari bawah ke atas sesuai dengan pemasangannya. Biasanya menggunakan Ibu Jari untuk menggeser wiper-nya.

2.1.3. Sensor Ultrasonik HC-SR04

Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang dimana sensor menghasilkan gelombang pantulan ke benda yang kemudian menangkapnya kembali dengan perbedaan waktu sebagai dasar perhitungannya.. Perbedaan waktu antara gelombang pantulan yang di kembalikan dan yang diterima kembali adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya.. Jenis objek yang dapat di indranya adalah padat, cair dan butiran. Tanpa kontak jarak 2 cm sampai 4 meter dengan akurasi 3 mm dan dapat dengan mudah dihubungkan dengan mikrokontroler malalui satu pin I/O saja. Bentuk fisik sensor ultrasonik dapat dilihat pada gambar 2.5.

Gambar 2.5. Bentuk Fisik Sensor Ultrasonik HC-SR04

Spesifikasi: :

a. Memiliki 2 jenis antarmuka yang dapat aktif bersamaan, yaitu I2C-bus (fSCL maks. 65 kHz) dan pulse width (10µs/mm).


(32)

b. 8 modul dapat digunakan bersama dalam satu sistem I2C-bus yang hanya membutuhkan 2 pin I/O mikrokontroler saja.

c. Membutuhkan catu daya tunggal +5 VDC, dengan konsumsi arus 17 mA typ (tanpa sensor infrared ranger).

d. Terdapat 2 mode operasi yaitu full operation dan reduced operation. Pada mode reduced operation beberapa komponen ultrasonic ranger akan dimatikan (saat idle) dan konsumsi arus mejadi 13 mA typ.

e. Terdiri dari sebuah ultrasonic ranger dengan spesifikasi: Mengukur jarak dari 2 cm hingga 4 m tanpa dead zone atau blank spot. Obyek dalam jarak 0 - 2 cm dideteksi sebagai 2 cm. Menggunakan burst sinyal kotak 16 Vp-p dengan frekuensi 40 kHz.

f. Dapat dihubungkan dengan maksimum 2 buah infrared ranger Sharp GP2D12 yang memiliki jangkauan pengukuran 10 - 80 cm.

g. Data keluaran sudah siap pakai dalam satuan mm (untuk antarmuka I2C) sehingga mengurangi beban mikrokontroler.

h. Ketelitian pengukuran jarak (ranger) adalah 5mm.

i. Siklus pengukuran yang cepat, pembacaan dapat dilakukan tiap 25 ms (40 Hz rate).

j. Memerlukan input trigger berupa pulsa negatif TTL (20µs min.) untuk antarmuka pulse width.

k. Tersedia 1 pin output yang menunjukkan aktifitas sensor, dapat tidak dimanfaatkan.

l. Tidak diperlukan waktu tunda sebelum melakukan pengukuran berikutnya. m. Kompensasi kesalahan dapat diatur secara manual untuk mengurangi pengaruh

faktor perubahan suhu lingkungan dan faktor reflektifitas obyek.

Cara menggunakan sensor ultrasonik yaitu: ketika kita memberikan tegangan positif pada pin Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz. Selanjutnya, sinyal akan diterima pada pin Echo. Untuk mengukur jarak benda yang memantulkan sinyal tersebut, maka selisih waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut.

Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan


(33)

menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan gelombang ultrasonik menuju suatu area atau suatu target. Setelah gelombang menyentuh permukaan target, maka target akan memantulkan kembali gelombang tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor, kemudian sensor menghitung selisih antara waktu pengiriman gelombang dan waktu gelombang pantul diterima. Cara kerja sensor ultrasonik dengan transmitter dan receiver dapat dilihat pada gambar 2.6.

Gambar 2.6. Cara kerja sensor ultrasonik dengan transmitter dan receiver (atas), sensor ultrasonik dengan single sensor yang berfungsi sebagai transmitter dan receiver sekaligus

Secara detail, cara kerja sensor ultrasonik adalah sebagai berikut:

a. Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.


(34)

b. Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan oleh benda tersebut.

c. Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan rumus :

S = 340.t/2

dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul), dan t adalah selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika gelombang pantul diterima receiver.

2.1.4. Sensor Flowmeter EGO A-7

Sensor flowmeter terdiri dari tubuh katup plastik, rotor air, dan sensor efek hall. Ketika air mengalir melalui, gulungan rotor-rotor.Kecepatan perubahan dengan tingkat yang berbeda aliran. Sesuai sensor efek hall output sinyal pulsa. Kelebihan sensor ini adalah hanya membutuhkan 1 sinyal (SIG) selain jalur 5V dc dan Ground. Bentuk fisik sensor flowmeter dapat dilihat pada gambar 2.7.

Gambar 2.7. Bentuk Fisik Sensor Flowmeter EGO A-7

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


(35)

potensial antara kedua sisi divais tersebut disebut potensial Hall. Potensial Hall ini sebanding dengan medan magnet dan arus listrik yang melalui divais.

2.1.5. Mikrokontroller Atmega 8535

Mikrokontroler merupakan sebuah single chip yang didalamnya telah dilengkapi dengan CPU (Central Processing Unit), RAM (Random Access Memori), ROM (Read Only Memori), Input dan Output, Timer/Counter, Serial com port secara spesifik digunakan untuk aplikasi – aplikasi kontrol dan aplikasi serbaguna. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. Read Only Memori (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Memori penyimpanan program dinamakan sebagai memori program. Random Access Memori (RAM) isinya akan langsung hilang ketika IC kehilangan catudaya yang dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychronous Receiver Transmitter) yaitu port serial komunikasi serial asinkron, USART (Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter) yaitu port yang digunakan untuk komunikasi serial sinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI (Serial Port Interface), SCI (Serial Communication Interface), Bus RC (Intergrated circuit Bus) merupakan 2 jalur yang terdapat 8 bit, CAN (Control Area Network) merupakan standart pengkabelan SAE (Society of Automatic Engineers).

UART atau Universal Asynchronous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan. Berbeda dengan model synchronous yang terdapat pada protokol SPI (Serial Peripheral Interface) dan I2C (Inter-Integrated Circuit) karena protokol membutuhkan minimal dua kabel dalam transmisi data, yaitu transmisi clock dan data. Namun kelemahan model asynchronous adalah dalam hal kecepatannya dan jarak transmisi. Karena semakin cepat dan jauhnya jarak transmisi


(36)

membuat paket-paket bit data menjadi terdistorsi sehingga data yang dikirim atau diterima bisa mengalami error.

Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu.

Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Mikrokontroler saat ini merupakan chip utama pada hampir setiap peralatan elektronika canggih. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16 bit (16 bit word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51 yang membutuhkan siklus 12 clock. AVR berteknologi RISC (Reduce Instruction Set Computing), sedangkan seri MCS51berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dikelompokkan menjadi beberapa kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing – masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

2.1.5.1. Fitur ATMega8535

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut: 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


(37)

9. Antarmuka komparator analog. 10. Port USART untuk komunikasi serial.

11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.

Keterangan:

a. Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil perencanaan, yang harus dijalankan oleh mikrokontroler.

b. RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running. c. EEPROM (Electrically Erasable Programmable Read Only Memory) adalah

memori untuk penyimpanan data secara permanen oleh program yang sedang running.

d. Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program.

e. Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa.

f. UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous.

g. PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa. h. ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal

analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu.

i. SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous.

j. ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal.

2.1.5.2. Konfigurasi Pin ATMega 8535

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada gambar xxxxxx. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground.


(38)

3. Port A (PortA0…PortA7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan dan pin fungsi khusus, yaitu Timer/Counter, komparator Analog dan SPI.

5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi khusus, yaitu komparator analog dan Timer Oscillator.

6. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi khusus, yaitu komparator analog dan interrupt eksternal serta komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler, pada pin ini

selama lebih dari panjang pulsa minimum akan menghasilkan reset walaupun clock sedang berjalan. RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan di-reset 8. XTAL1 merupakan Input penguat osilator inverting dan input pada rangkaian

operasi clock internal.

9. XTAL2 merupakan Output dari penguat osilator inverting.

10. AVCC merupakan pin masukan tegangan untuk ADC. Pin tegangan suplai untuk port A dan ADC. Pin ini harus dihubungkan ke Vcc walaupun ADC tidak digunakan, maka pin ini harus dihubungkan ke Vcc melalui low pass filter

11. AREFF merupakan pin masukan tegangan referensi ADC.

Adapun konfigurasi pin ATmega8535, seperti yang diperlihatkan pada gambar 2.8.


(39)

Berikut ini penjelasan mengenai konfigurasi pin ATMega8535 sebagai berikut : 1. Port A

Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai input, atau diisi 1 jika sebagai output.

2. Port B

Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi alternatif khusus, seperti yang dapat dilihat dalam tabel 2.1.

Tabel 2.1. Penjelasan pin pada port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output) PB.5 VOSI (SPI Bus Master Output/Slave Input) PB.4 SS (SPI Slave Select Input)

PB.3 AIN1 (Analog Comparator Negative Input)OCC (Timer/Counter0 Output Compare Match Output)

PB.2 AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt2 Input)


(40)

PB.1 T1 (Timer/Counter1 External Counter Input)

PB.0 T0 (Timer/Counter0 External Counter Input)XCK (JSART External Clock Input/Output)

3. Port C

Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri merupakan port input atau output. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus di-setting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port C juga memiliki fungsi-fungsi alternatif khusus, seperti yang dapat dilihat dalam tabel 2.2.

Tabel 2.2. Penjelasan pin pada port C Pin Keterangan

PC.7 TOSC2 (Timer Oscillator Pin 2) PC.6 TOSC1 (Timer Oscillator Pin 1)

PC.1 SDA (Two-Wire Serial Bus Data Input/Output Line) PC.0 SCL (Two-Wire Serial Bus Clock Line)

4. Port D

Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur perx bit). Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel 2.3.


(41)

Tabel 2.3. Penjelasan pin pada port D

Pin Keterangan

PD.0 RDX (UART input line) PD.1 TDX (UART output line) PD.2 INT0 (external interrupt 0 input) PD.3 INT1 (external interrupt 1 input)

PD.4 OC1B (Timer/Counter1 output compareB match output) PD.5 OC1A (Timer/Counter1 output compareA match output) PD.6 ICP (Timer/Counter1 input capture pin)

PD.7 OC2 (Timer/Counter2 output compare match output)

2.1.5.3. Peta Memori ATMega 8535

ATMega8535 memiliki dua jenis memori yaitu Data Memori dan Program Memori ditambah satu fitur tambahan yaitu EEPROM Memori untuk penyimpan data.

1. Program Memori

ATMEGA 8535 memiliki On-Chip In-Sistem Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memori dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.

Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman. Adapun peta memori ATmega8535 dapat diperlihatkan pada gambar 2.9.


(42)

2. Data Memori

Gambar 2.10. menunjukkan peta memori SRAM pada ATMEGA 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memori sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

Gambar 2.10. Peta Memori Data

3. EEPROM Data Memori

ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan sistem address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF. Peta eprom dapat dilihat pada gambar 2.11.


(43)

Gambar 2.11. EEPROM Data Memori

2.1.5.4. Status Register (SREG) ATMega8535

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler. Gambar 2.12 menunjukkan status register atmega8535.

Gambar 2.12. Status Register ATMega 8535

1. Bit 7-I : Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat mengaktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T : Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BDL.

3. Bit 5-H : half Carry Flag 4. Bit 4-S : Sigh Bit


(44)

Bit-S merupakan hasil operasi EOR antara Flag-N (negatif) dan flag V (komplemen dua overflow).

5. Bit 3-V : Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika. 6. Bit 2-N : Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan di-set. 7. Bit 1-Z : Zero Flag

Bit akan di-set bila hasil operasi yang diperoleh adalah nol. 8. Bit 0-C : Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan di-set.

Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Logika port I/O dapat berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.

2.1.6. Tactile Push Button

Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal. Bentuk fisik push button dapat dilihat pada gambar 2.13.


(45)

Gambar 2.13. Bentuk Fisik Push Button Switch

Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2 kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan Off.

Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator, push button switch menjadi device paling utama yang biasa digunakan untuk memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push button switch atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On dan Off.

2.1.7. Water Pump

Di dalam penelitian ini water pump merupakan salah satu bagian yang sangat vital fungsinya karena merupakan komponen utama dalam proses pengisian cairan. Water pump digunakan untuk mengambil cairan dari dalam sumber cairan melalui selang. Water pump bekerja secara otomatis sesuai dengan keadaan relay. Bila relay dalam keadaan menyambung maka water pump secara otomatis akan hidup, dan apabila relay dalam keadaan memutus maka pompa akan mati. Pompa ini dialiri arus AC 220V. Bentuk fisik water pump dapat dilihat pada gambar 2.14.


(46)

Gambar 2.14. Bentuk Fisik Water Pump

2.1.8. LCD ( Liquid Crystal Display )

LCD (liquid crystal display) merupakan suatu alat yang dapat menampilkan karakter ASCI sehingga kita bisa menampilkan campuran huruf dan angka sekaligus. LCD didalamnya terdapat sebuah mikroprosesor yang mengendalikan tampilan, kita hanya perlu membuat program untuk berkomunikasi. Bentuk fisik LCD dapat dilihat pada gambar 2.15.

Gambar 2.15. Bentuk Fisik LCD

Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain: a. VCC (Pin 1)

Merupakan sumber tegangan +5V. b. GND 0V (Pin 2)

Merupakan sambungan ground. c. VEE (Pin 3)


(47)

Merupakan Register pilihan 0 = Register Perintah, 1 = Register Data. e. R/W (Pin 5)

Merupakan read select, 1 = read, 0 = write. f. Enable Clock LCD (Pin 6)

Merupakan masukan logika 1 setiap kali pengiriman atau pembacaan data. g. D0 – D7 (Pin 7 – Pin 14)

Merupakan Data Bus 1 -7. h. Anoda ( Pin 15)

Merupakan masukan tegangan positif backlight. i. Katoda (Pin 16)

Merupakan masukan tegangan negatif backlight.

Display karakter pada LCD diatur oleh pin EN, RS dan RW. Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa sebuah data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu dan berikutnya di set.

2.1.9. Relay

Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang di-paralel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.


(48)

Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan relay men-switch arus/tegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman. Relay jenis lain ada yang namanya reedswitch atau relay lidi. Relay jenis ini berupa batang kontak terbuat dari besi pada tabung kaca kecil yang dililitin kawat. Pada saat lilitan kawat dialiri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang on. Ketika arus pada lilitan dihentikan medan magnet hilang dan kontak kembali terbuka (off).

Kontak penghubung relay terdiri dari dua bagian, yaitu : a. Kontak NC (Normally Close)

Kontak penghubung dalam kondisi menutup atau terhubung bila relay tidak mendapat masukan tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi terbuka.

b. Kontak NO (Normally Open)

Kontak penghubung dalam kondisi terbuka bila relay tidak mendapat tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi tertutup.

2.2. Perangkat Lunak (Software)

2.2.1. Bahasa Pemrograman Mikrokontroler

Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STUDIO dan CodeVisionAVR. AVR STUDIO merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated development Environment) yang lengkap, dimana penulisan program, compile,link, pembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroler yang sudah di program. Proses download program ke IC mikrokontroler AVR dapat menggunakan System


(49)

programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.

2.2.2.CodevisionAVR

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded.

File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATCPU/Mega2000 programmers/development boards.

Untuk keperluan debugging sistem embedded, yang menggunakan komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah Terminal. Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk:

a. Modul LCD alphanumeric b. Bus I2C dari Philips

c. Sensor Suhu LM75 dari National Semiconductor

d. Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307 dari Maxim/Dallas Semiconductor

e. Protokol 1-Wire dari Maxim/Dallas Semiconductor

f. Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas Semiconductor g. Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor

h. EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor i. SPI


(50)

k. Delay

l. Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:

a. Set-up akses memori eksternal b. Identifikasi sumber reset untuk chip c. Inisialisasi port input/output

d. Inisialisasi interupsi eksternal e. Inisialisasi Timer/Counter f. Inisialisasi Watchdog-Timer

g. Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi

h. Inisialisasi Pembanding Analog i. Inisialisasi ADC

j. Inisialisasi Antarmuka SPI k. Inisialisasi Antarmuka Two-Wire l. Inisialisasi Antarmuka CAN

m. Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307

n. Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20 o. Inisialisasi modul LCD


(51)

BAB I PENDAHULUAN

1.1. Latar Belakang

Semakin berkembangnya teknologi dan semakin banyaknya kesibukan manusia membuat orang berpikir untuk dapat bekerja lebih efektif dan efisien. Oleh karena itu semua peralatan manusia telah dikembangkan untuk dapat membuat pekerjaan manusia lebih ringan. Salah satu cara mempermudah pekerjaan adalah menjadikan suatu alat mekanik menjadi piranti otomatis. Piranti otomatis dapat membuat pekerjaan lebih cepat dan efisien.

Contohnya dalam hal pengisian air otomatis dari sebuah alat pengisi air (kran air) atau dispenser. Alat pengisi air otomatis semacam ini banyak digunakan pada restoran berskala besar maupun restoran cepat saji di seluruh dunia. Kelemahan alat pengisian air otomatis ini salah satunya gelas yang dapat diisi hanya gelas dengan volume-volume tertentu umumnya dengan pembeda ukuran gelas : kecil, sedang, besar dan sangat besar.

Penggunaan alat pengisi air otomatis semacam itu tentunya kurang fleksibel untuk diaplikasikan pada penjual minuman atau restoran berskala kecil-menengah maupun rumah tangga karena gelas yang digunakan memiliki banyak variasi bentuk dan ukuran.

Untuk mengatasi kelemahan alat pengisi air manual tersebut, penulis akan mencoba membuat perancangan alat pengisi air dalam gelas otomatis dengan judul “PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK & SENSOR HAMBATAN GESER BERBASIS ATMEGA8535”.

Disini penulis memilih alat pendeteksi pengisi cairan berbasis Atmega8535 sebagai alat yang di kembangkan karena sangat mempermudah dan membantu dalam perhitungan/pengukuran nilai sehingga nilai yang dihasilkan lebih cepat, tepat dan akurat.

1.2. Rumusan Masalah


(52)

1. Bagaimana merencanakan dan membuat suatu alat yang dapat mengisi cairan ke dalam gelas secara otomatis dengan ukuran yang berbeda – beda?

2. Bagaimana merancang alat yang dapat mengisi cairan ke dalam gelas secara otomatis dengan menggunakan program codevision AVR ?

3. Bagaimana merancang alat yang dapat mengisi cairan ke dalam gelas dengan menginput volume menggunakan program codevision AVR ?

1.3. Tujuan Penelitian

Adapun tujuan penelitian skripsi ini adalah untuk:

1. Merancang sebuah alat yang dapat mengisi cairan ke dalam gelas secara otomatis menggunakan sensor ultrasonik dan sensor hambatan geser dan dapat mengisi cairan ke dalam gelas berdasarkan inputan volume menggunakan sensor flow meter dan limit switch.

2. Menghasilkan sebuah alat yang berfungsi sebagai instrument dalam pengisian cairan ke dalam gelas.

1.4. Batasan Masalah

Adapun batasan masalah dalam skripsi ini adalah :

1. Sistem pengisian cairan ke dalam gelas pada mode otomatis terbatas dengan ketinggian wadah (gelas) berkisar antara 7 cm – 14 cm.

2. Sistem pengisian cairan ke dalam gelas pada mode volume terbatas dengan volume cairan 50 mL – 3000 mL.

1.5. Manfaat Penelitian

Adapun manfaat dari penelitian dalam skripsi ini :

1. Mempermudah pekerjaan dalam hal pengisian cairan dalam gelas. 2. Meningkatkan efisiensi waktu secara tepat dan hasilnya akurat.

1.6. Metodologi Penelitian

Adapun metode penulisan yang digunakan dalam menyusun dan menganalisa skripsi ini adalah:

1. Studi literatur yang berhubungan dengan perancanangan dan pembuatan alat ini. 2. Perencanaan dan pembuatan alat


(53)

Merencanakan peralatan yang telah dirancang baik software maupun hardware. 3. Pengujian alat

Peralatan yang telah dibuat kemudian diuji apakah telah sesuai yang telah direncanakan.

1.7. Sistematika Penulisan

Sistematika penulisan dalam skripsi ini terdiri dari 5 bab, yaitu: BAB I : PENDAHULUAN

Berisi latar belakang permasalahan, rumusan masalah, batasan masalah, tujuan pembahasan, metodologi pembahasan, dan sistematika penulisan dari penulisan skripsi ini.

BAB II : LANDASAN TEORI

Membahas tentang sensor ultrasonic, limit switch, sensor water flowmeter, sensor resistif geser dan alat – alat pendukung lainnya.

BAB III : PERANCANGAN SISTEM

Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : PENGUJIAN RANGKAIAN

Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat.

BAB V : PENUTUP

Merupakan kesimpulan dari pembahasan pada bab-bab sebelumnya dan kemungkinan pengembangan alat.


(54)

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK & SENSOR

HAMBATAN GESER BERBASIS ATMEGA8535

ABSTRAK

Telah dirancang sebuah alat untuk mengaplikasikan Codevision AVR pada ATMega 8535 dalam mengolah data pengisian cairan pada gelas secara otomatis berdasarkan ketinggian gelas dan secara manual berdasarkan input volume cairan. Pada mode otomatis, gelas akan dideteksi keberadaannya oleh limit switch, kemudian gelas diukur tingginya oleh potensiometer. Selanjutnya, limit switch dan potensiometer mengirimkan data ke mikrokontroler untuk diolah. Kemudian mikrokontroler mengaktifkan waterpump untuk menyalurkan cairan ke dalam gelas. Pengisian cairan di dalam gelas di kontrol oleh sensor ultrasonik HC-SR04 yang disesuaikan dengan hasil pengukuran tinggi gelas oleh potensiometer.

Pada mode volume, setelah menentukan volume cairan yang diinginkan, limit switch akan mendeteksi keberadaan gelas dan mengirimkan data ke mikrokontroler untuk diolah. Selanjutnya, mikrokontroler mengaktifkan waterpump untuk menyalurkan cairan ke dalam gelas. Pengisian cairan di dalam gelas dikontrol oleh flow meter EGO A-7 sesuai dengan jumlah volume yang ditentukan.

Hasil pengujian pada mode otomatis menunjukkan bahwa sistem mampu mengisi cairan ke dalam gelas secara otomatis dengan error 1 cm. Hasil pengujian menunjukkan pada mode volume bahwa sistem mampu mengisi cairan ke dalam gelas dengan error 30 mL.


(55)

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK & SENSOR

HAMBATAN GESER BERBASIS ATMEGA8535

ABSTRACT

The purpose of making this essay is to apply CodeVision AVR in ATMega8535 for data processing liquid loading on the glasses automatically based on the height of the glass and manually based on the input volume of fluid. In automatic mode, the glass will be detected by a limit switch, then glass height measured by a potentiometer. Furthermore, limit switches and potentiometers transmit the data to the microcontroller to be processed. Then the microcontroller activate the water pump to dispense the liquid into a glass. Filling the liquid inside the glass in the control by ultrasonic sensor HC-SR04 that is adapted to the measurement results of high glass by a potentiometer.

In volume mode, after determining the volume of fluid, limit switches will detect the presence of glasses and transmits the data to the microcontroller to be processed. Furthermore, the microcontroller activates waterpump to dispense the liquid into a glass. Filling the liquid inside the glass is controlled by a flow meter AGO A-7 in accordance with the amount specified volume.

The test results in automatic mode indicates that the system is capable of filling the liquid into the glasses automatically with an error of 1 cm. The test results show that the volume mode system capable of filling the liquid into a glass with 30 mL error.


(56)

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS

SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK

& SENSOR HAMBATAN GESER BERBASIS ATMEGA8535

SKRIPSI

DEVI LARASATI

140821011

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2016


(57)

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS

SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK

& SENSOR HAMBATAN GESER BERBASIS ATMEGA8535

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Sarjana

DEVI LARASATI

140821011

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2016


(58)

PERSETUJUAN

Judul : Perancangan Alat Pengisi Cairan dalam Gelas secara Otomatis Menggunakan Sensor Ultrasonik dan Sensor Hambatan Geser Berbasis Atmega8535

Kategori : Skripsi

Nama : Devi Larasati

Nomor Induk Mahasiswa : 140821011

Program Studi : Sarjana (S-1) Fisika Ekstensi

Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Diluluskan di Medan, Agustus 2016

Disetujui Oleh

Departemen Fisika FMIPA USU Pembimbing, Ketua,

Dr. Marhaposan Situmorang Dr. Bisman P,M.Eng.Sc


(59)

PERNYATAAN

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK DAN SENSOR HAMBATAN GESER BERBASIS ATMEGA8535

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Agustus 2016

DEVI LARASATI 140821011


(1)

PERANCANGAN ALAT PENGISI CAIRAN DALAM GELAS SECARA OTOMATIS MENGGUNAKAN SENSOR ULTRASONIK & SENSOR

HAMBATAN GESER BERBASIS ATMEGA8535

ABSTRACT

The purpose of making this essay is to apply CodeVision AVR in ATMega8535 for data processing liquid loading on the glasses automatically based on the height of the glass and manually based on the input volume of fluid. In automatic mode, the glass will be detected by a limit switch, then glass height measured by a potentiometer. Furthermore, limit switches and potentiometers transmit the data to the microcontroller to be processed. Then the microcontroller activate the water pump to dispense the liquid into a glass. Filling the liquid inside the glass in the control by ultrasonic sensor HC-SR04 that is adapted to the measurement results of high glass by a potentiometer.

In volume mode, after determining the volume of fluid, limit switches will detect the presence of glasses and transmits the data to the microcontroller to be processed. Furthermore, the microcontroller activates waterpump to dispense the liquid into a glass. Filling the liquid inside the glass is controlled by a flow meter AGO A-7 in accordance with the amount specified volume.

The test results in automatic mode indicates that the system is capable of filling the liquid into the glasses automatically with an error of 1 cm. The test results show that the volume mode system capable of filling the liquid into a glass with 30 mL error.


(2)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak v Abstract vi Daftar Isi vii Daftar Tabel ix

Daftar Gambar x

Daftar Lampiran xi Bab 1 Pendahuluan 1.1. Latar Belakang ……… 1

1.2. Rumusan Masalah……… 2

1.3. Tujuan Penelitian ……… 2

1.4. Batasan Masalah ……… 2

1.5. Manfaat Penelitian ……… 2

1.6. Metodologi Penelitian ……… 3

1.7. Sistematika Penulisan ……… 3

Bab 2 Landasan Teori 2.1. Perangkat Keras (Hardware) ……… 4

2.1.1. Limit Switch . ……… 4

2.1.2. Sensor Potensiometer Geser ……… 5

2.1.3. Sensor Ultrasonik HC-SR04 ……… 6

2.1.4. Sensor Flow meter EGO A-7 ……… 9

2.1.5. Mikrokontroler ATMega8535 ……… 10

2.1.5.1.Fitur ATMega8535 ……… 12

2.1.5.2.Konfigurasi Pin ATMega 8535 …… 13

2.1.5.3.Peta Memori ATMega 8535 ……… 17

2.1.5.4.Status Register (SREG) ATMega8535 ….. 19

2.1.6. Tactile Push Button ……… 21

2.1.7. Water Pump ………. 21

2.1.8. LCD ………. 22

2.1.9. Relay ………. 23

2.2. Perangkat Lunak (Software) ………. 25

2.2.1. Bahasa Pemrograman Mikrokontroler …… 25

2.2.2. CodevisionAVR ……….……… 25

Bab 3 Perancangan Alat dan Pembuatan Sistem 3.1. Diagram Blok Sistem ……… 28

3.2. Rangkaian Mikrokontroller ATMega8535 ……… 29

3.3. Rangkaian Sensor Ultrasonik ……… 31

3.4. Perancangan Rangkaian LCD ……… 32

3.5. Rangkaian Relay ……… 33

3.6. Rangkaian Input Push Button dan Limit Switch ……… 34


(3)

3.7. Perancangan Rangkaian Sensor Potensio Geser ……… 35

3.8. Perancangan Sensor Flowmeter ……… 36

3.9. Flowchart System ……… 38

Bab 4 Pengujian Alat dan Analisa Rangkaian 4.1. Pengujian Rangkaian Mikrokontroler ATMega8535 ……… 40

4.2. Pengujian dan Analisa Rangkaian Sensor Ultrasonic ……… 40

4.3. Pengujian dan Analisa Rangkaian Sensor Potensio Geser…. 42 4.4. Pengujian dan Analisa Rangkaian Sensor Flowmeter …….. 42

4.5. Pengujian Rangkaian Relay ……… 43

4.6. Pengujian Input Push Button dan Limit Switch ……… 45

4.7. Pengujian Rangkaian LCD ………. 45

4.8. Pengujian Sistem Secara Keseluruhan ……… 46

Bab 5 Kesimpulan dan Saran 5.1. Kesimpulan……… 49

5.2. Saran ……… 49

Daftar Pustaka ……… 50 Lampiran


(4)

DAFTAR TABEL

Halaman

Tabel 2.1. Penjelasan pin pada port B 15

Tabel 2.2. Penjelasan pin pada port C 16

Tabel 2.3. Penjelasan pin pada port D 17

Tabel 4.1. Data Jarak Deteksi Halangan 41

Tabel 4.2. Data Jarak hasil pengukuran potensio geser 42 Tabel 4.3. Data Jarak Hasil Pengujian Sensor Flowmeter 43

Tabel 4.4. Pengujian Relay 44

Tabel 4.5. Hasil pengamatan pada pengujian keypad 45 Tabel 4.6. Pengujian Sistem dengan Mode Auto 47 Tabel 4.7. Pengujian Sistem dengan Mode Volume 48


(5)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Bentuk Fisik Limit Swicth 4

Gambar 2.2. Sistem Kerja Limit Switch 5

Gambar 2.3. Konstruksi dan Simbol Limit Switch 5 Gambar 2.4. Bentuk Fisik Potensiometer Geser 6 Gambar 2.5. Bentuk Fisik Sensor Ultrasonik 6 Gambar 2.6. Cara kerja sensor ultrasonik dengan transmitter

dan receiver (atas), sensor ultrasonik dengan single sensor yang berfungsi sebagai transmitter

dan receiver sekaligus 8

Gambar 2.7. Bentuk Fisik Sensor Water Flow EGO A-7 9 Gambar 2.8. Konfigurasi Pin ATmega8535 PDIP 14

Gambar 2.9. Peta Memori Program 18

Gambar 2.10. Peta Memori Data 18

Gambar 2.11. EEPROM Data Memori 19

Gambar 2.12. Status Register ATMega 8535 19

Gambar 2.13. Push Button Switch 21

Gambar 2.14. Water Pump 22

Gambar 2.15. LCD 22

Gambar 3.1. Diagram Blok Sistem 28

Gambar 3.2. Rangkaian Sistem Minimum

Mikrokontroller ATMEGA 8535 30

Gambar 3.3. Rangkaian Sensor Ultrasonik 31

Gambar 3.4. Keluaran Pulsa Ultrasonik 32

Gambar 3.5. Rangkaian LCD 33

Gambar 3.6. Rangkaian Relay Pengendali Waterpump 34 Gambar 3.7. Rangkaian Input Push Button & Limit Swtich 35 Gambar 3.8. Rangkaian Sensor Potensio Geser 35 Gambar 3.9. Rangkaian Sensor Flowmeter 36 Gambar 3.10. Flowchart Cara Kerja Sistem 37


(6)

DAFTAR LAMPIRAN

 Listing Program

 Skematik Rangkaian Kerja Sistem  Foto Alat

 Data Sheet