RSS

APLIKASI PEMBACAAN SUHU LM35 DENGAN PENAMPIL LCD MENGGUNAKAN CODEVISION AVR

16 Apr



Aplikasi pembacaan suhu (monitoring suhu) ini, menggunakan sensor LM35 yang merupakan sebuah sensor suhu dengan harga yang relatif murah dan output nya sudah berupa tegangan yang sudah linear.

Menurut datasheet LM35, untuk kenaikan 1 derajat Celcius akan mengakibatkan perubahan 10mV terhadap output tegangannya. Dimana saat suhu 0° Celcius sensor ini mempunyai tegangan offset sebesar 0 V. Untuk mendapatkan datasheet LM35, silakan download disini.

Disini saya akan melakukan pembacaan suhu dalam satuan derajat Celcius dengan range pengukuran 0°-100° Celcius. Sehingga tegangan output dari LM35 adalah 0-1V.

Tegangan output tersebut sudah dapat dibaca oleh mikrokontroler melalui ADC tanpa diperlukan sebuah penguat tegangan. Aplikasi ini telah saya buat dalam bentuk real (sesungguhnya) dan juga saya simulasikan menggunakan Proteus. Schematic LM35 yang kemudian ditampilkan pada LCD dapat dilihat diatas.

Sedangkan untuk programnya menggunakan CodeVision AVR, berikut adalah listing program lengkapnya.

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

#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 for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

void main(void)
{
// 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: 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_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);//float to array, mengubah tipedata float k tipe data array yg kan 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);
    };
}

Jika ingin mendapatkan file program dalam bentuk CodeVision AVR dan simulasi proteus silakan download pada link dibawah ini.

File program CodeVision AVR dan simulasi proteus suhu LM35

 
6 Comments

Posted by on April 16, 2011 in AVR Projects

 

Tags: , , ,

6 responses to “APLIKASI PEMBACAAN SUHU LM35 DENGAN PENAMPIL LCD MENGGUNAKAN CODEVISION AVR

  1. azzoarq

    June 23, 2011 at 11:29

    bagus, ilmu yang bermanfaat, tapi waktu saya mo nyoba file proteusnya waktu dibuka sama proteus 7.7 sp2 (download disini juga, trims) proteus kebuka sekilas dan langsung exit (close)……kenapa ya… (sebelumnya pakai pake proteus versi lama gak bisa buka)…..tolong dong file proteus di konversi ke proteus lama (versi dibawahnya) terimakasih banyak atas bantuunanyya..

     
    • ElectrO-cOntrOl Team

      June 23, 2011 at 16:53

      klo saya coba di tempat saya normal ko…. ok, nanti saya cek lagi… terima kasih atas masukannya!!

       
      • azzoarq

        June 28, 2011 at 08:34

        ujicoba pake proteus 7.8 SP2 (http://www.sonsivri.com/forum/index.php?topic=38649.0) juga masih ga mau buka, waktu open file…project file 11.DSN (file proteus aplikasi pembacaan suhu LM35…) proteus langsung close/exit…mohon pencerahannya…..atau kalo boleh japri mas minta link proteus yag mas gunakan biar saya downloadnya. Mail saya azzoarq@yahoo.com. Trimakasih

         
      • ElectrO-cOntrOl Team

        June 28, 2011 at 12:33

        klo memang file tersebut corrupt, solusinya lebih baik anda gambar rangkaiannya dari awal… saya akan perbaiki file tersebut, makasih buat sarannya…
        UPDATE: file untuk lm35 sudah saya perbaiki, jika ditemukan kesalahan pada file proteus yg lain, tolong kasih tau saya

         
  2. azzoarq

    June 29, 2011 at 14:56

    mas, project yang disimulasikan di web ini semuanya pakai proteus versi berapa?….trims

     

Leave a comment