• Tidak ada hasil yang ditemukan

Program pergerakan kran air

BAB IV HASIL DAN PEMBAHASAN

4.6. Pembahasan Software

4.6.5. Program pergerakan kran air

Listing program pergerakan kran air ditunjukkan pada gambar 4.32. Pada saat fungsi ini dieksekusi, mikrokontroler akan memberikan logika high pada motor servo untuk menggerakkan kran air.

Gambar 4.32. Listing program pengendali motor servo

Gambar 4.33. Kran air ON Gambar 4.34. Kran air OFF

Program ini akan dieksekusi setelah pemanas air OFF. Untuk membuka kran air dipergunakan 1 buah motor servo. Motor servo akan bergerak dengan sudut 90° pada saat mikrokontroler memberikan pulsa sebesar 2ms, kran air akan terbuka selama 30 detik setelah itu kran air akan menutup kembali dan proses selesai.

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil percobaan dan pengujian alat produksi obat asma seduh berbasis mikrokontroler ATmega8535 dapat disimpulkan bahwa:

1. Sistem yang dirancang telah bekerja dengan baik dengan waktu yang dibutuhkan oleh sistem dari proses pemotongan sampai penyeduhan adalah 19 menit 16 detik.

2. Waktu yang dibutuhkan blender untuk memotong akar senggugu sampai halus adalah 5 menit.

3. Proses pengeringan serbuk dari akar senggugu dengan suhu 30°C-60°C dan 53°C-60°C mempengaruhi hasil penyeduhan. Hasil pengeringan yang lebih baik yaitu pengeringan yang dilakukan dengan suhu 30°C-60°C.

4. Kenaikan tegangan sensor LM35 pada hasil percobaan dibandingkan dengan datasheet per derajatnya memiliki error 1%.

5. Mekanik masih mempunyai kekurangan dalam penuangan serbuk senggugu ke dalam gelas.

5.2. Saran

Saran untuk pengembangan alat produksi obat asma seduh berbasis mikrokontroler ATmega8535 adalah sebagai berikut :

1. Membuat mekanisme alat untuk proses penuangan dengan sedemikian rupa supaya penuangan dapat berjalan dengan lancar.

2. Sebelum melakukan running ke-2 hendaknya batasan suhu pada pengering dan pemanas air ditambah lalu di program ulang supaya tidak ada kadar air pada serbuk senggugu sehingga saat diseduh, serbuk benar-benar larut.

.

62

DAFTAR PUSTAKA

[1] http://www.iptek.net.id/ind/pd_tanobat/view.php?id=157, diakses tanggal 1 September 2012.

[2] Winoto, Ardi, 2008, Mikrokontroler AVR ATmega8/32/16/8535, Bandung : Informatika.

[3] Adrianto, Heri,2008, Pemrograman Mikrokontroler AVR ATmega16 menggunakan Bahasa C (CodeVision AVR), Bandung : Informatika.

[4] Boleystad, Robert and Nashelsky Englewood Cliffs, Electronic Devices and Circuit Theory, New Jersey, 1996

[5] http://wahyu-rudiyan.blogspot.com/2011/05/driver-motor-l293d-l298.html, diakses tanggal 15 Agustus 2012.

[6] http://telinks.wordpress.com/2010/04/09/rangkaian-sensor-suhu-lm35.html, diakses tanggal 25 Oktober 2012.

[7] http://meriwardana.blogspot.com/2011/11/prinsip-kerja-motor-arus-searah- dc.html, diakses tanggal 15 Agustus 2012.

[8] http://meriwardana.blogspot.com/2011/11/prinsip-kerja-relay.html, diakses tanggal 1 September 2012.

[9] http://elektronika-dasar.com/komponen/limit-switch-dan-saklar-push-on/, diakses tanggal 5 September 2012.

[10] http://elektronika-dasar.com/teori-elektronika/motor-servo.html,diakses tanggal 4 Januari 2013.

[11] http://aryutomo.wordpress.com/2010/12/10/pengatur-tegangan-voltage-regulator/, diakses tanggal 4 Januari 2013.

