Bab 5. Kesimpulan
5.2 Saran
Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah:
1.
Supaya rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif2.
Dengan beberapa pengembangan dan penyempurnaan sistem dari alat ini akan dapat lebih baik lagi hasilnya.3.
Alat yang telah dibuat sebaiknya pada ruangan yang terang, tidak disarankan pada ruangan yang gelap, karena lux meter dirancang untuk mengukur suatu ruang.4.
Diharapkan kedepannya alat ini dapat di kembangkan dengan tiga mode range pengukuran intensitas cahaya.5.
Diharapkan kedepannya desain dari lux meter ini lebih praktis dan mudah untuk dibawak-bawak.6.
Diharapkan kedepannya untuk merancang dudukan LDR lebih bagus dan compatible agar pembacaan pada LDR nya lebih tepat.7.
Diharapkan kedepannya menggunakan kabel yang sesuai dengan yang dibutuhkan.54
DAFTAR PUSTAKA
[1]. Ali,Muhammad MT,Ariadie Chandra N MT, dan Andika Asmara SPd.2013.Modul Proteus Profesional Untuk Simulasi Rangkaian Digital dan Mikrokontroler.Pendidikan Teknik Elektro FT UNY.6 [15 Juli 2014].
[2]. Andrianto,Heri.2013.Pemograman Mikrokontroler AVR ATMega 16 Menggunakan Bahasa C (CodeVisionAVR) .Informatika Bandung.Bandung.
[3]. Bioshop,Owen.2002.Elektronika Dasar.Erlangga.Jakarta
[4]. Budioko,Totok.2005.Belajar Dengan Mudah dan Cepat Pemrograman Bahasa C dengan SDCC ( Small Device C Compiler ) Pada Mikrokontroler AT 89X051/AT 89C51/52 Teori,Simulasi dan Aplikasi.Gava Media.Yogyakarta.
[5]. Chandra N,Ariodie MT,Muhammad Ali MT,dkk.2012. Modul Proteus Profesional 7.5 Isis Digital Generator. Pendidikan Elektro FT UNY.1;9-10[16 Juli 2014].
[6]. Datasheet ATMega 8
[7]. Gabriel,JF.2008.Fisika Lingkungan.Hipokrata.Jakarta.
[8]. Hartono,Jugiyanto.1993.Konsep Dasar Pemrograman Bahasa.Andi Yogyakarta.
[9]. Saputra,Virgi dan Hartanto,Huriawati.2002.Intisari Fisika.Hipokrates.Jakarta. [10]. Setiawan,Sulhan.2006.Mudan dan Menyenangkan Belajar
Mikrokontroler.Andi Yogyakarta.Yogyakarta.
[11]. Susilo,Deddy.2010.48 Jam Tuntas Mikrokontroler MCS51 & AVR.Andi Yokyakarta.Yogyakarta.
[12].Utama,Teguh Putra.2011.Perancangan Alat Pemonitor Besaran-Besaran
Listrik Berbasis Mikrokontroler ATMega.[Skripsi].Medan:Universitas Sumatera Utara,Program
Sarjana.
[13].Wanto.2008.Rancangan Bangunan Pengukuran Intensitas Cahaya Tampak Berbasis Mikrokontroler.[SKripsi].Jakarta:Universitas Indonesia.
56
/***************************************************** This program was produced by the
CodeWizardAVR V2.05.3 Standard Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 4/18/2014 Author : Andriani
Company : Metrology & Instrumentasi Comments:
Chip type : ATmega8 Program type : Application
AVR Core Clock frequency: 12.000000 MHz Memory model : Small
External RAM size : 0 Data Stack size : 256
*****************************************************/ #include <mega8.h> #include <stdio.h> #include <delay.h> #include <string.h> // Alphanumeric LCD functions #include <alcd.h> #define ADC_VREF_TYPE 0xC0 // 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; }
unsigned int sensor1,sensor2,sens1,sens2,i; char buff[16];
void main(void) {
// Declare your local variables here // Input/Output Ports initialization // 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=0x03;
DDRB=0x00;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T PORTD=0x00;
DDRD=0x08;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
58 TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// USART initialization // USART disabled UCSRB=0x00;
// 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: Int., cap. on AREF ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization
// TWI disabled TWCR=0x00;
// Alphanumeric LCD initialization // Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 0 // RD - PORTD Bit 2 // EN - PORTD Bit 1 // D4 - PORTD Bit 7 // D5 - PORTD Bit 6 // D6 - PORTD Bit 5 // D7 - PORTD Bit 4 // Characters/line: 16 lcd_init(16); PORTD.3=1; lcd_gotoxy(0,0); lcd_putsf("ANDRIANI NIRWANA"); delay_ms(1000); lcd_clear(); while (1) {
// Place your code here
sensor1=read_adc(0)*1.0487272727272; sprintf(buff,"Luxmeter = %d",sensor1); lcd_gotoxy(0,0); lcd_puts(buff); delay_ms(500); lcd_clear(); } }
54
DAFTAR PUSTAKA
[1]. Ali,Muhammad MT,Ariadie Chandra N MT, dan Andika Asmara SPd.2013.Modul Proteus Profesional Untuk Simulasi Rangkaian Digital dan Mikrokontroler.Pendidikan Teknik Elektro FT UNY.6 [15 Juli 2014].
[2]. Andrianto,Heri.2013.Pemograman Mikrokontroler AVR ATMega 16 Menggunakan Bahasa C (CodeVisionAVR) .Informatika Bandung.Bandung.
[3]. Bioshop,Owen.2002.Elektronika Dasar.Erlangga.Jakarta
[4]. Budioko,Totok.2005.Belajar Dengan Mudah dan Cepat Pemrograman Bahasa C dengan SDCC ( Small Device C Compiler ) Pada Mikrokontroler AT 89X051/AT 89C51/52 Teori,Simulasi dan Aplikasi.Gava Media.Yogyakarta.
[5]. Chandra N,Ariodie MT,Muhammad Ali MT,dkk.2012. Modul Proteus Profesional 7.5 Isis Digital Generator. Pendidikan Elektro FT UNY.1;9-10[16 Juli 2014].
[6]. Datasheet ATMega 8
[7]. Gabriel,JF.2008.Fisika Lingkungan.Hipokrata.Jakarta.
[8]. Hartono,Jugiyanto.1993.Konsep Dasar Pemrograman Bahasa.Andi Yogyakarta.
[9]. Saputra,Virgi dan Hartanto,Huriawati.2002.Intisari Fisika.Hipokrates.Jakarta. [10]. Setiawan,Sulhan.2006.Mudan dan Menyenangkan Belajar
Mikrokontroler.Andi Yogyakarta.Yogyakarta.
[11]. Susilo,Deddy.2010.48 Jam Tuntas Mikrokontroler MCS51 & AVR.Andi Yokyakarta.Yogyakarta.
[12].Utama,Teguh Putra.2011.Perancangan Alat Pemonitor Besaran-Besaran
Listrik Berbasis Mikrokontroler ATMega.[Skripsi].Medan:Universitas Sumatera Utara,Program
Sarjana.
[13].Wanto.2008.Rancangan Bangunan Pengukuran Intensitas Cahaya Tampak Berbasis Mikrokontroler.[SKripsi].Jakarta:Universitas Indonesia.
56
/***************************************************** This program was produced by the
CodeWizardAVR V2.05.3 Standard Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 4/18/2014 Author : Andriani
Company : Metrology & Instrumentasi Comments:
Chip type : ATmega8 Program type : Application
AVR Core Clock frequency: 12.000000 MHz Memory model : Small
External RAM size : 0 Data Stack size : 256
*****************************************************/ #include <mega8.h> #include <stdio.h> #include <delay.h> #include <string.h> // Alphanumeric LCD functions #include <alcd.h> #define ADC_VREF_TYPE 0xC0 // 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; }
unsigned int sensor1,sensor2,sens1,sens2,i; char buff[16];
void main(void) {
// Declare your local variables here // Input/Output Ports initialization // 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=0x03;
DDRB=0x00;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T PORTD=0x00;
DDRD=0x08;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
58 TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// USART initialization // USART disabled UCSRB=0x00;
// 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: Int., cap. on AREF ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization
// TWI disabled TWCR=0x00;
// Alphanumeric LCD initialization // Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 0 // RD - PORTD Bit 2 // EN - PORTD Bit 1 // D4 - PORTD Bit 7 // D5 - PORTD Bit 6 // D6 - PORTD Bit 5 // D7 - PORTD Bit 4 // Characters/line: 16 lcd_init(16); PORTD.3=1; lcd_gotoxy(0,0); lcd_putsf("ANDRIANI NIRWANA"); delay_ms(1000); lcd_clear(); while (1) {
// Place your code here
sensor1=read_adc(0)*1.0487272727272; sprintf(buff,"Luxmeter = %d",sensor1); lcd_gotoxy(0,0); lcd_puts(buff); delay_ms(500); lcd_clear(); } }