Nama : A.RACHIM
Kelas : 1 CD
Nim : 061530701208
Sebelum kita membuat rangkaian schematic seperti gambar diatas, ada beberapa langkah-langkah yang harus kita lakukan.
Berikut ini adalah Langkah kerjanya:
1.Buka program Proteus 8 Profesional
2. 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
9. Siapkan komponen seperti berikut ini :
10. Buat lah desain gambarnya seperti dibawah ini:
13 Maka akan tampil gambar nya seperti dibawah ini :
16. Untuk merotasi atau mengubah arah komponen. Bisa langsung klik kanan pada komponen>> “ rotate....”contoh seperti gambar dibawah ini:
18. Untuk menambahkan kabelnya klik icon ini atau langsung garis saja pada mouse seperti gambar dibawah ini:
21. Desain gambar APLIKASI PEMBACA SUHU LM35 DENGAN MENAMPILKAN LCD MENGGUNAKAN CODECISION AVR akan seperti dibawah ini :
dan masukkan codeAVR nya ke notepad >>save . ganti format notepad dari .txt menjadi .hex
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);
};
}
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.
perbedaan DC Volmeter dengan Atmega16 adalah 0,2 Derajat Celcius.
Tidak ada komentar:
Posting Komentar