Berikut ini adalah Langkah kerjanya:
1.Buka program Proteus 8
Profesional2. Pilih new >>New Project
4. Pilih “create a schematic...” >> pilih Landscape A4 untuk mengatur ukuran kertas
5. Pilih “create a PCB layout...” >> pilih Default
6. Pilih “create firmware Project” Lalu klik Next , seperti gambar dibawah ini:
7. Lalu klik Finish
8. Maka akan muncul lembar kerja
seperti berikut ini:
9. Siapkan komponen seperti berikut
ini :
10. Buat lah desain gambarnya seperti
dibawah ini:
11. Pertama siapkan terlebih dahulu
komponennya seperti diatas. Cara untuk menyisipkan atau mencari komponennya
seperti gambar dibawah ini:
12. Atau kalau mau lebih cepat langsung
klik ini :
13 Maka akan tampil gambar nya seperti
dibawah ini :
14. Untuk mencari “POWER” sama “GROUND”
klik seperti gambar dibawah ini :
15. Dan untuk mencari “DC VOLMETER” klik seperti gambar
dibawah ini :
16. Untuk merotasi atau mengubah arah
komponen. Bisa langsung klik kanan pada komponen>> “ rotate....”contoh seperti gambar dibawah ini:
17. Susun lah komponen nya seperti
gambar dibawah ini:
18. Untuk menambahkan kabelnya klik icon ini atau langsung garis saja pada mouse seperti gambar dibawah ini:
19. Setelah diberi kabel gambar nya
akan seperti berikut ini :
20. Untuk mengganti nilai CAP , CAP-POL , CRYTAL perhatikan gambar dibawah ini :
20. Untuk mengganti nilai CAP , CAP-POL , CRYTAL perhatikan gambar dibawah ini :
a. Klik 2x kali pada komponen CAP , lalu ganti pada kolom Capacitance . Lalu ganti menjadi 22nF.
b. klik 2x pada komponen CAP-POL , lalu ganti pada kolom Capacitance . Lalu ganti menjadi 10uF.
c. klik 2x pada komponen CRYSTAL , ganti pada kolom Part Value lalu ganti menjadi 12MHz.b. klik 2x pada komponen CAP-POL , lalu ganti pada kolom Capacitance . Lalu ganti menjadi 10uF.
21. Desain gambar APLIKASI PEMBACA SUHU LM35 DENGAN MENAMPILKAN LCD MENGGUNAKAN CODECISION AVR akan seperti dibawah ini :
Code AVRnya dibawah ini :
int SUHU;
char temp[8];
float suhu_celcius;
#include <mega16.h>
#include <stdlib.h>
#include <lcd.h>
#include <delay.h>
// Alphanumeric LCD Module function
#asm
.equ_lcd_port=0x15 ;PORTC
#endasm
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay need 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;
retunr ADCW;
}
void main(void)
{
// Analog Comparator initialization
// Analog Comparator Input Capture by Timer/Counter 1:Off
ACSRA=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 750.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC Auto Trigger Source: None
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// LCD module initilazation
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("ElectrO-cOntrOl");
lcd_gotoxy(0,1);
lcd_putsf("SENSOR SUHU LM35");
delay_ms(1000);
while(1)
{
lcd_clear( );
SUHU = read_adc(0);
suhu_celcius = (float)SUHU*500/1023;//rumus untuk mengubah kedalam derajat celcius
lcd_gotoxy(0,0);
lcd_putsf("ElectrO-cOntrOl");
ftoa(suhu_celcius, 1 ,temp);//mengubah tipe data float ke tipe data array yang akan ditampilkan
di LCD
lcd_gotoxy(0,1);
lcd_puts(temp);
lcd_gotoxy(5,1);
lcd_putchar(0xdf);//menampilkan karakter derajat
lcd_putsf("C");
delay_ms(500);
};
}
Setelah disave. lalu klik 2x pada komponen Atmega16 , klik pada kolom Program file cari dimana tempat kita simpan notepad code AVR tadi . lalu oke.
tinggal jalankan simulasi dengan klik seperti yang ditunjukkan pada gambar dibawah ini :
terus akan muncul simulasi seperti gambar dibawah ini :
perbedaan DC Volmeter dengan Atmega16 adalah 0,2 Derajat Celcius.Code AVRnya dibawah ini :
int SUHU;
char temp[8];
float suhu_celcius;
#include <mega16.h>
#include <stdlib.h>
#include <lcd.h>
#include <delay.h>
// Alphanumeric LCD Module function
#asm
.equ_lcd_port=0x15 ;PORTC
#endasm
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay need 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;
retunr ADCW;
}
void main(void)
{
// Analog Comparator initialization
// Analog Comparator Input Capture by Timer/Counter 1:Off
ACSRA=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 750.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC Auto Trigger Source: None
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// LCD module initilazation
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("ElectrO-cOntrOl");
lcd_gotoxy(0,1);
lcd_putsf("SENSOR SUHU LM35");
delay_ms(1000);
while(1)
{
lcd_clear( );
SUHU = read_adc(0);
suhu_celcius = (float)SUHU*500/1023;//rumus untuk mengubah kedalam derajat celcius
lcd_gotoxy(0,0);
lcd_putsf("ElectrO-cOntrOl");
ftoa(suhu_celcius, 1 ,temp);//mengubah tipe data float ke tipe data array yang akan ditampilkan
di LCD
lcd_gotoxy(0,1);
lcd_puts(temp);
lcd_gotoxy(5,1);
lcd_putchar(0xdf);//menampilkan karakter derajat
lcd_putsf("C");
delay_ms(500);
};
}
Setelah disave. lalu klik 2x pada komponen Atmega16 , klik pada kolom Program file cari dimana tempat kita simpan notepad code AVR tadi . lalu oke.
tinggal jalankan simulasi dengan klik seperti yang ditunjukkan pada gambar dibawah ini :
terus akan muncul simulasi seperti gambar dibawah ini :
0 komentar:
Posting Komentar