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");
} };
}