Sabtu, 24 Oktober 2015

Aplikasi Pembaca Suhu

APLIKASI PEMBACA SUHU LM35 DENGAN MENAMPILKAN LCD MENGGUNAKAN CODEVISION AVR

Berikut ini adalah Langkah kerjanya:
1.Buka program Proteus 8 Profesional

2. Pilih new >>New Project
 
3. Ganti nama Project seuai dengan keinginan



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 :
a.       Atmega16
b.      Button
c.       Cap
d.      Cap-pol
e.       Crystal
f.       LM016L
g.      LM35
h.      Res
i.        DC VOLMETER
j.        POWER
 
k.      GROUND
 l. INPUT

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 :
      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.
 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.

Selesai!!!

Untuk mendownload file tutorialnya klik dibawah ini :
Download   

mirror link
Download 

0 komentar:

Posting Komentar