Yang kita perlukan adalah :
- Software proteus 8
Komponen
komponen yang di gunakan adalah :
- Atmega16
- Button
- Cap
- Cap-Pol
- Crystal
- LM016L
- LM35
- RES
- Power(Terminals Mode)
- Ground(Terminals Mode)
- Input (Terminals Mode)
- DC VOLTMETER (Instrumen Mode)
Langkah langkah awal yang harus kita lakukan adalah sebagai berikut :
- Terlebih dahulu kita membuka aplikasi proteus 8 dengan cara :
Windows ~ Searach program files (ketikkan proteus 8) ~ enter
·
Kemudian
pada tampilan pertama proteus 8 :
Pilih lah new project ~ ubah nama file menurut tugas anda , lalu next ~ pilih CREATE A SCHEMATIC FROM THE SELECTED TEMPLATE, atur posisi tampilan yang anda mau lalu next ~ pilih “CREATE A PCB LAYOUT FROM THE SE3LECTED TEMPALTED” klik Default , next ~ klik “CREATE FIRMWARE PROJECT” , next ~ Finish .Muncul tampilan seperti di bawah ini :
Pilih lah new project ~ ubah nama file menurut tugas anda , lalu next ~ pilih CREATE A SCHEMATIC FROM THE SELECTED TEMPLATE, atur posisi tampilan yang anda mau lalu next ~ pilih “CREATE A PCB LAYOUT FROM THE SE3LECTED TEMPALTED” klik Default , next ~ klik “CREATE FIRMWARE PROJECT” , next ~ Finish .Muncul tampilan seperti di bawah ini :
- Untuk menambahkan komponen pilih : Library ~ pick parts from library ~ enter , Maka muncul tampiilan seperti ini
- Ketikkan komponen yang di perlukan pada kolom KEYWORDS, dan gambar komponen yang anda cari akan muncul pada kolom SCHEMATIC PREFIEW
Oke, lembar kerja sudah siap di gunakan , sekarang kita mulai memb uat rangkaian suhu LM 35
- Susunlah terlebih dahulu komponen POWER , RES dan BUTTON kemudian sambungkan semuanya
- Tambahkan CAP , CAP-POL , CRYSTAL untuk memutarnya pilih rotasi di bagian kiri bawah pada toolbar lalu sambungkan semua rangkaian nya
- Masukan ATMEGA16, lalu sambungkan pada semua komponen yang sudah terpasang
- Sambungkan input pada salah satu pin yang ada di atmega16
- Tambahkan LM016L, pada sudut kanan atas atmega16 lalu sambungkan kedua komponen tersebut
Kemudian jika sudah selesai buatlah script pada notepad dengan penyimpanan format “.HEX” , yang di gunakan untuk menjalan rangkaian ini yang terletak pada atmega16 nya yang sudah di sambungkan pada LCD berupa tulisan dan temperatur yang telah di ukur oleh LM35, dan fungsi button disini adalah untuk mereset tampilan pada layar LCD.
Ini dia script nya : int suhu;char temp[8];float suhu_celcius;
#include<mega16.h>
#include<stdlib.h>
#include<lcd.h>
#include<delay.h>
// Alphanumeric LCD Module
Functions
#asm
.equ_lcd_port=0x15 ;PORTC
#endasm
#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 needed for the stabilization of the ADC input voltage
delay_us(10);
//Start the AD conversion
ADCSRA=0x40;
//Wait ((ADCSRA& 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
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 ((ADCSRA& 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void main(void)
{
//Analog Comprator initialization
//Analog Comprator: Off
//Analog Comprator Input Capture by Timer/Counter 1: Off
ACSR=0x80
SFIOR=0x00;
//Analog Comprator initialization
//Analog Comprator: Off
//Analog Comprator Input Capture by Timer/Counter 1: Off
ACSR=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;
//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 initialization
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("ElectrO-cOntrOl");
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);
lcd_putsf("SENSOR SUHU LM35");
delay_ms(1000);
{
lcd_clear();
SUHU = read_adc(0);
suhu_celcius = (float) SUHU*500/1023;//rumus untuk mengubah ke dalam derajat celcius
lcd_gotoxy(0,0)
lcd_putsf("ElectrO-cOntrOl");
ftoa(suhu_celcius,1,temp);//mengubah tipe data float ke tipe data array yg akan di tampilkan
di LCD
lcd_gotoxy(0,1);
ldc_puts(temp);
lcd_gotoxy(5,1);
lcd_putchar(0xdf);//menamppilkan karakter derajat
lcd_putsf("C")
delay_ms(500);
};
}
silahkan download file nya disiniiii......
0 komentar:
Posting Komentar