[12] http://ndolem.blogspot.com/2012/08/cara-menghitung-nilai-resistor-pada.html, diakses tanggal 1 Januari 2013.

63

Lampiran Tabel Hasil Pengujian Alat

Tabel L1. Hasil pengujian sensor pada proses pengeringan Suhu pada

Tabel L2. Hasil pengujian sensor pada proses pemanas air Suhu pada

Tabel L2. (Lanjutan) Hasil pengujian sensor pada proses pemanas air Suhu pada

Termometer (°C)

SUHU PADA LCD (°C) Vout SENSOR (V)

1 2 3 1 2 3

76 76 75 76 0.76 0.76 0.76

78 78 76 78 0.78 0.78 0.78

80 80 77 80 0.8 0.8 0.81

82 82 82 81 0.82 0.82 0.82

84 82 84 84 0.84 0.84 0.84

86 85 86 86 0.86 0.86 0.86

88 88 86 88 0.88 0.89 0.89

90 90 90 91 0.9 0.91 0.91

92 92 91 92 0.92 0.92 0.92

94 94 94 94 0.94 0.94 0.94

96 95 96 97 0.96 0.97 0.97

99 99 98 98 0.98 0.99 0.99

100 100 100 107 1.01 1.00 1.07

Listing Program

L.3.Listing Program Keseluruhan

/*****************************************************

This program was produced by the CodeWizardAVR V1.25.8 Professional Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : PRODUKSI OBAT SEDUH BERBASIS MIKROKONTROLER ATmega8535 Version : 2012

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

// Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) {

// Reinitialize Timer 0 value TCNT0=0x8A;

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

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

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

}

// Declare your global variables here void WAKTU(void)

{

//Menampilkan Data Timer Pada LCD

sprintf(baris1,"Timer = %d",Timer) ;lcd_gotoxy(0,0) ;lcd_puts(baris1);

}

void TAMPIL_SUHU_HEATER(void) {

sprintf(baris,"Suhu Heater = %d",SUHU_HEATER) ;lcd_gotoxy(0,1)

;lcd_puts(baris);

}

void TAMPIL_SUHU_AIR(void) {

sprintf(baris1,"Suhu Air = %d",SUHU_AIR) ;lcd_gotoxy(0,1) ;lcd_puts(baris1);

}

}

SUHU_HEATER=(float)ADC_HEATER*500/1023;

}

PORTB.1=0; //Pemanas Air OFF

PORTD.7=1; //memberikan pulsa high

{

while(1)

MOTOR2_CCW();

lcd_gotoxy(3,1);

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

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0b11110000;

DDRB=0b00001111; //PortB 7-0

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00; //LCD

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0xFF;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 11,719 kHz // Mode: Normal top=FFh // OC0 output: Disconnected

TCCR0=0x05;

TCNT0=0x8A;

OCR0=0x00;

TCCR1A=0xa3;

TCCR1B=0x0b;

TCNT1=0x0000;//000016 bit OCR1A=0x03ff;

OCR1B=0x03ff;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 1500.000 kHz // Mode: Normal top=FFh // OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

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

// INT1: Off // INT2: Off

MCUCR=0x00;

MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC Clock frequency: 750,000 kHz // ADC Voltage Reference: AREF pin // ADC High Speed Mode: Off

// ADC Auto Trigger Source: Free Running

ADMUX=ADC_VREF_TYPE & 0xff;

delay_ms(2); //pulsa servo high diberikan selama 2 ms sudut 90 kran tutup PORTD.7=0;

delay_ms(1000);

lcd_clear();

while (1) {

// Place your code here

if(PIND.6==1) //Tombol Start Di Tekan {

lcd_clear();

lcd_gotoxy(3,0);

lcd_putsf("LOADING...");

delay_ms(500);

lcd_clear();

START();

} else {

lcd_gotoxy(2,0);

lcd_putsf("TEKAN TOMBOL");

lcd_gotoxy(5,1);

lcd_putsf("START");

} };

}

L4.Rangkaian Keseluruhan

Dokumen terkait